腾讯开源全栈机器学习平台 Angel 3.0,支持三大类型图计算算法

2019 年 10 月 19 日 新智元

AI WORLD 2019 世界人工智能峰会精彩重放!


10 月 18 日,2019 中关村论坛平行论坛 ——AI WORLD 2019 世界人工智能峰会在北京启幕。新智元杨静、科大讯飞胡郁、微软王永东、华为王成录、英特尔宋继强、旷视及智源学者孙剑、滴滴叶杰平、AWS 张峥、依图颜水成、地平线黄畅、autowise.ai 黄超等重磅嘉宾中关村论剑,重启充满创新活力的 AI 未来。峰会现场,新智元揭晓 AI Era 创新大奖,并重磅发布 AI 开放创新平台和献礼新书《智周万物:人工智能改变中国》。回放链接:


【腾讯科技】
客户端:https://view.inews.qq.com/a/TEC2019101600718500    
PC 端:http://v.qq.com/live/p/topic/74606/preview.html
【海淀融媒】
https://m.toutiaoimg.cn/i6748195040323062540
【新浪科技】
http://video.sina.com.cn/l/p/1728577.html



  新智元报道  

来源:腾讯大数据团队
【新智元导读】腾讯开源自研机器学习框架Angel,在稀疏数据高维模型的训练上具有独特优势,擅长推荐模型和图网络模型相关领域。本文带来详细技术解读,新智元 AI 朋友圈与大咖一起讨论吧~

腾讯大数据推动了腾讯从Oracle数据库到自研大数据平台的迁移, 如今已能实现秒级的采集、监控和报表;开源自研机器学习框架Angel,它由腾讯与北京大学联合研发,兼顾了工业界的高可用性和学术界的创新性。

作为面向机器学习的第三代高性能计算平台,腾讯Angel在稀疏数据高维模型的训练上具有独特优势,擅长推荐模型和图网络模型相关领域。当前业界主流的大规模图计算系统主要有Facebook的Big Graph、Power graph、Data bricks的 Spark GraphX等,但这些系统并不都支持图挖掘、图表示学习、图神经网络的三大类型算法。

近日, 腾讯大数据团队分享了Angel在图计算领域应用。

Angel:
https://github.com/Angel-ML/angel

Angel专注图计算场景

图(Graph)是一个表达能力非常强的结构, 几乎无处不在。图计算就是研究在大规模图数据下,如何高效计算,存储和管理图数据。如微信、QQ是社交网络的图,支付是红包网络、面对面网络、转帐网络等支付网络的图。图计算在QQ上的典型应用则是好友推荐,依据共同好友个数进行判断,共同好友越多,更有可能成为好友。

目前业界的大规模图计算系统主要有Facebook的Big Graph, Power graph, Data bricks的 Spark GraphX,  Gemini, 以及阿里的Euler,但这些系统并不都支持三大类型算法,例如图挖掘、图表示学习、图神经网络。


在此行业背景之下,专注于复杂图计算场景的腾讯Angel应运而生。Angel是腾讯开源的大规模分布式机器学习平台,专注于稀疏数据高维模型的训练。从性能上来看,Angel优于现有图计算系统,能够支持十亿级节点、千亿级边的传统图挖掘算法,以及百亿边的图神经网络算法需求。Angel可运行于多任务集群以及公有云环境,具备高效容错恢复机制,能够进行端到端的训练,新算法容易支持,同时,Angel能够支持图挖掘、图表示、图神经网络算法,具备图学习的能力。


Angel的PS是针对高维稀疏模型设计的, 而大图是非常高维、有多达十亿的节点,也是稀疏的, 因此PS架构也适合处理图数据。图算法有多种类型,如图挖掘算法、图表示学习、图神经网络。由于Angel的PS有自定义接口, 可以灵活地应对这几类算法,整个平台不需要改动,只要实现所需接口即可。关于可靠性问题,Angel从一开始就是针对共享集群、公有云环境设计的, 并与Spark的结合. Spark也具有很强的稳定性。易用性主要指与上下游是否完整配套。Spark On Angel可以与大数据处理结合,PyTorch On Angel可以跟深度学习结合,将把大数据计算、深度学习统一起来,用户不用借助第三方平台就能完成整个流程, 易用性好。


Angel可以运行在Yarn/Kubernetes环境上,它上面现在支持三类算法

  • 图挖掘: PageRank、Kcore、Closeness,共同好友、三角结构、社团发现、其他;

  • 图神经网络: GCN、GraphSage、DGI等神经网络算法;

  • 图表示学习: LINE、Node2Vec算法。


Angel的架构,最上面是一个参数服务器,下面分别是PyTorch on Angel和Spark on Angel。图计算前期有繁锁的预处理,用户偏好Spark或者GraphX。Angel将PS和Spark结合,整合Spark大数据能力和PS服务器能力,统一了图计算流程。PyTorch on Angel是为图神经网络而设计的,运行在Spark on Angel之上。图神经网络最近发展迅速, 但大规模的图神经网络会遇到大数据问题,也会遇到机器学习问题. 将Angel和PyTorch结合起来,就可以同时应对大数据与机器学习问题. 右边是PyTorch on Angel的架构。上面是所支持的算法,包括GCN、GraphSage、R-GCN和一些无监督算法。

