写点什么

“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!主任数据科学家等职。目前致力于研发新一代结合超大规模知识图谱和图计算的推理系统。



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

发布了 800 篇内容, 共 552.8 次阅读, 收获喜欢 2789 次。

关注

评论

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

python scrapy极细拆解,打开Spider类看内容,顺手爬了一下优设网

梦想橡皮擦

12月日更

人人都能读懂的react源码解析(大厂高薪必备)

buchila11

React React Hooks

如果TGO是经纪人,我们会怎么办?(9/28)

赵新龙

28天写作

大厂面试算法题之链表

程序员学长

2.react心智模型(来来来,让大脑有react思维吧)

buchila11

React

Flutter 详解 CupertinoSegmentedControl 分段控制器

阿策小和尚

28天写作 0 基础学习 Flutter 内容合集 签约计划第二季 12月日更

李飞飞力荐:阿里巴巴高可用数据库解决方案

博文视点Broadview

管人理事

张老蔫

28天写作

【量化】实战获取资产组合理论模型的数据源

恒生LIGHT云社区

资源 量化投资 量化

【LeetCode】二叉搜索树中的搜索Java题解

Albert

算法 LeetCode 12月日更

Go语言学习查缺补漏ing Day6

恒生LIGHT云社区

golang 编程语言

通过接口上传文件到百度网盘

为自己带盐

28天写作 百度网盘 签约计划第二季 12月日更

好习惯影响孩子的一生

Tiger

28天写作

模块一课程作业

李晓笛

前端面试题之模块化开发

@零度

大前端 模块化

Perforce用户文章转载:用了P4这一招,九成问题能自救

龙智—DevSecOps解决方案

报错 perforce

万众提供素材,万众联合创作

mtfelix

28天写作

API标准化对Dapr的重要性

行云创新

dart系列之:浏览器中的舞者,用dart发送HTTP请求

程序那些事

flutter 浏览器 dart 程序那些事 12月日更

架构师实战营模块一作业

圈圈gor

「架构实战营」

数据分析从零开始实战专栏导航@老表

老表

Python 数据库 数据分析 pandas 数据分析从零开始实战

基于MRS-Hudi构建数据湖的典型应用场景介绍

华为云开发者联盟

数据仓库 数据湖 华为云 Apache Hudi MRS-Hudi

【报名中】我们把你对 ShardingSphere 的好奇,都放在这场 Meetup 中

SphereEx

数据库 开源社区 ShardingSphere Meetup SphereEx

第三天用 Mac,我安装了这些玩意

悟空聊架构

Mac 28天写作 悟空聊架构 12月日更

年度重磅!华为云2021应用构建技术实践精选集,免费下载!

华为云开发者联盟

数据库 大数据 云原生 数字化 华为云

java开发之java开发环境的快速构建

@零度

Java java开发环境

了解 Flutter 的Timer类和Timer.periodic【Flutter专题19】

坚果

flutter 28天写作 签约计划第二季 12月日更

给弟弟的信第7封|离开大学的喜与悲

大菠萝

28天写作

Go语言逆向技术:恢复函数名称算法

华为云开发者联盟

二进制 函数 go语言 逆向分析 恢复函数名称

高效设计一个LRU

bigsai

数据结构 算法 LRU

Android C++系列:Linux网络(二)通信过程

轻口味

c++ android 28天写作 12月日更

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