一文读懂大规模图神经网络平台AliGraph

2019阿里云峰会·上海开发者大会于7月24日盛大开幕,本次峰会与未来世界的开发者们分享开源大数据、IT基础设施云化、数据库、云原生、物联网等领域的技术干货, 共同探讨前沿科技趋势。本文整理自开源大数据专场中阿里巴巴资深技术专家李永先生的精彩演讲,将为大家分享AliGraph:大规模图神经网络平台。

开源大数据专场PPT下载

以下内容根据演讲视频以及PPT整理而成。

一、PAI机器学习平台介绍

1.PAI机器学习平台介绍

2014年,阿里巴巴开始在集团内部打造一个统一的机器学习平台,PAI。到目前,PAI已经开始在公有云上对外进行服务。PAI的宗旨是打造一个简单易用且功能强大的机器学习服务,让用户享受到机器学习在业务上带来的收益。下图是PAI的界面,从模型训练到模型部署,用户都可以在右边界面通过DAG方式完成。
一文读懂大规模图神经网络平台AliGraph

2.PAI机器学习平台特性

一站式机器学习平台:PAI覆盖了从数据处理、特征加工、模型训练到在线预测的一站式的集群平台,支持从数据加工一直到模型预测的整个学习流程。
STOA机器学习算法:PAI提供了非常多的state of art的机器学习算法。PAI提供的机器学习算法有两大特点,第一点是PAI提供了很多先进经典的机器学习算法和阿里内部自研的,打磨过的算法,性能和效果都非常的出色。第二点,同时支持流&批处理:阿里内部流式的处理深度学习引擎叫Blink,开源的是Flink,PAI在Flink上基于流批一体的理念设计实现了Alink,一个流批统一的机器学习算法库。
PAI-Tensorflow:阿里的达摩院和搜索推荐广告等关键业务一直在持续的使用PAI-Tensorflow引擎。总体上,PAI-Tensorflow无论是单机的性能还是分布式的Scalability,相比较开源版本都是非常的优越的。
弹性的模型预测服务:模型训练最终都需要提供线上的实时预测服务,通过PAI提供的弹性模型预测服务,大大方便用户部署模型,简化模型部署的负担。同时,服务还支持自动扩缩容和AB test等功能。

二、图库神经网络

近几年,随着大规模算力的提供,深度学习发展的非常迅速,并且在很多领域得到了大量应用。比如,淘宝拍立淘服务,基本的流程是用户用手机拍一张图片,底层会基于CNN的网络构建出主题检测模型,模型可以迅速的从拍摄图片中检测到图片的主题。再根据主題从商品库中进行检索,最后返回跟主题较为相似的产品。

社会可以看作是一张大的社交网络图,比如电商用户,购买的商品以及购买行为都属于图中的元素。如下图,其中两个元素非常关键,既Vertex和Edga。除此之外还有属性,点与点的属性,如一个人的角色。边也有属性,比如人与人的关系。 整个社交网络图主要有两个特点,第一个特点它是一种非结构化的数据。第二点,图本身携带的信息非常的丰富。
一文读懂大规模图神经网络平台AliGraph

1.常见的图计算数据库

在图数据库网络被设计之前已经有非常多的工作能够基于图片获取到更高阶的信息,总体上可以分三类。
图数据库:图数据库和关系数据库比较类似,关系数据库通过二阶的数据对数据进行建模。但很难通过结构化的方式对图片进行建模。因此,市面上出现了Neo4J和Titan,它们可以支持OLTP的处理。
实时图分析查询:目前阿里云即将要发布一个产品,GraphCompute,可以支持实时的图分析查询服务。 GraphCompute和图数据库相比,首先GraphCompute是OLAP的服务,不支持OLTP。其次,GraphCompute能够支持非常大的规模图,基于pattern对图进行查询。比如知识图谱就可以基于实时图分析查询进行搭建。
离线图处理:Spark GraphX,最早是从Google的一篇论文中提炼出来的。众所周知,Map Reduce不适合对图进行处理。图处理有几个特点,图本身相互节点之间相互依赖,而且图有很强的局部性。目前,离线图处理产品有Pregel,PowerGraph以及其它开源的产品。
一文读懂大规模图神经网络平台AliGraph

2. 深度学习在图上应用的挑战

如何能够基于图提炼出更高阶的特征?从2010年开始,陆续有学者研究如何让深度学习和复杂的图进行关联,从而提出了图神经网络的概念。 目前深度学习在图上应用的挑战主要有四点:
非规整的数据:图是非规整的数据。图像是二维的数据,而自然语言一维的信息,其结构是非常规整的。
点和边异构:当点的属性一样时,可以构成同构图,如一个教室里的人就可以构成一个社交图。社交图表示所有的点性质都是相同的。异构则相反,比如用户购买商品,商品和人不属于同一类性质,这时就构成了异构图。如何处理好同构图和异构图,尤其对于异构图的处理挑战非常大。
规模巨大:目前业务中需要处理的图规模非常大,包含百亿级别的点和千亿级别的边。这样规模的计算已经远远超过原来的图像和自然语言的处理。
动态变化:图本身是动态变化的。比如小红书每天会上架非常多商品,同时也会下架商品。所以每一天的图的结构都是不同的。

3.图卷积网络:GCN

