在每年诸如618大促这样的线上购物节中,一个个性化且精准的营销推广于电商平台来说如虎添翼,所以如何在海量的商品中为消费者挑选出他们最有可能购买的产品,成为不少电商平台技术发力的重点。而这背后必不可少的便是AI。
深度学习作为一个相对成熟的AI技术,在过去作为互联网红利的出口被广泛应用在工业级生产和企业的发展中,但随着数据量的指数级增加和规则型数据类型的限制,深度学习的业务场景拓展变得更加困难。
于是,市场开始将目光放在了图神经网络(GNN)技术上。图神经网络能够做出更精准的预测,为每一位用户提供不同的个性化服务,实现精准化营销,这也是如今互联网企业进行二次转型的技术突破口。
当前,华为云图神经网络借助ModelArts的高效神经网络训练优势,正在大幅度提高总体计算效率,让商品推荐在内的图神经网络应用更为成熟。
当前的主流深度学习还是CNN、RNN等技术(对应图像识别、文本挖掘等领域)。但传统深度学习技术(CNN、RNN)并不能有效的处理结构数据,如金融领域、基因蛋白质网络、社交网络、商品推荐等。如果深度学习想要拓展到更多的关系场景,在图数据上的高阶学习采用图神经网络(GNN)技术将会取得更佳的效果。
以知识图谱为例,其作为图神经网络的应用比起技术本身它的场景更为人所熟知。生活中有很多场景都有知识图谱的身影,如语义搜索引擎、智能客服、生活小助手等。由图神经网络构建的知识图谱可以提供视频/直播字幕、内容审核、智能客服、保险赔付、医疗图谱、知识消岐等服务。借助知识图谱还可以将专属的行业知识定制成图网络,为行业信息进行分析,帮助企业进行转型升级。
未来,人工智能的运作将会更加接近人脑,图神经网络的出现使人工智能开始理解世界,认识世界,而不再只是进行统计拟合。如何让图深度学习充分挖掘其应用价值实现高维稀疏数据的应用场景落地,将是在接下来的十年中,同质化的企业进行重新洗牌的关键。
在去年的华为云全联接大会上,华为云重磅发布一站式AI开发管理平台ModelArts2.0。宣布华为云在图深度学习领域做出突破,华为云图神经网络正式落地。
此次ModelArts2.0发布的十余项新特性及服务,包含智能数据筛选、智能数据标注、智能数据分析、多元模型自动搜索、ModelArts SDK、图神经网络、强化学习、模型评估/诊断、模型压缩/转换、自动难例发现、在线学习等,覆盖了AI模型的全生命周期。可以看得出来,华为云ModelArts在下一盘很大的棋,图神经网络的落地是ModelArts在深度学习领域实现因果推理的一次突破,也是实现自动化AI能力必不可少的一环。
华为云图神经网络是GES图引擎与ModelArts联手打造的新型图神经网络技术,通过采用分布式图计算平台和深度学习计算平台并行的方式构建新的架构以此来实现大规模图神经网络分析能力。
华为云图神经网络的架构师表示华为云图神经网络(GNN)框架设计原则是:职责分明,架构归一。对单个算法,将数据预处理、领域采样等稀疏处理操作下压到图引擎;深度学习层则专注于算子的优化,多种GNN算法框架统一化,复用统一的算子。
企业级图深度学习的计算中,图的规模将会根据业务需求达到百亿甚至千亿的规模,因此,一个成熟的图深度学习将会把超大规模的图网络的计算交给独立的分布式图计算平台。
当前大部分图神经网络框架都是在处理静态图,这是由于大多数框架是把图神经网络算法当做离线计算任务来对待的,离线计算的数据是不变的(静态),对于每次计算,都需要将完整数据加载一遍,因此不适合处理动态图。但是图数据本身却往往是变化的(动态),算法在运行过程中需要不断的对图进行遍历,然后将图数据从内存中调用给深度学习进行建模,然后还要在建模过程中进行不断的回传,这个问题在小图上不是很明显,但是在亿级图网络中,就会变成严重的性能问题,并且遍历的时间将会呈指数级上升,甚至造成宕机。
华为在动态图方面的主张是,采用自研GES图引擎来维护图数据,保证数据可以动态增删改。同时在一份数据上,执行多种不同的算法,无需重复加载数据;尤其是对于大规模图来说,能明显节省端到端时间。目前动态图的处理仍有可优化的地方,比如动态图上的数据更改可以当做是增量数据,最佳做法是设计增量算法来对增量数据进行分析,而不是对全量数据进行邻域采样、随机游走、求梯度等操作。对于增量的图神经网络算法的研究还比较前沿,尚未形成完备理论。
GES图引擎目前拥有20多种图场景算法和大量的图优化算法,性能上能将亿级图查询在秒级计算完成。在图算法上GES图引擎根据工业和企业需求,集成实现PageRank等二十多种常用算法,应用场景覆盖城市工业生产、管道监控、商品推荐、社交推荐、项目分析、企业洞察、知识图谱、金融风险管控、企业IT应用、关系挖掘等多项领域,并支持点查、边查、属性过滤等基本查询将查询存储等功能。
以Pixie算法为例,Pixie算法是华为云尝试了将多元数据构建到同一张图,并在这个异构图上配置相应的schema、点边属性、权重而设计的算法。Pixie算法是一种全新的实时推荐算法,克服了异构图的数据获取和融合问题,支持多请求节点下综合推荐,能满足各种复合型、时变、多样性推荐场景需求;大数据量下,无需预先训练模型,就能适应数据的动态变化,达到较好的实时推荐效果,可扩展性很强。
基于原生图引擎提升数据处理的效率和统一的算法框架,是当前图神经网络平台研发的重难点,而图数据的遍历以及与深度学习的交互会导致图的运算效率大大降低,这也是图深度学习一直无法落地的瓶颈之一。
因此,如果图深度学习想要在性能上有所突破就需要重新设计一个新的GNN框架,以下是AI前线授权得到的华为云图神经网络框架图。
(1)基于图引擎的GNN新框架:在ModelArts中的高效神经网络训练算子的基础上,结合GES既有的高性能图计算框架平台能力,利用图引擎高并发、低延时的特点,将GNN的训练过程高度并行化,如将边上的跳转概率估计、顶点邻域采样、负样本构建等等,都化解为每个顶点的局部操作;系统提供了动态调度器,让这些局部操作可高度并行化执行,就能极大提升系统的总体吞吐量。
(2)多种GNN算法框架统一化:使用统一架构实现了非监督的大规模图嵌入(例如DeepWalk, Node2Vec)和半监督的图卷积(例如GCN, GraphSage)等多类GNN算法,降低了系统的维护成本。
图:基于统一GNN架构的图嵌入与图卷积计算示意
(3)GNN与图数据管理一体化:企业级GNN应用通常都不会是一次性计算,而且数据规模也很大,因此这些数据必须要被维护和管理起来。而现有的GNN通常不具这样的考量,用户只能另建数据库维护,计算的时候再把数据整体导出。不仅资源消耗大,也引入数据一致性等诸多问题。而GES采用属性图数据模型(Property Graph)和生态兼容的事实标准Gremlin图查询语言进行分布式图数据管理和维护,需要训练的时候则在图引擎内本地调用(in situ)各类算子,并发执行,降低了端到端的性能损耗。
研发人员在相同平台上对比了本产品与多个开源版本在数据预处理、各类采样方式下的实验表现(来自华为云内部数据):
图: (上)相同平台上与开源版本在数据预处理、各类采样方式下的性能对比;(下)系统可扩展性测试结果
华为云图神经网络借助ModelArts的高效神经网络训练优势,以及GES的高性能图计算优势,大幅度提升了GNN的总体计算效率,以node2vec算法为例,在PPI数据集上,华为云图神经网络从采样到训练可在2min内完成,较传统开源实现提升20倍。
本文系作者在时代Java发表,未经许可,不得转载。
如有侵权,请联系nowjava@qq.com删除。