【ArchSummit架构师峰会】探讨数据与人工智能相互驱动的关系>>> 了解详情
写点什么

“AI 新贵”图神经网络算法及平台在阿里的大规模实践

  • 2019-07-08
  • 本文字数:4243 字

    阅读完需:约 14 分钟

“AI新贵”图神经网络算法及平台在阿里的大规模实践

图神经网络是 2019 年当之无愧的“AI 新贵”,但由于图神经网络训练固有的复杂性,支持高效、可扩展的并行计算非常困难,GNN 平台目前也成为了各大科技公司重点关注的领域。


今年 3 月,阿里巴巴在阿里云峰会北京站上发布了大规模图神经网络平台 AliGraph,InfoQ 第一时间对 AliGraph 的论文进行了详细解读,引起业界广泛关注。


近日,InfoQ 有幸采访到了 AliGraph 项目的作者之一、阿里达摩院智能计算实验室的杨红霞博士,进一步探讨了 AliGraph 的架构设计原则、AliGraph 项目在阿里巴巴的落地应用和图神经网络目前面临的挑战。


“结合了深度学习的图计算,以及增加深度学习可解释性的生成模型 Scalable Bayesian DL 会是未来 3 到 5 年的重点方向。此外,更加重要的是,算法模型的结果需要和使用者产生互动。例如,只推荐商品是很难真正改变消费者认知,但如果通过 embedding 结果的聚合,抽象地学习用户群体的兴趣点,反映到对应的商品,并通过文本、图片和视频生成等显性的表达,与消费者产生互动,就能够取得比较成功的深远影响。”

AliGraph 因什么而生?

AliGraph 平台从 2018 年 6 月份左右开始构建,它想要解决的问题都源自阿里自身在海量数据业务中遇到的挑战,其中对数据和模型挑战最大的部门就是搜索推荐和广告部门,AliGraph 有相当多需求是从搜索推荐和广告业务中剥离出来的痛点。但同时,AliGraph 也是跨部门合作的成果,其开发人员来自达摩院智能计算、计算平台 PAI 团队等不同团队,成果也服务于阿里巴巴集团的许多部门,如搜索推荐、广告、安全部、大文娱等。


绝大多数与现实商业场景相关的图数据表现出四个特点,即大规模、异构、属性化和动态。例如,现在的电商的图通常包含数十亿个顶点和边,这些顶点和边具有各种类型和丰富的属性,并且会随着时间的推移快速演变。这些特性为嵌入和表征图数据带来了巨大的挑战,可以总结为以下四个问题:


  1. 如何提高大规模图上 GNN 的时间和空间效率?

  2. 如何将异构信息优雅地集成到一个统一的嵌入结果中?

  3. 如何统一保存和定义拓扑结构信息和非结构属性信息?

  4. 如何设计动态的有效增量 GNN 方法?


原先已有的 GNN 方法大多只能解决上述问题中的 1-2 项,然而,现实世界中的商业数据通常面临更多的挑战,AliGraph 正是为了缓解这种情况而生。它是一个全面而系统的 GNN 解决方案,提供了一套对应的系统和算法来解决更实际的问题,可以更好地支持各种 GNN 方法和应用。


AliGraph 的系统组件由存储层、采样层和操作层组成,其中存储层可以存储大规模的原始数据以满足高级操作和算法的快速数据访问要求;采样层优化了 GNN 方法中的关键采样操作;操作层提供了 GNN 算法中两个常用的应用操作的优化实现,可以加速计算过程。另外,AliGraph 系统提供了一个灵活的接口来设计 GNN 算法,现有的 GNN 方法都可以很容易地在 AliGraph 上实现。


据介绍,AliGraph 平台的架构设计主要遵循两条核心原则:一是算法和系统紧密结合,首先从业务上剥离出了很多有挑战性的问题,研发了一些非常重要的方向的基础模型,同时对系统提出需求,进行平台的研发;二是从阿里的实际业务出发,更全面地考虑算法模型问题。


