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

本文涉及的产品
交互式建模 PAI-DSW,每月250计算时 3个月
模型训练 PAI-DLC,100CU*H 3个月
模型在线服务 PAI-EAS,A10/V100等 500元 1个月
简介: 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
相关文章
|
9天前
|
NoSQL 关系型数据库 MySQL
《docker高级篇(大厂进阶):4.Docker网络》包括:是什么、常用基本命令、能干嘛、网络模式、docker平台架构图解
《docker高级篇(大厂进阶):4.Docker网络》包括:是什么、常用基本命令、能干嘛、网络模式、docker平台架构图解
107 56
《docker高级篇(大厂进阶):4.Docker网络》包括:是什么、常用基本命令、能干嘛、网络模式、docker平台架构图解
|
2月前
|
安全 物联网 物联网安全
量子通信网络:安全信息交换的新平台
【10月更文挑战第6天】量子通信网络作为一种全新的安全信息交换平台,正逐步展现出其独特的优势和巨大的潜力。通过深入研究和不断探索,我们有理由相信,量子通信网络将成为未来信息安全领域的重要支柱,为构建更加安全、高效、可靠的信息社会贡献力量。让我们共同期待量子通信网络在未来的广泛应用和美好前景!
|
16天前
|
机器学习/深度学习 数据采集 人工智能
基于Huffman树的层次化Softmax:面向大规模神经网络的高效概率计算方法
层次化Softmax算法通过引入Huffman树结构,将传统Softmax的计算复杂度从线性降至对数级别,显著提升了大规模词汇表的训练效率。该算法不仅优化了计算效率,还在处理大规模离散分布问题上提供了新的思路。文章详细介绍了Huffman树的构建、节点编码、概率计算及基于Gensim的实现方法,并讨论了工程实现中的优化策略与应用实践。
61 15
基于Huffman树的层次化Softmax:面向大规模神经网络的高效概率计算方法
|
3月前
|
XML 网络协议 物联网
基于surging的木舟IOT平台如何添加网络组件
【8月更文挑战第30天】在基于 Surging 的木舟 IOT 平台中添加网络组件需经历八个步骤:首先理解 Surging 及平台架构;其次明确组件需求,选择合适技术库;接着创建项目并配置;然后设计实现网络功能;再将组件集成至平台;接着进行详尽测试;最后根据反馈持续优化与维护。具体实施时应参照最新文档调整。
69 10
|
3月前
|
缓存 算法 物联网
基于AODV和leach协议的自组网络平台matlab仿真,对比吞吐量,负荷,丢包率,剩余节点个数,节点消耗能量
本系统基于MATLAB 2017b,对AODV与LEACH自组网进行了升级仿真,新增运动节点路由测试,修正丢包率统计。AODV是一种按需路由协议,结合DSDV和DSR,支持动态路由。程序包含参数设置、消息收发等功能模块,通过GUI界面配置节点数量、仿真时间和路由协议等参数,并计算网络性能指标。 该代码实现了节点能量管理、簇头选举、路由发现等功能,并统计了网络性能指标。
189 73
|
2月前
|
机器学习/深度学习 存储 分布式计算
未来趋势:探索GraphRAG在大规模异构网络环境下的挑战与机遇
【10月更文挑战第11天】随着互联网和物联网技术的快速发展,数据不仅数量庞大,而且类型多样,形成了复杂的大规模异构网络。这些网络中包含了不同类型的节点(如文本、图像、视频等)以及它们之间的多种关系。如何有效地处理这种大规模异构网络,以便进行内容理解与生成,是当前研究的一个热点问题。Graph Retrieval-Augmented Generation (GraphRAG) 框架作为一种新兴的方法,在这一领域展现出了巨大的潜力。本文将深入探讨GraphRAG的基础理论、构建方法,并分析其在未来大规模异构网络环境下的挑战与机遇。
213 3
|
3月前
|
机器学习/深度学习 人工智能 算法
【新闻文本分类识别系统】Python+卷积神经网络算法+人工智能+深度学习+计算机毕设项目+Django网页界面平台
文本分类识别系统。本系统使用Python作为主要开发语言,首先收集了10种中文文本数据集("体育类", "财经类", "房产类", "家居类", "教育类", "科技类", "时尚类", "时政类", "游戏类", "娱乐类"),然后基于TensorFlow搭建CNN卷积神经网络算法模型。通过对数据集进行多轮迭代训练,最后得到一个识别精度较高的模型,并保存为本地的h5格式。然后使用Django开发Web网页端操作界面,实现用户上传一段文本识别其所属的类别。
115 1
【新闻文本分类识别系统】Python+卷积神经网络算法+人工智能+深度学习+计算机毕设项目+Django网页界面平台
|
3月前
|
机器学习/深度学习 人工智能 算法
【果蔬识别系统】Python+卷积神经网络算法+人工智能+深度学习+计算机毕设项目+Django网页界面平台
【果蔬识别系统】Python+卷积神经网络算法+人工智能+深度学习+计算机毕设项目+Django网页界面平台。果蔬识别系统,本系统使用Python作为主要开发语言,通过收集了12种常见的水果和蔬菜('土豆', '圣女果', '大白菜', '大葱', '梨', '胡萝卜', '芒果', '苹果', '西红柿', '韭菜', '香蕉', '黄瓜'),然后基于TensorFlow库搭建CNN卷积神经网络算法模型,然后对数据集进行训练,最后得到一个识别精度较高的算法模型,然后将其保存为h5格式的本地文件方便后期调用。再使用Django框架搭建Web网页平台操作界面,实现用户上传一张果蔬图片识别其名称。
69 0
【果蔬识别系统】Python+卷积神经网络算法+人工智能+深度学习+计算机毕设项目+Django网页界面平台
|
4月前
|
云安全 安全 物联网
惊叹:《黑神话:悟空》所在 Steam 发行平台遭网络狂袭,威胁流量猛增两万倍!
8月24日,热门游戏《黑神话:悟空》的玩家发现主要发行平台Steam无法登录,引发“#Steam崩了#”登上微博热搜。起初猜测是在线人数过多导致,但完美世界竞技平台公告表示系遭受DDoS攻击。奇安信Xlab实验室详细解析了此次攻击,发现攻击指令暴增两万多倍,涉及多个僵尸网络。此次攻击对Steam造成严重影响,但也凸显了网络安全的重要性。为保障游戏环境安全,需加强服务器防护并选择可靠的防御公司。德迅云安全提供高防服务器、DDoS高防IP和安全加速SCDN等服务,助力游戏企业提升安全性。
|
4月前
|
机器学习/深度学习 前端开发 数据挖掘
基于Python Django的房价数据分析平台,包括大屏和后台数据管理,有线性、向量机、梯度提升树、bp神经网络等模型
本文介绍了一个基于Python Django框架开发的房价数据分析平台,该平台集成了多种机器学习模型,包括线性回归、SVM、GBDT和BP神经网络,用于房价预测和市场分析,同时提供了前端大屏展示和后台数据管理功能。
124 9

热门文章

最新文章