网易云音乐:基于分布式图学习PGL的推荐系统优化之路
在“精準推薦者得民心”的今天,推薦系統已成為各大互聯網公司的標配。但由于現實中很多數據是非歐氏空間生成的(例如,社交網絡、信息網絡等),一些復雜場景下的業務需求很難通過協同過濾等基于歷史行為挖掘用戶或產品相似性的傳統算法來滿足。圖神經網絡作為一種約束性較少、極其靈活的數據表征方式,在深度學習各主要領域中嶄露頭角,一系列圖學習模型涌現并得到越來越多的應用。
網易云音樂在推薦領域的探索
作為國民級的音樂 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),實現在分布式的“瘦計算節點”上加速計算。這些能力對云音樂內容社區直播推薦遇到的訓練問題來說,極具魅力!
實驗對比顯示,在主播推薦場景采用圖計算帶來有效觀看大幅提升,尤其在新用戶和新主播冷啟動上引入其它域數據后有了明顯提升。
期待你的加入
百度開發者中心已開啟征稿模式,歡迎開發者登錄developer.baidu.com進行投稿,優質文章將獲得豐厚獎勵和推廣資源。
總結
以上是生活随笔為你收集整理的网易云音乐:基于分布式图学习PGL的推荐系统优化之路的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 百度安全 Rust TrustZone
- 下一篇: 「开源」首次被列入“十四五”规划,未来大