目前 AliGraph 已经在阿里巴巴的业务系统中实际部署,同时也已经上线阿里 PAI 平台,集团内部和外部用户均能基于 AliGraph 定制自己的算法模型解决问题。

AliGraph 在阿里巴巴的落地应用

淘宝电商的商品推荐场景是目前 AliGraph 在实际业务中应用的一个典型案例。其中图神经网络主要应用于用户兴趣点的挖掘和聚合、兴趣点的表示和推荐的可解释性两大方面。AliGraph 的开发团队结合图神经网络和文本自动生成在推荐的业务云主题下做了初步尝试,不仅可以进行用户兴趣点的挖掘和推理,而且增加了模型的可解释性,在实际业务中也取得了较为显著的提升,相关指标如发现性、疲劳度、每千次展示支付等,分别增加5%-90%不等


杨红霞表示,下一代推荐系统不会再是单品推荐这样的形式,而一定是通过各种内容(文本、图片、视频等)对消费者进行全方位影响,真正做到理解和影响消费者认知,云主题就是搜索推荐产品在打造的这样一个场景。在通过图嵌入对用户的兴趣进行聚合之后,形成个性化群体的会场,从单品推荐向群体会场、培育心智升级,通过多种形式影响消费者的心智,包括单品推荐、推荐理由、攻略、知识卡片、基于场景广告嵌入、视频推荐等。


机器学习的可解释性正变得越来越重要,如果能使机器学习算法做到可解释,就可以帮助决策者决定是否信任机器学习的结果。在推荐这个场景下,所谓可解释的推荐就是在给出推荐结果的同时,给出对结果的支持论据(即解释)。最常见的一种流程是后处理(Post-hoc),后处理的方法是在推荐结果已经给出后再进行解释,解释内容不受推荐系统的影响,即使换了一个推荐系统,只要给定同一个用户和物品,解释都是一样的。后处理方法主要研究解释文本的生成,分为三种方法:基于规则;基于检索;基于生成式模型。基于规则和基于检索的方法在生成解释文本时,都需要模板,可能会让用户觉得千篇一律、缺乏惊喜。研发团队通过卖家提供的文案和被展示商品的点击率,利用改进的序列生成技术自动写出文本,从数据中不断学习,进一步提高了解释的多样性和说服力。


对于 GNN 模型的选择,经过大量的线上线下实验,研发团队最终选择了 GraphSage,并给予复杂场景的需求做了通用的延伸,包括 multi-edge、sampling、heterogeneous、multi-modal 等模块。



最终 GNN 模型应用于手淘全量月活用户和精品池,数据规模超数十亿节点、超百亿边,是阿里集团目前最大规模的 heterogeneous attributed graph embedding 模型。基于学习到的 user/item embedding 进行聚合,可以方便地识别用户的兴趣点并召回相关商品。



AliGraph 目前还在如下业务指标实现了一些突破:


  • 百亿级别分钟级别构图完成

  • 200 个节点每秒钟上亿点采样性能

  • Semi-GCN 性能大幅提升,2 跳的性能提升 6 倍,3 跳性能提升 50 倍

  • 基于 SparseKernel 的 GCN 算法无损性能提升 3 倍

  • 百亿边(200worker, 20ps)规模,训练性能无损失,节省 SQL 时间 3-10 小时,节省存储 300T 左右

  • 模型指标,如发现性、疲劳度、每千次展示支付等,增加 5%-90%不等

图神经网络的前景和挑战

杨红霞认为,可以将人工智能 1.0 约等于深度学习模型。这几年深度学习确实在很多领域都得到了非常显著的成果,但它也存在比较大的局限性,其中最广受诟病的两大瓶颈分别是可推理和可解释性。这几年学术界和工业界都在探索新的方向,最近也有一些学者,如谷歌的 DeepMind 和清华大学的张钹院士在主推所谓的人工智能 2.0。这至少说明了深度学习之后,我们还应该做一些其他的尝试。而现在业界普遍认为,图神经网络结合了图计算和深度学习,可能恰好可以弥补前面提到的深度学习无法解决的两个缺陷。


