推荐系统与图神经网络
如果说互联网的目标是连接一切,那么推荐系统的作用就是让用户与信息建立更高效的连接,提升用户体验及商业效益。在推荐系统中,主要的挑战是如何从交互数据和辅助信息中学习到User或Item的有效表示,并让两者能够以最有效的方法连接起来,从这个角度出发,推荐场景的交互行为数据就是非常经典的「图结构数据」。对于图来说万物皆可连接,而如何将不同的数据类型联合建图,并高效挖掘数据潜在特征、获取深层次的User和Item特征描述等是图技术需要面临的挑战。
图神经网络(Graph Neural Network,GNN)是近年来出现的一种利用深度学习直接对图结构数据进行建模的框架,通过对图中的节点和边制定一定的策略,GNN 能够学习到图结构数据中节点以及边的内在规律和更加深层次的语义特征。那什么样的业务可以构建图结构数据并使用图学习算法训练呢?以网易云音乐的歌曲推荐为例:把用户、歌曲作为图中的节点,用户与歌曲之间的交互行为(点赞、收藏、关注等)作为边,形成一个复杂的图结构网络,在此基础上建模分析,实现更高效的表征、群体识别。比如,两位素不相识的宝妈都爱听某些亲子歌曲,她们在“图”中就有可触达的连接,图学习算法通过这些连接关系学习到合适的表征,进而将这些亲子歌曲更好地推荐给相似的群体。
通过上述案例可以看出,只要数据中的样本之间存在交互关系,就可以从图的视角构建图结构数据,并用图学习算法进行建模。
GNN 在推荐系统的应用,无论是在学术界还是工业界都获得了广泛的关注,因为 GNN能够将业务场景中的多种维度信息统一构造成自带关联关系的图结构数据,帮助系统产生多样化、可解释的推荐结果,并能更好的完成跨领域推荐、序列推荐等具有挑战性的推荐任务。
但在实际应用中,受限于相关工具能力的不足,GNN 也面临许多落地难题:
难题一:面对复杂的业务场景数据,缺少高性能的工具,以满足大规模、高效率的线上处理需求;
难题二:GNN算法复杂程度较高,缺少高可用的工具,以降低研发人员的学习和使用门槛;
难题三:GNN算法模型众多,创新层出不穷,缺少标准化的工具,以解决模型的选型与适配问题。
为了降低GNN的应用门槛,促进GNN在工业界广泛的应用落地,百度飞桨图学习(Paddle Graph Learning,PGL)推出了基于图神经网络技术开箱即用的图推荐工具库「Graph4Rec」,该工具库能够满足工业级推荐系统的应用要求,已经被百度内外部业务广泛使用验证,在实际业务落地场景中得到了一致好评。
PGL Graph4Rec工具库
Graph4Rec是一个集图推荐算法、框架技术和用户体验于一体的图学习工具库。依托于飞桨核心框架以及自研的高效大规模分布式图引擎,支持十亿节点百亿边的超巨图训练,用户仅需简单配置,即可一键启动大规模图表示学习训练任务。
优势一:
满足超大规模的同时,更注重落地效率
工业界的图数据规模可以达到百亿节点级别,普通的图学习算法即使有效,也很难直接在实际的推荐场景中应用。为了支撑工业界大规模数据下的图表示学习算法的落地,飞桨PGL针对图学习训练与部署的特点,自研了一套分布式图引擎。该图引擎的扩展性能高,支持多机器QPS线性扩展,因此能够兼容万亿图规模训练,满足复杂业务场景落地的需求。同时,通过数据划分与零通讯策略,实现了高效的邻居查询,大大加速了图采样效率。而这一切通过PGL提供的灵活易用的标准接口,仅使用Python代码就可以一键启动图服务,极大降低了用户使用门槛。
此外,为了实现大规模的节点向量表示存储与训练,Graph4Rec内置了CPU与GPU的大规模参数服务器,并与分布式图引擎相结合,形成了一套完整的双引擎图表示学习推荐算法训练范式,满足超大规模节点表示学习的需求。
优势二:
预置业界知名和自研的丰富图算法
在工业图推荐领域中,除了对图的规模要求高之外,还有复杂特征融合、游走策略、图聚合方式、算法组合多样化和例行训练等需求。Graph4Rec在设计之初就考虑到了这些问题,并在实现分布式图引擎时,就引入了多种不同类型特征的存储。同时,为了建模复杂异构图场景(包含不同类型节点、异构边),Graph4Rec为用户提供了可以自定义的异构游走路径定义能力,同时配合异构图聚合方法,有效建模复杂异构图场景。
另外,Graph4Rec预置了业界知名的30+图学习模型组合,更重要的是基于50+实际业务场景的落地经验,自研了多个创新算法,使得Graph4Rec在技术上更贴近实际业务需求场景,在落地上也获得更高的收益。
优势三:
灵活易用 配置即模型
在推荐业务场景中,飞桨PGL希望能够涵盖复杂的图数据,并降低在大规模图数据场景下快速验证的门槛。通过Graph4Rec工具包,就可以解决GNN+表示学习在大规模场景下的训练问题。Graph4Rec主要由以下几个部分组成:
第一部分:图的输入
支持同构图、异构图作为输入数据,并且集成了大规模分布式图引擎的能力,可以支持十亿节点,百亿边的图数据规模。同时,支持使用节点特征,仅需通过一个配置表来配置节点包含的特征即可。
第二部分:图采样
可实现多种图采样方法,包括图游走和图采样。图游走表示从一个节点出发,在图中随机游走,得到一条节点序列。图采样表示批量采样一个节点的若干邻居,形成子图,作为图模型的输入。
第三部分:图模型
集成丰富的图推荐模型,如GAT、LightGCN等,用户只需要通过配置文件进行配置,既可以轻松切换不同的图推荐模型进行训练,易用高效。
优势四:
适用性广,众多落地场景
Graph4Rec在百度内外部不同的产品线上已经实现了大量的推荐业务落地,包括百度搜索、爱采购、有驾APP、网易云音乐等不同类型的业务。
网易云音乐应用案例
在网易云音乐主播推荐场景下,将歌曲、用户与主播之间的关联关系构造成复杂的异构图网络,利用 Graph4Rec把用户听歌的历史行为迁移到直播业务场景,成功解决直播冷启动难题。
在工具使用体验上,Graph4Rec不仅支持多种行为的图建模,如深挖用户在歌曲方面的播放、点赞行为。该工具还预置了常用的GNN模型、拥有高效的大规模分布式图引擎,能够极好地支持工业界大规模图模型训练,仅通过配置文件即可以快速应用到实际业务中,使用起来方便高效。
最后,在面临数据存储难题时,Graph4Rec提供了完整的分布式图存储方案,在无专业数据库存储底层能力的情况下,能够快速搭起若干个分布式网络,使存储成本降低70%+。在4亿节点与400亿边数据这样的场景下,Graph4Rec的分布式图引擎技术,以60弹性节点(4CPU,16GB)的配置,提供了比中心化数据库更简单、更灵活的存储服务。
点击阅读项目详情链接:
https://mp.weixin.qq.com/s/8eYRxQIxQhD4ad3WorWW-A
可见,Graph4Rec集图推荐算法、底层框架技术、用户体验于一体,为业务提供一套统一的大规模分布式图表示学习推荐算法,极大方便用户在图领域的业务调研与落地。
在哪里可以找到我们
Graph4Rec目前已全面开源,欢迎大家试用、转发推荐,如有疑问或交流需求,欢迎发邮件至[email protected]与我们联系。
开源代码库 欢迎star收藏:
https://github.com/PaddlePaddle/PGL/tree/main/apps/Graph4Rec
进一步了解PGL
飞桨PGL(Paddle Graph Learning)是一个基于飞桨(PaddlePaddle) 的高效易用图学习框架,依托于飞桨核心框架以及自研的高效大规模分布式图引擎,支持十亿节点百亿边的超巨图训练,原生支持异构图MetaPath采样以及Message Passing双模式,预置多种业界主流图学习算法以及自研模型等。同时具备分布式图存储以及图学习训练算法,例如,分布式Deep Walk和分布式GraphSage。结合飞桨框架,PGL 能够覆盖业界主流的图网络应用,包括图表示学习以及图神经网络。
百度作为AI领域的领头羊企业,在图神经网络领域的研究、产业实践、工业落地方面,积累了丰富的经验。在实际业务落地应用上,飞桨PGL已经在搜索、信息流、金融风控和智能地图等场景全面落地。此外,百度飞桨PGL团队战绩累累,多次刷新图神经网络权威榜单OGB榜单SOTA,在2020年COLING协办比赛取得 TextGraph冠军!在KDDCup 2021最大的图学习比赛OGB-LSC中,取得两冠一亚的成绩。
好消息!图推荐Graph4Rec开播啦!
为了让大家能够更深入了解图学习技术在推荐场景的应用,【飞桨 PGL】 联合【百度技术培训中心】在2022年7月21日19:00-20:00(周四)带来一场更全面的图学习技术直播,直播间更有不容错过的代码实践环节,具体报名方式详见下方海报:
关注【飞桨PaddlePaddle】公众号
获取更多技术内容~