Press "Enter" to skip to content

网易云音乐:基于分布式图学习的推荐系统优化之路

本站内容均来自兴趣收集,如不慎侵害的您的相关权益,请留言告知,我们将尽快删除.谢谢.

在“精准推荐者得民心”的今天,推荐系统已成为各大互联网公司的标配。但由于现实中很多数据是非欧氏空间生成的(例如,社交网络、信息网络等),一 些复杂场景下的业务需求很难通过协同过滤等基于历史行为挖掘用户或产品相似性的传统算法来满足。图神经网络作为一种约束性较少、极其灵活的数据表征方式,在深度学习各主要领域中崭露头角,一系列图学习模型涌现并得到越来越多的应用。

 

网易云音乐在推荐领域的探索

 

 

作为国民级的音乐App,网易云音乐很久之前就将定位从传统的音乐工具软件转移到音乐内容社区,致力于联结泛音乐产品与用户,打造最懂用户的音乐 App。在音乐内容社区中,直播可以说是用户参与度极高的场景了,云音乐内部投入了大量的人力物力以求将匹配度更高的主播推荐给用户,但仍然面临多重严峻的挑战。

 

如何破解历史行为 稀少的用户冷启动问题

 

众所周知,推荐系统的整体框架主要包括召回、粗排和精排3个部分。其中,最底层的召回模型具有举足轻重的作用,而成功的召回推理需要依赖充足的历史数据。但在云音乐的业务场景中,通过站内广告看到直播推荐的用户很大比例是直播功能的新用户,即没有产生过观看直播行为数据的用户。如何向这类数据稀疏的用户推荐合适的内容成了亟待解决的难题,这类问题也通常被称为冷启动。

 

 

大规模图模型如何训练?

 

云音乐现有计算资源已全面实现容器化部署,对于各个业务团队来说,计算资源都是有限的,需要以最高效合理的方式利用有限的资源。如何在有限的分布式资源调控策略下低本高效地完成大规模图神经网络的模型训练,成为必须攻克的难题。

 

PGL图神经网络助力 推荐场景落地

 

为了解决以上问题,网易云音乐的研发团队调研了大量开源方案,最终选择了对大规模图训练更加友好的百度飞桨分布式图学习框架PGL,作为云音乐的基础框架。

 

基于PGL的行为域知识迁移解决冷启动问题

 

云音乐直播场景的新用户中,有很多在音乐、歌单、Mlog 等业务中产生过较丰富的历史行为,能否通过将这部分历史行为知识映射到直播领域,来解决“行为”数据不足的问题呢?

 

带着疑问,云音乐引入了图模型结构,以多种不同类型的实体(如歌曲、DJ、Query、RadioID 等)为节点,通过用户与主播、用户与歌曲、Query与主播等历史行为关系,构建了一张统一的图关系网络。

 

然后,基于飞桨图学习框架 PGL对图模型进行训练。先采用 DeepWalk、Metapath2Vec、GraphSage等模型学习出足够强大的Graph Embedding表示来建模实体ID;再通过向量召回,将用户在歌曲、Query等处的行为迁移到主播领域,达到召回合适主播的目的。

 

 

基于PGL通用的分布式能力进行训练

 

云音乐的数据规模非常庞大,数据关系即使经过裁剪也高达亿级别以上。在常用的硬件资源配备情况下,此等量级规模的数据早已成为某些开源的图神经网络框架的瓶颈,需要使用极其昂贵的计算资源才能解决。对于数据规模必将持续增大的云音乐来说,相较于使用什幺类型的模型,能否在这种数据规模下训练出模型才是优先要考虑的关键问题,也是网易云音乐与PGL成功牵手的关键因素!

 

百度飞桨深度学习平台PaddlePaddle 2019年开源的分布式图学习框架PGL,原生支持图学习中较为独特的分布式图存储(Distributed Graph Storage)和分布式采样(Distributed Sampling),可以方便地通过上层Python接口,将 图的特征(如Side Feature等)存储在不同的Server上,也支持通用的分布式采样接口,将不同子图的采样分布式处理,并基于PaddlePaddle Fleet API来完成分布式训练(Distributed Training),实现在分布式的“瘦计算节点”上加速计算。这些能力对云音乐内容社区直播推荐遇到的训练问题来说,极具魅力!

 

实验对比显示,在主播推荐场景采用图计算带来有效观看大幅提升,尤其在新用户和新主播冷启动上引入其它域数据后有了明显提升。

 

 

想了解更多落地细节和实战经验?

 

3月16日,网易云音乐机器学习平台与框架负责人段石石,将在飞桨B站直播间分享深度学习实战进阶课程《图神经网络在云音乐业务落地》。除了上面提到的数据稀疏性、冷启动召回和大规模分布式训练等业务难题的解决方案,段老师还将分享云音乐如何应对训练数据质量、瘦计算节点等技术挑战。

 

3月17日,百度高级算法工程师苏炜跃将分享《分布式图学习框架PGL及其推荐应用》,重点介绍图学习算法的理论基础、图学习框架PGL的特点和优势;同时将通过演示经典大规模推荐场景的图学习训练过程,帮助大家快速学习和实现产业级的图模型实践。

 

 

飞桨图学习框架PGL

 

PGL是业界首个提出通用消息并行传递机制,支持百亿规模巨图的工业级图学习框架。PGL基于飞桨动态图全新升级,极大提升了易用性,原生支持异构图,30+图学习模型,包括图语义理解模型ERNIESage等,历经大量真实工业应用验证。另外,基于飞桨深度学习框架的分布式Fleet API,建立分布式图存储及分布式学习算法,实现灵活、高效地搭建前沿的大规模图学习算法。

 

更多资料请关注

 

PGL图学习框架Github代码仓库:https://github.com/PaddlePaddle/PGL

 

飞桨推荐系统:https://github.com/PaddlePaddle/paddlerec

 

飞桨分布式:https://www.paddlepaddle.org.cn/tutorials/projectdetail/1499143

 

https://fleet-x.readthedocs.io/en/latest/

 

飞桨深度学习框架Github代码仓库:https://github.com/PaddlePaddle/Paddle

 

对于想要了解图神经网络及其分布式应用的小伙伴,可以围观PGL团队倾力开发的图神经网络课程,带你七天高效入门:https://github.com/PaddlePaddle/PGL/tree/main/course

 

Be First to Comment

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注