在工业界,尤其是拥有大量数据的 IT 公司,一直以来可能更关心的是做预测,因为有流量红利在,只要数据流量足够大,算法的预测效果就不会太差。但现在已经有很多平台参与到流量竞争中,比如无数 APP 都在分割消费者的有效时间,消费者的流量红利已经比较有限了。如果在这种情况下,企业还是只是做预测这件事情,是远远不够的。所以越来越多人开始尝试做更多因果的分析和推理,比如在淘宝推荐商品的时候,推理用户为什么需要买这件商品,然后把推荐理由和商品同时推给用户,从而优化用户的使用体验。这是未来算法发展的重要方向之一。


图神经网络在预测和因果推理上都有很大的应用潜力,但不局限于此。同时,因果推理也可以用其他方式去做,比如统计方法会用得比较多,但统计会有比较大的假设的要求。那么在大数据且假设不能满足的前提下,我们到底该怎么做,GNN 是其中一个解决方案,但要真正在因果推理上落地,还有比较多的工作需要做。


但总体而言,图神经网络的表达能力非常强,只要是可以应用深度学习模型的场景,图神经网络就能派上用场。


当然,正如深度学习非常依赖海量数据,GNN 同样需要大量数据。GNN 本身算法复杂度更高,对数据要求也更高,不过现在业界并不缺数据。当数据非常多且类型也各不相同的时候,算法模型的表达能力是否可以匹配上如此复杂的数据,才是当下最有挑战的一件事情。


当前构建大规模图神经网络面临的比较大的挑战,杨红霞认为主要来自对系统的高要求。在早前的小数据时代,算法只要放到单机上就可以运行,后来大数据时代来临之后,涌现了很多分布式算法。但图对系统的要求不太一样,原来的分布式算法模型会将样本做随机切分,然后 send 到不同的 worker 中进行分布式算法的运算,而图不适合做简单的随机切分,因为这样可能会把相邻节点 send 到另外一个 worker 里。


对于 GNN 来说,对相邻节点的信息做聚合是非常重要且必不可少的一步,我们需要把相邻节点的信息聚合到目标节点,进行信息的增量更新,如果做了随机切分,可能就会把这些相邻节点散布到其他的 worker,导致 IO 通信量非常高。数据量本身根本不是问题,现在阿里解决的经常是拥有超大数据量的场景问题,可能图中包含近百亿节点、超千亿条边,如果采用随机切分,系统根本无法处理如此巨大的 IO 消耗,这是一个很大的挑战。正是由于图神经网络对于系统的要求非常高,近来谷歌、亚马逊、微软都在推自己的图神经网络相关的系统。


除此之外,构建大规模图神经网络的另一个挑战来自算法。如何将业务场景中的问题剥离出来,针对性地设计对应算法的解法,然后跟系统结合,都不是简单的事情。


目前业界已经推出的图神经网络平台上算法模型仍比较基础,AliGraph 在异构图、属性信息和超大规模图方面已经有了一些成果,但动态图、时序图方面依然在探索中。因为动态图和时序数据计算复杂度非常高,就会导致计算耗时长,但工业界对于时延的要求又很高,二者难兼备,所以目前动态图的 GNN 还没有特别好的企业级落地案例。


在杨红霞看来,现在的图神经网络有点像 4 年前的深度学习,已经开始发挥作用并得到了越来越多关注,其未来的潜力也已经得到肯定。但只有将计算复杂度降低到一定程度之后,才可能在工业界得到更好的推广


据了解,AliGraph 现在依然在紧张的开发过程中,开发团队正在进行各方面优化,包括性能和算法的优化、稀疏内核的优化和硬件层面的优化,上层 API 的开发也在进行中。杨红霞向 AI 前线透露,经过阿里实际业务场景的锤炼之后,AliGraph 计划在今年的 12 月份对外开源

采访嘉宾介绍