图上卷积目前两种做法,一种做法是定义Laplacian矩阵,另外一个做法是对空间进行卷积。图卷积网络与深度学习有比较相似的三点。第一,GCN网络是分层的。此外,GCN网络能够支持非线性变换。第三点,深度学习强调更多的是端到端的学习(N2N),早期做图处理时需要进行预处理,而GCN不再需要做预处理,图中潜在的信息都可以通过网络里面的系统学习。但图卷积网络依然无法在工业界中得到大规模的应用。因为图卷积网络会对整个图做计算,图中大部分点的分布是PowerLaw分布,比如微博大V粉丝远超普通人的粉丝。图卷积网络的计算量非常的庞大,而且非常的不均衡。

4.图神经网络:GraphSAGE

GraphSAGE和图卷积网络有两个不同点。首先,GraphSAGE只对邻居做采样,并不会把所有邻居的特征加起来做计算,GraphSAGE通过做采样以大幅度减少计算。同时GraphSAGE能够适配Power law分布。第二点,完成采样之后,对邻居的特征信息进行aggregation,再通过这些信息做预测。GraphSAGE能够相对比较容易的处理更大规模的数据。

5.GCN应用

点分类
如下图,有黄色、灰色和紫色的点,但不知道灰色的点属于哪一类。业务过程中经常会遇到很多类似点分类的问题,通过GCN很能够容易对灰色的点进行分类。
一文读懂大规模图神经网络平台AliGraph

关系预测
GCN第二个应用是关系预测。打开微博,后台经常会推荐一些原来的好友。通过GCN的算法可以更好的预测人与人之前的潜在的关系。
一文读懂大规模图神经网络平台AliGraph

目前,图神经网络已经得到了广泛应用,比如社交领域、推荐领域、知识图谱和生命科学等,同时,阿里的电商和支付宝业务已经将图神经网络应用于检查作弊的流量以及线上支付的安全性场景。
一文读懂大规模图神经网络平台AliGraph

三、AliGraph:大规模GNN平台

1.AliGraph平台介绍

阿里从2018年开始打造AliGraph平台。AliGraph被称之为新一代的大数据图神经网络平台,它的认知计算模型相比现有的机器学习有了突破性的进展,被誉为人工智能2.0的平台。AliGraph主要分四层,分别是数据层、采样层、算子层和GNN算法层,平台的设计理念是希望打造一个采样建模训练一体化的GNN的平台。
一文读懂大规模图神经网络平台AliGraph

AliGraph编程范式有三个,Sample,Aggregation和Combine。首先,基于邻居做采样。采样完成之后做Aggregation。然后基于深度学习的技术做Combine,完成效果的拟合。
一文读懂大规模图神经网络平台AliGraph

2.AliGraph平台特点

AliGraph系统包含五大特点。AliGraph支持大规模的图存储、支持高性能的图采样的引擎、在AliGraph内核层面,针对稀疏内核实现了大量的优化、提供自创SGCN算法、而且AliGraph的线性扩展性非常出色。
一文读懂大规模图神经网络平台AliGraph

3.基于内存的图的存储

在图的存储方面,AliGraph提供了基于内存的图存储。为了支持百亿级的点和千亿级的边规模的图处理,AliGraph提供了分布式的图引擎,能够支持大规模数据的存储,还支持存储的Scalability。基于Vertex Cut,对图进行分片。为了更好的支持采样的性能,阿里自研了一个出入度的缓存优化策略。
一文读懂大规模图神经网络平台AliGraph

下图是AliGraph的采样和缓存的效果。基于出入度分析的策略比随机的方法快40%-50%,比LRU的方法快了50%以上。
一文读懂大规模图神经网络平台AliGraph

4.分布式采样

采样策略对于图神经网络的模拟效果是非常关键的。AliGraph支持丰富的采样策略,如shuffle,支持节点的出度和入度。AliGraph也支持多跳的采样功能。目前,AliGraph的采样性能可以做到毫秒级别,200个节点接近20亿的QBS的采样能力。为了能够支持用户自定义采样逻辑,AliGraph引用了模块化设计理念。AliGraph可以支持本地或者全局的负采样。
一文读懂大规模图神经网络平台AliGraph

5.稀疏内核优化

机器学习中的计算基本都是矩阵的相乘。但由于图是非常稀疏的,所以不应该直接将一个稠密矩阵的计算应用到稀疏的矩阵计算上,这会导致处理性能非常差。AliGraph对稀疏的内核进行了优化。通过计算的转化,将乘法转换成加法,既能够加速整个计算的效率,同时也能够减少数据拷贝带来的Overhead。目前,优化之后性能达到了原先三倍以上的性能。
一文读懂大规模图神经网络平台AliGraph

6.SGCN的算法

下图展示了阿里自创的SGCN算法。左边是原始的GCN算法,SGCN算法引入隐式的Embedding,大幅度提升算法性能。同时SGCN还引入了额外的泛化能力,相比开源算法的能力,SGCN算法能力更好。
一文读懂大规模图神经网络平台AliGraph

7. 分布式扩展

AliGraph训练模型是去中心化的。AliGraph基于分布式负采样(Distribute Negative Sampling),能够大幅度减少通讯占比。还有,因为已经做了去中心化,AliGraph能够支持多点的异步。通过以上三点,AliGraph的算法能够超过数十亿以上的点,而且可以随着节点的增加而增加。
一文读懂大规模图神经网络平台AliGraph

8.业务效果

在手淘的业务场景中,基于AliGraph的图神经网络模型,端到端的训练速度提升了一倍以上,发现性曝光率提升了4%以上,目前这个效果是非常难以达到的。

上一篇:ECharts+BaiduMap+HT for Web网络拓扑图应用


下一篇:Hitachi Vantara推出采用Lumada软件的全新交钥匙物联网设备