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

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

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

开源大数据专场PPT下载

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

一、PAI机器学习平台介绍

1.PAI机器学习平台介绍

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

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。除此之外还有属性,点与点的属性,如一个人的角色。边也有属性,比如人与人的关系。 整个社交网络图主要有两个特点,第一个特点它是一种非结构化的数据。第二点,图本身携带的信息非常的丰富。
image.png

1.常见的图计算数据库

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

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

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

3.图卷积网络:GCN

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

4.图神经网络:GraphSAGE

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

5.GCN应用

点分类
如下图,有黄色、灰色和紫色的点,但不知道灰色的点属于哪一类。业务过程中经常会遇到很多类似点分类的问题,通过GCN很能够容易对灰色的点进行分类。
image.png

关系预测
GCN第二个应用是关系预测。打开微博,后台经常会推荐一些原来的好友。通过GCN的算法可以更好的预测人与人之前的潜在的关系。
image.png

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

三、AliGraph:大规模GNN平台

1.AliGraph平台介绍

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

AliGraph编程范式有三个,Sample,Aggregation和Combine。首先,基于邻居做采样。采样完成之后做Aggregation。然后基于深度学习的技术做Combine,完成效果的拟合。
image.png

2.AliGraph平台特点

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

3.基于内存的图的存储

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

下图是AliGraph的采样和缓存的效果。基于出入度分析的策略比随机的方法快40%-50%,比LRU的方法快了50%以上。
image.png

4.分布式采样

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

5.稀疏内核优化

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

6.SGCN的算法

下图展示了阿里自创的SGCN算法。左边是原始的GCN算法,SGCN算法引入隐式的Embedding,大幅度提升算法性能。同时SGCN还引入了额外的泛化能力,相比开源算法的能力,SGCN算法能力更好。
image.png

7. 分布式扩展

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

8.业务效果

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

相关实践学习
阿里云图数据库GDB入门与应用
图数据库(Graph Database,简称GDB)是一种支持Property Graph图模型、用于处理高度连接数据查询与存储的实时、可靠的在线数据库服务。它支持Apache TinkerPop Gremlin查询语言,可以帮您快速构建基于高度连接的数据集的应用程序。GDB非常适合社交网络、欺诈检测、推荐引擎、实时图谱、网络/IT运营这类高度互连数据集的场景。 GDB由阿里云自主研发,具备如下优势: 标准图查询语言:支持属性图,高度兼容Gremlin图查询语言。 高度优化的自研引擎:高度优化的自研图计算层和存储层,云盘多副本保障数据超高可靠,支持ACID事务。 服务高可用:支持高可用实例,节点故障迅速转移,保障业务连续性。 易运维:提供备份恢复、自动升级、监控告警、故障切换等丰富的运维功能,大幅降低运维成本。 产品主页:https://www.aliyun.com/product/gdb
相关文章
|
4月前
|
网络协议 算法 网络安全
EVE-NG强大的网络模拟器和实验平台
随着网络技术的迅猛发展,人们对网络安全和网络性能问题的关注日益增加。在这个领域中,EVE-NG作为一种备受欢迎的网络模拟器和实验平台,备受青睐。
|
5月前
|
网络协议 算法 网络安全
EVE-NG:一种强大的网络模拟器和实验平台
随着网络技术的飞速发展,网络安全和网络性能问题越来越受到人们的关注。在这个领域,EVE-NG是一种广受欢迎的网络模拟器和实验平台。
|
8月前
|
Cloud Native 编译器 芯片
倚天平台业务访存及网络延时性能调优实践
本文主要内容是业务在倚天平台上的性能调优实践,重点基于芯片的 NUMA 特性和一些其他硬件特性,进行访存和网络延时方面的性能调优方法介绍。
|
6月前
|
JavaScript Java 关系型数据库
ssm+vue的课程网络学习平台管理系统(有报告)。Javaee项目,ssm vue前后端分离项目。
ssm+vue的课程网络学习平台管理系统(有报告)。Javaee项目,ssm vue前后端分离项目。
|
28天前
|
机器学习/深度学习 人工智能 测试技术
基于keras平台CNN神经网络模型的服装识别分析
基于keras平台CNN神经网络模型的服装识别分析
|
3月前
|
网络协议 物联网 Linux
WireGuard 系列文章(五):Netmaker 简介 - 创建和管理 WireGuard 网络的平台
WireGuard 系列文章(五):Netmaker 简介 - 创建和管理 WireGuard 网络的平台
|
4月前
|
网络协议 算法 网络安全
EVE-NG是不是一种强大的网络模拟器和实验平台呢?
随着网络技术的飞速发展,网络安全和网络性能问题越来越受到人们的关注。在这个领域,EVE-NG是一种广受欢迎的网络模拟器和实验平台。
|
5月前
|
SQL 前端开发 NoSQL
IT社区|网络社区平台|基于SpringBoot的IT社区平台
IT社区|网络社区平台|基于SpringBoot的IT社区平台
|
5月前
|
机器学习/深度学习 TensorFlow 算法框架/工具
【Python机器学习】神经网络中全连接层与线性回归的讲解及实战(Tensorflow、MindSpore平台 附源码)
【Python机器学习】神经网络中全连接层与线性回归的讲解及实战(Tensorflow、MindSpore平台 附源码)
89 0
|
5月前
|
监控 JavaScript 前端开发
什么是网络货运平台?
什么是网络货运平台?
183 0