PGLBox全面解決圖訓(xùn)練速度、成本、穩(wěn)定性、復(fù)雜算法四大問題!
? ? ? ?圖神經(jīng)網(wǎng)絡(luò)(Graph Neural Network,GNN)是近年來出現(xiàn)的一種利用深度學習直接對圖結(jié)構(gòu)數(shù)據(jù)進行學習的方法,通過在圖中的節(jié)點和邊上制定聚合的策略,GNN能夠?qū)W習到圖結(jié)構(gòu)數(shù)據(jù)中節(jié)點以及邊內(nèi)在規(guī)律和更加深層次的語義特征。圖神經(jīng)網(wǎng)絡(luò)不僅成為學術(shù)界研究熱點,而且已經(jīng)在工業(yè)界廣泛應(yīng)用落地。特別在搜索、推薦、地圖等領(lǐng)域,采用大規(guī)模分布式圖引擎對異構(gòu)圖結(jié)構(gòu)進行建模,已經(jīng)成為技術(shù)發(fā)展的新趨勢。
? ? ? ?目前,分布式圖學習框架通常在CPU集群上部署分布式圖服務(wù)以及參數(shù)服務(wù)器,來支持大規(guī)模圖結(jié)構(gòu)的存儲以及特征的更新。然而,基于CPU算力的圖學習框架在建設(shè)成本、訓(xùn)練速度、穩(wěn)定性以及復(fù)雜算法支持等方面都存在不足。
? ? ? ?因此,百度飛槳推出了能夠同時支持復(fù)雜圖學習算法+超大圖+超大離散模型的GPU大規(guī)模圖學習訓(xùn)練框架PGLBox。該框架結(jié)合了百度移動生態(tài)模型團隊在大規(guī)模業(yè)務(wù)技術(shù)的深耕,凝聚飛槳圖學習PGL豐富的算法能力與應(yīng)用經(jīng)驗,并依托飛槳深度學習平臺通用的訓(xùn)練框架能力與靈活組網(wǎng)能力,不僅繼承了飛槳前期開源的Graph4Rec[1]超大規(guī)模、靈活易用和適用性廣的優(yōu)點[2],更是在訓(xùn)練性能、圖算法能力支持方面獲得了顯著提升。

超高性能的GPU分布式圖學習訓(xùn)練框架

? ? ? ?隨著圖數(shù)據(jù)規(guī)模的不斷增大,基于CPU分布式的解決方案需要大量的跨機器通訊,導(dǎo)致訓(xùn)練速度慢且穩(wěn)定性差。為了解決這個問題,PGLBox將圖存儲、游走、采樣、訓(xùn)練全流程GPU化,并實現(xiàn)流水線架構(gòu),極致提升異構(gòu)硬件效率,大幅提升了圖學習算法的訓(xùn)練速度。同時,針對NVLink拓撲、網(wǎng)卡拓撲非全互聯(lián)問題,實現(xiàn)智能化中轉(zhuǎn)通信,進一步提升訓(xùn)練能力。相比基于MPI CPU分布式的傳統(tǒng)方案,訓(xùn)練速度提升27倍。PGLBox實現(xiàn)了多級存儲體系,對圖、節(jié)點屬性和圖模型進行差異化存儲,即圖結(jié)構(gòu)全顯存、節(jié)點屬性二級存儲和圖模型三級存儲,將圖規(guī)模提升了一個數(shù)量級。為了平衡磁盤、內(nèi)存、顯存之間的占用,PGLBox實現(xiàn)了均衡訓(xùn)練,對Pass大小平滑處理,削峰填谷,降低峰值顯存,使得在單機情況下,可支持的圖規(guī)模得到大幅提升。

全面升級預(yù)置的圖表示學習算法

? ? ? ?圖節(jié)點的屬性是多種多樣的,可以是文本、圖像,也可以是用戶畫像、地理位置等,如何更好地建模節(jié)點特征是圖表示學習的一個重要挑戰(zhàn)。隨著預(yù)訓(xùn)練模型席卷NLP、CV等領(lǐng)域,預(yù)訓(xùn)練Transformer是節(jié)點屬性建模不可或缺的一部分。而復(fù)雜結(jié)構(gòu)的Transformer等預(yù)訓(xùn)練模型的引入所增加的大量計算量,是以往CPU分布式圖表示學習框架不可接受的。
? ? ? ?得益于PGLBox同時兼?zhèn)銰PU的運算能力和大規(guī)模圖的支持,讓我們能夠同時實現(xiàn)大規(guī)模預(yù)訓(xùn)練模型+大規(guī)模圖結(jié)構(gòu)信息+大規(guī)模離散特征的端對端統(tǒng)一建模。在大規(guī)模圖數(shù)據(jù),通過三級存儲加載之后,我們可以通過加載不同的大規(guī)模預(yù)訓(xùn)練模型(例如ERNIE語言大模型、ERNIE-ViL跨模態(tài)大模型等)來建模更豐富的節(jié)點信息。對于大規(guī)模離散特征如用戶ID、商品ID等,我們可以同時利用到PGLBox提供的GPU參數(shù)服務(wù)器能力來建模。最后通過圖信息匯聚的Graph Transformer圖神經(jīng)網(wǎng)絡(luò)模塊完成信息聚合,得到圖的最終表示,并配合下游任務(wù)實現(xiàn)跨模態(tài)異構(gòu)圖端對端優(yōu)化。
? ? ? ?基于PGLBox的GNN技術(shù)獲得了NeurIPS 2022大規(guī)模GNN挑戰(zhàn)賽冠軍[3],同時入選了百度Create2022十大黑科技,并在WAVE SUMMIT+2022上作為飛槳2.4版本最重要的框架新特性之一發(fā)布。憑借其超高性能、超大規(guī)模、超強圖學習算法、靈活易用等特性,PGLBox在百度內(nèi)大量業(yè)務(wù)場景實現(xiàn)廣泛應(yīng)用并取得顯著業(yè)務(wù)收益,如百度推薦系統(tǒng)、百度APP、百度搜索、百度網(wǎng)盤、小度平臺等。
在哪里可以找到我們~
看到這里相信大家已經(jīng)迫不及待想要開箱試用了吧!PGLBox已全面開源,歡迎大家試用或轉(zhuǎn)發(fā)推薦,詳細代碼庫鏈接請戳下方鏈接或者點擊閱讀原文!
??歡迎STAR收藏??
https://github.com/PaddlePaddle/PGL/tree/main/apps/PGLBox
更多交流歡迎通過郵件pglbox@baidu.com與我們聯(lián)系,感謝支持!
參考文獻
[1]https://arxiv.org/abs/2112.01035
[2]https://mp.weixin.qq.com/s/aSxFpkyX5MyFYLfZuIagzg
[3]https://ogb.stanford.edu/neurips2022/results/