从平台的易用性角度考虑。图计算任务的执行流程复杂,通常包括数据预处理, 如去除重复边、过滤异常点,图划分等。在某些场景下还会计算节点的特征、计算结点或边的权重/测度,如PageRank。另一些场景需要对图做拼接、生成等。最后才是图神经网络的训练。在做图神经网络训练时,训练只是其中很小的一部分,需要在上下游花费比较多的精力。其他图计算引擎,只是关心图计算这一个核心步骤; 而Angel将整个流程整合在一套系统里,一个任务把这个事情都做完,避免这些任务之间衔接的开销,也不用中间结果落地。这是Angel跟大数据生态、深度学习生态结合带来的好处。

从可靠性的角度,图算法对错误的容忍度较低,不应该发生错误。但因为节点多,维度高, 大规模图计算容错成本很高。Spark有一套容错机制,任务如果挂掉,可以重起。Angel PS也有一套容错机制,即写checkpoint。在图算法里,不同的数据结构的使用或访问方式不一样,有些数据是不变的, 如图结构, 但有些数据会改变, 比如模型、消息。对于不同的数据,Angel采取不同的容错方法。对于图神经网络与图表示学习,可以稍微的容忍它出现一些错误。但图挖掘算法,可能错误容忍度比较低,需要一些高的容错。


Angel 中的图计算算法

图算法比较多,先将这些算法分类,每一类采取不同的优化方式去实现和优化。
 

第一类是 三角结构类 ,数三角形。这类算法是暴力算法, 没有捷径可走。例如共同好友就是三角结构。基于三角结构可以实现一系列算法, 如Cluster Rank, Clustering coefficient, Ego Network.  

第二类算法是 连通分量 ,有WCC和SCC。这类算法核心的思想是要做图的折叠或者图的压缩。这类算法有一定的捷径可走,发现连通结点后,就可以进行合并,迭代时图在会不断变小,就可以加快迭代速度。

第三类算法是 节点的排序 。比如PageRank、KCore、Closeness,这类算法的迭代轮数较多,可能好几百轮。有一些方法加速它,主要有两种,一种是有没有办法让它的迭代变得少一点,另一种是有没有办法让它每一轮迭代越来越快。

第四类算法是 图表示学习的算法 , 也是没有捷径可走, 主要考虑一些图的划分策略。像GNN,也归为一类

最后一类算法是 图神经网络 。图有很多节点,每个节点都有自己的特征。经过一层层的图卷积,每个节点上的特征就输出一个表示,再经过一层图卷积,又输出另外一层表示,不断的改变图每一个节点的表示,最后根据任务类型需求,对每一个节点的表示把它都加起来,再做softmax,对全图做分类。对任何两个节点,算他们俩俩相交,计算它们的概率,预测它们俩是不是有边。它的核心是一个图,一层卷积,两层卷积,然后输出。图神经网络的问题是图数据规模比较大,需要做深度学习。


Angel 图计算性能

效果对比,跟GraphX做了对比,也与其他系统做过对比。

PageRank性能是GraphX的8倍左右

(数据集:8亿节点120亿网络;机器配置:E5-2680v4*2/16G*16/4T*12/10GE*2)


图神经网络/图表示学习性能对比:


(数据集:8亿节点120亿网络;机器配置:E5-2680v4*2/16G*16/4T*12/10GE*2)

雅虎有一篇论文,按照论文实现了一遍,性能不好,优化后性能大概提升了5-6倍。图神经网络,用Angel,跟阿里的Euler系统对比,在比较小的网络,(1亿边),性能差距还是比较大的,如果在100亿的图,因为它消耗的资源比较多,就没有跑出来,Angel每一轮都跑出来了。

登录查看更多
1

相关内容

FPGA加速系统开发工具设计:综述与实践
专知会员服务
65+阅读 · 2020年6月24日
TensorFlow Lite指南实战《TensorFlow Lite A primer》,附48页PPT
专知会员服务
69+阅读 · 2020年1月17日
NLP基础任务:文本分类近年发展汇总,68页超详细解析
专知会员服务
57+阅读 · 2020年1月3日
深度学习算法与架构回顾
专知会员服务
81+阅读 · 2019年10月20日
俄罗斯Yandex公司ClickHouse团队访问计算所
中国科学院网络数据重点实验室
13+阅读 · 2019年6月12日
阿里云发布机器学习平台PAI v3.0
雷锋网
12+阅读 · 2019年3月22日
今日头条推荐系统架构演进之路
QCon
32+阅读 · 2017年6月21日
Arxiv
35+阅读 · 2019年11月7日
A Sketch-Based System for Semantic Parsing
Arxiv
4+阅读 · 2019年9月12日
Arxiv
5+阅读 · 2017年7月23日
VIP会员
Top
微信扫码咨询专知VIP会员