杨红霞,达摩院智能计算实验室资深算法专家,杜克大学博士。拥有顶级论文 40 余篇。曾任 IBM Watson 研究员、Yahoo!主任数据科学家等职。目前致力于研发新一代结合超大规模知识图谱和图计算的推理系统。



公众号推荐:

跳进 AI 的奇妙世界,一起探索未来工作的新风貌!想要深入了解 AI 如何成为产业创新的新引擎?好奇哪些城市正成为 AI 人才的新磁场?《中国生成式 AI 开发者洞察 2024》由 InfoQ 研究中心精心打造,为你深度解锁生成式 AI 领域的最新开发者动态。无论你是资深研发者,还是对生成式 AI 充满好奇的新手,这份报告都是你不可错过的知识宝典。欢迎大家扫码关注「AI前线」公众号,回复「开发者洞察」领取。

2019-07-08 11:5510596
用户头像
蔡芳芳 InfoQ主编

发布了 781 篇内容, 共 494.2 次阅读, 收获喜欢 2748 次。

关注

评论

发布
暂无评论
发现更多内容

手机

ES_her0

28天写作 3月日更

GO训练营第9周——网络编程

Glowry

(28DW-S8-Day27) 销售流程重整

mtfelix

28天写作

DCache 分布式存储系统|Set, ZSet 缓存模块的创建与使用

TARS基金会

nosql 缓存 分布式 MySQL 高可用 TARS

Wireshark 数据包分析学习笔记Day15

穿过生命散发芬芳

Wireshark 数据包分析 3月日更

产品经理训练营 Week9 学习心得

Mai

JVM - 类加载机制

insight

3月日更

JDBC—往MySQL中写入Blob数据时,出现错误:com.mysql.jdbc.PacketTooBigException: Packet for query is too large (5724349 > 1048576)

打工人!

Java MySQL JDBC Blob

如何评估需求优先级?

石云升

项目管理 28天写作 职场经验 管理经验 3月日更

经典排序算法分析

roseduan

算法 排序算法

github 这样用,事半功倍

hepingfly

Java GitHub 搜索 使用技巧

产品经理训练营 Week9 作业

Mai

filecoin云算力软件开发|filecoin云算力APP系统开发

系统开发

mybatis实现分页的几种方法

xiezhr

mybatis 分页 mybatis分页

Python 的特殊变量 __name__

HoneyMoose

收藏!这些IDE使用技巧,你都知道吗

xcbeyond

IDEA 技巧 3月日更

Go训练营第5周——评论系统架构设计

Glowry

uni-app跨端开发H5、小程序、IOS、Android(二):开发工具HBuilderX使用技巧

黑马腾云

微信小程序 uni-app App 3月日更 Hbuilderx

低代码/无代码,作为IT开发界的“新英雄”它究竟有何神技?

优秀

低代码 无代码开发

聊聊 Python 自动化脚本部署服务器全流程(详细)

星安果

Python 自动化 服务器 部署

算法攻关-最长公共子序列_1143

小诚信驿站

刘晓成 小诚信驿站 28天写作 算法攻关 最长公共子序列

后台产品导航栏原型设计小教程

lenka

3月日更

GO训练营第6、7周——可用性设计

Glowry

GO训练营第8周——分布式缓存与事务

Glowry

Python基础之:Python的数据结构

程序那些事

Python 程序那些事 python数据结构

filecoin挖矿软件开发|filecoin挖矿APP系统开发

系统开发

"无密码时代"已经来临!

龙归科技

身份认证

B+树索引优点

一个大红包

3月日更

容器 & 服务:Kubernetes扩容

程序员架构进阶

Docker 容器 kubernete 28天写作 3月日更

翻译:《实用的Python编程》06_04_More_generators

codists

Python

filecoin矿机系统开发|filecoin矿机软件APP开发

系统开发

“AI新贵”图神经网络算法及平台在阿里的大规模实践_AI&大模型_蔡芳芳_InfoQ精选文章