來自計算所發布的研究分布式GNN訓練中使用的各種優化技術,提供了分布式GNN訓練的全面綜述。
圖神經網絡(GNNs)在圖學習方面的有效性已被證明是廣泛應用領域的一種強大的算法模型。為了擴大GNN訓練以適應大規模和不斷增長的圖,最有前途的解決方案是分布式訓練,它將訓練工作量分布到多個計算節點。然而,對分布式GNN訓練的工作流程、計算模式、通信模式和優化技術仍有初步了解。在本文中,我們通過研究分布式GNN訓練中使用的各種優化技術,提供了分布式GNN訓練的全面綜述。首先,根據分布式GNN訓練的工作流程將其分為幾類;此外,還介紹了它們的計算模式和通信模式,以及最新工作提出的優化技術。其次,介紹了分布式GNN訓練的軟件框架和硬件平臺,以加深對分布式GNN訓練的了解。第三,將分布式GNN訓練與深度神經網絡的分布式訓練進行了比較,強調了分布式GNN訓練的唯一性。最后,討論了該領域的研究熱點和發展機遇。
//www.zhuanzhi.ai/paper/e85caecb1c45f7412fc38a4f681097ab
1. 概述
圖具有強大的數據表示能力,特別是在表示對象之間的關聯[1],[2]等方面有著廣泛的應用。許多真實世界的數據可以自然地表示為由一組頂點和邊組成的圖。以社交網絡為例[3],[4],圖中的頂點表示人,邊表示人在Facebook上的互動[5]。如圖1 (a)所示,圓圈代表頂點,箭頭代表邊。另一個眾所周知的例子是知識圖[6]、[7],其中頂點表示實體,而邊表示實體之間的關系[8]。圖神經網絡(GNNs)在圖[9]-[11]的學習中表現出優于其他算法模型的性能。深度神經網絡(DNNs)已廣泛應用于分析圖像[12]等歐幾里德數據。然而,由于圖[13]的任意大小和復雜的拓撲結構,非歐氏域的圖數據對它們提出了挑戰。此外,工業界識別的深度學習范式的一個主要弱點是不能有效地進行因果推理,這大大降低了智能系統[14]的認知能力。為此,GNN已成為圖學習的主要范式,并賦予智能系統認知能力。如圖1 (b)所示。GNN在獲取圖數據作為輸入后,使用前向傳播和后向傳播來更新模型參數。然后將訓練好的模型應用于圖任務,包括頂點預測15,鏈接預測16,圖預測17,如圖1 (c)所示。
由于GNN的優越性,它們在許多關鍵領域的各種實際應用中得到了廣泛的應用。這些實際應用包括知識推理[18]、自然語言處理[19]、[20]、機器翻譯[21]、推薦系統[22]-[24]、視覺推理[25]、芯片設計[26]-[28]、交通預測[29]-[31]、網約車需求預測[32]、垃圾郵件評論檢測[33]、分子屬性預測[34]等等。GNN在處理廣泛的現實應用時增強了機器的智能,例如在谷歌地圖[29]中為>實時ETAs提高50%的準確率,在Pinterest[22]中生成>40%更高質量的推薦,在滴滴[32]中實現了>10%的網約車需求預測提高,在阿里巴巴[33]中以90%的準確率提高>66.90%的召回率。然而,工業界和學術界仍然熱切期待GNN訓練的加速,原因如下[35]- [38]:
圖數據的規模迅速擴大,消耗了GNN訓練大量的時間。隨著互聯網上信息的爆炸,新的圖表數據不斷產生和變化,比如社交中人際關系的建立和消亡,人們在網絡購物中對商品偏好的變化。圖中的頂點和邊的規模分別接近甚至超過數十億和萬億的數量級,[39]-[42]。圖形規模的增長速度也是驚人的。例如,Facebook社交網絡的頂點(即用戶)數量正以每年17%的速度增長[43]。因此,隨著圖數據規模的不斷增長,GNN的訓練時間急劇增加。
新型GNN模型的快速開發和部署涉及到重復訓練,大量的訓練時間是不可避免的。由于[9]-[11]需要反復訓練,因此要建立高精度的GNN模型還需要大量的實驗工作。此外,將GNN模型的使用擴展到新的應用領域也需要大量的時間來用真實數據訓練模型。如此龐大的計算負擔需要更快的訓練方法。
分布式訓練是加速GNN訓練[35]-[38],[40],[44]-[58]的流行解決方案。它試圖通過向計算系統添加更多的計算資源或“節點”,并采用并行執行策略來加速整個計算過程,如圖1 (d)所示。2019年提出的NeuGraph[44]是分布式GNN訓練的第一篇發表作品。從那以后,近年來,人們不斷嘗試提高分布式GNN訓練的效率,使用了各種各樣的優化技術,包括工作負載分區[44]-[47],傳輸規劃[37],[44]-[46],緩存策略[35],[51],[52]等。盡管做出了上述努力,但仍然缺乏對分布式GNN訓練的綜述。多個計算節點之間的管理和合作需要導致不同的工作流程,導致復雜的計算和通信模式,并使優化分布式GNN訓練成為一個挑戰。然而,盡管在這方面已經或正在做出大量的努力,但幾乎沒有任何關于這些挑戰和解決方案的調研。目前的研究主要集中在GNN模型和硬件加速器[9]-[11],[59]-[62],但并不打算對GNN的分布式訓練進行仔細的分類和總體概述,特別是從工作流、計算模式、通信模式和優化技術的角度。
介紹分布式GNN訓練的基本概念。 分析分布式GNN訓練的工作流程、計算模式和通信模式,總結優化技術。 強調分布式GNN訓練與分布式DNN訓練的區別 討論分布式GNN訓練領域的有趣問題和機遇。
2. GNN分布式訓練
****GNN是一種很有前途的從圖數據中學習知識的算法模型[63]-[68]。它將圖數據作為輸入,并學習圖中每個頂點的表示向量。學習到的表示可以用于下游任務,如頂點預測[15],鏈接預測[16]和圖預測[17]。如圖3所示,GNN模型由一個或多個層組成,包括鄰居聚合和神經網絡操作,分別稱為aggregation步驟和Combination步驟。在Aggregation步驟中,使用Aggregate函數Aggregate()為每個目標頂點聚合來自上一GNN層的傳入相鄰頂點的特征向量。例如,在圖3中,頂點4將使用Aggregate函數收集自身及其傳入鄰近頂點(即頂點2,5,8)的特征向量。在Combine步驟中,Combine函數Combine()使用神經網絡操作轉換每個頂點的聚合特征向量。C.圖神經網絡的訓練方法在本小節中,我們介紹了GNN的訓練方法,包括全批訓練[69],[70]和小批訓練[13],[71]-[74]兩種方法。神經網絡(GNN)的典型訓練過程包括前向傳播和后向傳播。在正向傳播中,輸入數據通過神經網絡層傳遞到輸出。神經網絡通過將前向傳播的輸出與預先定義的標簽進行比較,產生輸出的差異。然后在反向傳播中,將這些差異沿相反方向在神經網絡層中傳播,生成梯度來更新模型參數。如圖4所示,根據每輪是否涉及整個圖,GNN的訓練方法可分為全批訓練[69]、[70]和小批訓練[13]、[71]-[74]。這里,我們定義了一輪全批訓練,包括模型計算階段(包括前向和后向傳播)和參數更新階段。另一方面,小批處理訓練中的一輪額外包含一個采樣階段,該階段對后續模型計算所需的小型工作負載進行采樣,因此定位在其他兩個階段之前。因此,一個epoch被定義為數據的整個傳遞過程,相當于一輪全批訓練,而小批訓練通常包含幾輪。下面將詳細介紹這兩種方法。
3 分布式GNN訓練分類
本節介紹分布式GNN訓練的分類。如圖5所示,我們首先根據第II-C節介紹的訓練方法,即每輪是否涉及整個圖,將其分為分布式全批訓練和分布式小批訓練,并顯示兩種類型的關鍵區別。通過分析這兩種類型的工作流程,將它們分別劃分為兩個詳細的類型。本節介紹了第一級類別,即分布式全批訓練和分布式小批訓練,并對它們進行了比較。這兩種類型的第二級類別稍后將分別在第四節和第五節介紹。
圖上如何做異常分析?澳大利亞聯邦大學最新《圖學習異常分析:算法、應用與挑戰》綜述,闡述GCN/GAT/GAE等方法
異常分析是一項廣泛而重要的研究任務,已經被研究了幾十年。與此同時,深度學習在解決許多基于圖的任務方面表現出了其能力,如節點分類、鏈接預測和圖分類。近年來,許多研究通過擴展圖學習模型來解決異常分析問題,使得基于圖的異常分析技術取得了一些有益的進展。**本文對用于異常分析任務的圖學習方法進行了全面的概述。根據模型架構將它們分為四類,即圖卷積網絡(GCN)、圖注意力網絡(GAT)、圖自編碼器(GAE)和其他圖學習模型。**系統地比較了這些方法之間的差異。概述了現實世界中跨不同領域的幾個基于圖的異常分析應用。最后,討論了這一快速發展領域未來可能的5個研究方向。1. 引言
異常也被稱為離群點,普遍存在于各種真實世界的網絡[12]中,如觀點網絡中的虛假評論[121]、社交網絡中的假新聞[119]、協作網絡中的離群成員[94,118]、交通網絡中的突發人群[50]、移動網絡中的社會自私節點[110]以及計算機網絡中的網絡入侵[24]。異常檢測的研究可以追溯到20世紀60年代,幾十年來一直是一個熱門的研究領域。隨著日益增長的需求和在不同領域的廣泛應用,異常分析在數據挖掘、機器學習等領域發揮著越來越重要的作用。 隨著深度學習的發展,圖學習被提出,它是為應用于圖結構數據的基于深度學習的模型而創造的[112,128]。由于其令人信服的性能和可解釋性,近年來在各個學科中,越來越多的研究專注于利用深度圖模型[99,137]進行異常檢測和預測任務,而不僅僅局限于隨機游走等淺層網絡嵌入[40,111]。圖作為一種獨特的非歐氏數據結構,能夠表示不同場景中的實體及其關系。然而,在將深度學習和人工智能應用于真實世界網絡時,該研究方向對所有檢測方法都面臨著一些不可避免的問題復雜性[57,105]。
圖結構不規則。與文本、序列和圖像等其他規則結構化數據不同,圖中的節點是無序的,并且可能具有不同的鄰域,這使得圖的結構不規則。因此,一些傳統的深度學習架構無法直接應用,例如卷積神經網絡(convolutional neural networks, CNN)中的卷積和池化操作[72]。
異構異常類。圖中節點和鏈接的類型通常不統一,導致異質信息網絡(heterogeneous information networks, HINs)的出現。HINs通常包含實體和關系之間更復雜的信息,特別是那些包含不同模態的信息[85],這對于識別特定圖中不同類型的異常非常重要。
可擴展到真實世界的網絡。如今,現實世界的網絡(如社交網絡)由數百萬甚至數十億的節點、邊和屬性信息組成[113]。這種大規模網絡無疑增加了計算復雜度。因此,設計相對于圖大小具有線性時間復雜度的可擴展模型是勢在必行的。
標簽稀缺性。與人工生成的圖數據相比,真實世界網絡的稀疏性主要有兩個原因。第一個是無標度網絡結構的性質,在大多數現實世界網絡中,節點的度服從長尾分布[123]。另一種是在抓取數據過程中受到采集技術和隱私保護的限制。此外,由于缺乏標記數據集,設計無監督的異常檢測模型變得越來越重要。
不同類型的異常。研究人員探索了幾種類型的異常,如節點、邊、子圖和路徑(如圖2所示)。節點異常是指在整個圖中與其他節點相比表現出異常行為的實體,例如在社交網絡中傳播假新聞的用戶。其他類型的異常也有類似的概念和它們自己的實際應用。在這種情況下,子圖異常難以檢測,因為從異常子圖中抽取出的子圖節點可能表現出正常的行為。
**已有一系列深度異常檢測研究證明,在解決上述挑戰方面,其性能明顯優于傳統模型。**盡管采用的技術從圖卷積網絡(GCNs)到圖自編碼器(GAEs)不同,但由于現有異常的復雜性,大多數方法專注于在特定情況下檢測或預測異常。目前很少有人對這些方法進行全面的總結,并清晰地分析它們如何應用于解決實際應用場景。
本綜述的其余部分結構如下。第2節介紹圖學習模型的表示法和初步知識,這些知識將在后續章節中使用。第3 ~ 6節將介紹異常分析方法。在第7節中,我們概述了可以用深度圖模型解決的異常分析的幾個實際應用,并在第8節中討論了一些未來的研究方向和挑戰。最后,我們在第9節簡要總結了這個綜述。
表1. 檢測和預測異常的圖學習模型綜述
2. 基于GCN的檢測方法
作為深度圖模型中最流行的結構,圖卷積網絡(graph Convolutional Networks, GCNs)可以通過卷積操作學習和生成節點嵌入,即從節點的局部鄰域聚合信息的過程。在本節中,我們介紹基于GCN的異常檢測和預測方法,這也是所有異常分析模型中最流行的模型類型。根據方法是否針對特定異常檢測任務設計,將其分為兩類,即通用模型和任務驅動模型。圖3展示了如何使用空間卷積操作檢測社交網絡中的異常用戶的玩具模型。表3總結了這些方法的主要特點。
3. 基于GAT的檢測方法
在深度圖模型中,節點鄰居的權重被定義為相等或默認設置。然而,鄰居的重要性往往因屬性和結構特征的不同而不同。受注意力機制的啟發,Velivckovic等人[92]將注意力機制應用于GCN的空間卷積操作,提出了一種圖注意力網絡(GAT)。圖4展示了注意力機制如何應用于網絡欺凌檢測的一個簡單示例。在本節中,我們總結并介紹了使用圖注意力網絡的異常分析算法。該方法按照異常類型分為2個子檢測,即節點異常檢測和(子)圖異常檢測。表4總結了這些方法的主要特征。
4**. 基于GAT的檢測方法**
圖自動編碼器(GAE)是一種用于生成低維表示的無監督結構,目的是最小化編碼器的輸入和解碼器的輸出之間的損失[91]。在本節中,我們將介紹應用于異常分析的基于GAE的算法。根據訓練和學習模式的不同,將這些方法分為3類,即通用自編碼器、對抗訓練和超球學習。表5總結了這些方法的主要特點。在圖5中,我們提出了一個基于GAE的異質網絡異常引用行為檢測模型
圖神經網絡(GNNs)是一種基于圖的深度學習模型,已成功應用于許多領域。盡管GNN具有一定的有效性,但GNN要有效地擴展到大型圖仍然是一個挑戰。作為一種補救措施,分布式計算能夠提供豐富的計算資源,成為訓練大規模GNN的一種很有前途的解決方案。然而,圖結構的依賴性增加了實現高效分布式GNN訓練的難度,這將受到海量通信和工作量不平衡的影響。近年來,人們在分布式GNN訓練方面做了很多工作,提出了一系列的訓練算法和系統。然而,從圖處理到分布式執行的優化技術還缺乏系統的綜述。本文分析了分布式GNN訓練中的三個主要挑戰,即大量特征通信、模型精度損失和工作負載不平衡。然后,我們介紹了分布式GNN訓練優化技術的一種新的分類法,以解決上述挑戰。新的分類法將現有技術分為四類:GNN數據分區、GNN批處理生成、GNN執行模型和GNN通信協議。我們仔細討論了每個類別中的技術。最后,我們分別總結了現有的多GPU、GPU集群和CPU集群分布式GNN系統,并對可擴展GNN的未來發展方向進行了討論。
//www.zhuanzhi.ai/paper/f714e263f8583bad283b4dcbc85a2aa5
1. 概述
圖神經網絡(GNN)是處理圖建模問題的強大工具,已被廣泛應用于各種應用中,包括社交網絡(如社交垃圾郵件檢測[87,112],社會網絡分析[91]),生物信息學(如蛋白質界面預測[35],疾病-基因關聯[83]),藥物發現[11,66],流量預測[61],醫療保健[2,21],推薦[32,49,55,111],自然語言處理[134,145]和其他[26,85,133,141,144]。通過將圖結構信息融入到深度學習模型中,GNNs可以取得明顯優于傳統機器學習和數據挖掘方法的效果。GNN模型通常包含多圖卷積層,其中每個頂點聚合其鄰居的最新狀態,更新頂點的狀態,并對更新的頂點狀態應用神經網絡(即轉換)。以傳統的圖卷積網絡(GCN)為例,在每一層中,頂點使用求和函數聚合相鄰的狀態和自己的狀態,然后應用單層MLP轉換新狀態。如果層數為??,這樣的過程重復??次。在??th層中生成的頂點狀態供下游任務使用,如節點分類、鏈接預測等。近年來,許多研究工作在圖神經網絡模型的設計方面取得了顯著進展。著名的模型包括GCN[108]、GraphSAGE[46]、GAT[95]、GIN[118]和許多其他特定于應用程序的GNN模型[128,130]。到目前為止,已有數十篇綜述綜述了GNN模型[114,116,135,147]。另一方面,為了高效地開發不同的GNN模型,基于各種深度學習庫提出了許多面向GNN的框架[8,14,34,44,68,104]。許多新的優化被提出來加速GNN訓練,包括GNN計算內核[19,38,52,53,81,93,129],高效的編程模型[51,113,117],以及充分利用新硬件[18,42,124,148]。然而,這些框架和優化主要集中在單個機器上訓練GNN,而沒有過多關注輸入圖的可擴展性。
如今,大規模圖神經網絡[62,70]由于大規模大圖數據的普遍存在而成為一個熱門話題。擁有數十億個頂點和數萬億條邊的圖形是很常見的,比如新浪微博、微信、Twitter和Facebook等社交網絡。然而,現有的大多數GNN模型只在小圖數據集上進行測試,無法處理大圖數據集[50]或效率低下。這是因為之前的GNN模型比較復雜,在處理大型圖時需要大量的計算資源。通過設計可擴展的GNN模型,實現了大規模的圖神經網絡。他們使用簡化[36,47,110],量化[4,33,54,71,90,100,101,107,139],取樣[20,123,125]和蒸餾[24,121,131]來設計高效的模型。另一種方法是將分布式計算應用于GNN訓練。因為在處理大型圖形時,單個設備(如GPU)有限的內存和計算資源成為大規模GNN訓練的瓶頸,而分布式計算提供更多的計算資源(如多GPU、CPU集群等)來提高訓練效率。在設計高效的分布式GNN訓練框架(如PipeGCN [99], BNS-GCN[98])和分布式GNN訓練系統(如AliGraph [150], DistDGL [142], ROC[58])方面已經做出了許多努力。在這個調查中,我們關注的工作與分布式計算的大圖神經網絡,又稱分布式GNN訓練。它將整個模型訓練的工作量分配給一組工人,所有工人并行處理工作量。然而,由于GNN的數據依賴性,將現有的分布式機器學習方法[96,103]應用于GNN并非易事,許多新的技術被提出來優化分布式GNN的訓練管道。盡管有很多關于GNN模型的調查[114,135,147],但據我們所知,很少有人系統地回顧分布式GNN訓練的技術。最近,Besta等[9]只回顧了GNN的并行計算范式,Abadal[1]從算法到硬件加速器考察了GNN計算。
為了清晰地組織分布式GNN訓練的技術,我們介紹了一種通用的分布式GNN訓練管道,該管道由數據劃分、GNN模型優化和梯度聚合三個階段組成。前兩個階段涉及GNN特定的執行邏輯,包括圖處理和圖聚合。最后一個階段與傳統的分布式機器學習相同。在這個通用分布式GNN訓練管道的背景下,我們討論了分布式GNN訓練的三個主要挑戰,這些挑戰是由圖數據中的數據依賴性引起的,需要新的分布式GNN特定技術。為了幫助讀者更好地理解解決上述挑戰的各種優化技術,我們介紹了一種新的分類法,將這些技術分為四個正交的類別:GNN數據分區、GNN批處理生成、GNN執行模型和GNN通信協議。該分類法不僅涵蓋了小批分布式GNN訓練和全圖分布式GNN訓練中使用的優化技術,而且還討論了從圖處理到模型執行的技術。我們仔細回顧了每個類別中的現有技術,然后描述了23個來自業界或學術界的代表性分布式GNN系統和框架。最后,簡要討論了分布式GNN訓練的未來發展方向。
這項綜述的貢獻如下:
這是第一個專注于高效分布式GNN訓練優化技術的綜述,它幫助研究人員快速了解分布式GNN訓練的現狀。
通過考慮端到端分布式GNN訓練的生命周期,我們引入了分布式GNN訓練技術的一種新的分類法。在高層次上,新的分類法由四個正交類別組成,分別是GNN數據分區、GNN批處理生成、GNN執行模型和GNN通信協議。
我們為新分類法中的每個類別提供了詳細和全面的技術總結。
我們回顧了23個具有代表性的分布式GNN訓練系統和框架,從工業界到學術界。
討論分布式GNN訓練的未來發展方向。
2. 分布式GNN訓練和挑戰
為了更好地理解端到端分布式GNN訓練的一般工作流程,我們將訓練管道分為數據劃分、GNN模型優化和梯度聚合三個階段。圖1可視化了端到端分布式GNN訓練工作流的高級抽象。
數據分區。這是一個支持分布式訓練的預處理階段。它將輸入數據(即圖和特征)分布到一組工作者中。考慮到GNN訓練數據的依賴性,數據劃分階段比傳統分布式機器學習中的數據劃分階段更加復雜。如圖1所示,分區數據(即子圖)之間的跨工作者邊暗示了數據依賴性。如果我們承認分區之間的數據依賴性,分布式訓練效率會因通信而降低;如果我們簡單地忽略數據依賴性,模型的準確性就會被破壞。因此,數據分區是端到端分布式GNN訓練效率的關鍵階段。
GNN模型優化。這是分布式GNN訓練的核心階段,執行GNN模型的訓練邏輯(即前向計算和后向計算)。我們進一步將這一階段分為計算圖生成、執行模型和通信協議。首先,每個worker根據分塊的輸入圖和特征生成計算圖,然后用計算圖執行GNN模型,計算損失和梯度。但由于數據的依賴性,計算圖的生成和GNN模型的執行與傳統的深度學習模型有很大的不同。在不訪問遠程輸入數據的情況下,小批量訓練策略的計算圖可能無法正確生成。執行模型涉及GNN模型的??-layer圖聚合,聚合呈現不規則的數據訪問模式。在分布式全圖訓練中,每一層的圖聚合需要通過通信協議訪問頂點遠程鄰居的隱藏特征,還需要考慮層與層之間的同步模式。因此,與傳統的分布式機器學習相比,由于GNN的數據依賴性,計算圖的生成和模型的執行變得更加復雜。
梯度聚合。該階段負責聚合最新的局部梯度,獲得全局梯度,更新模型參數。在GNN環境下,模型規模通常較小,模型更新邏輯與其他機器學習模型相同。經典分布式機器學習中已有的梯度聚合技術可以直接應用于分布式GNN訓練。
為了解決上述問題,實現分布式GNN訓練并優化訓練效率,近年來提出了許多新的技術。大多數現有的工作都是從系統或框架的角度來展示他們自己的技術貢獻,而沒有從技術的角度來很好地回顧相關的工作。本文介紹了一種新的分類法,以端到端分布式訓練管道中的階段為基礎,組織分布式gnn特定技術。通過這樣的設計,我們將分布式GNN訓練管道中相同階段的相似技術組織在一起,幫助讀者充分理解分布式GNN訓練中不同階段的現有解決方案。根據以往的實證研究,由于數據依賴性,分布式GNN訓練的瓶頸一般出現在數據分區和在建的GNN模型優化階段,而針對GNN的新技術就在這兩個階段。此外,不同的訓練策略(如小批量訓練、全圖訓練)帶來不同的工作負載模式,導致模型優化中使用不同的優化技術。例如,模型優化階段的計算圖生成對于小批訓練很重要,而通信協議對于全圖訓練很重要。因此,我們的新分類法將特定于分布式GNN的技術分為四類(即GNN數據分區、GNN批處理生成、GNN執行模型和GNN通信協議),如圖2所示。下面,我們將介紹每個類別的概述。
3. GNN數據分區****
在本節中,我們回顧了分布式GNN訓練中現有的GNN數據分區技術。圖3描述了這些技術的概述。考慮到圖和特征是GNN中兩種典型的數據類型,我們將劃分方法分為圖劃分和特征劃分。優化目標是工作量平衡、通信和計算最小化,旨在解決挑戰#1和#3。此外,成本模型是捕獲GNN工作負載特征的另一個關鍵組件。在下面,我們首先提出了代價模型,然后分別討論了圖劃分和特征劃分。
4 GNN批量生成
小批GNN訓練是將GNN擴展為大型圖的常用方法。圖采樣實際上是在獨立模式下生成小批量的工具。到目前為止,已經提出了許多基于采樣的圖神經網絡[17,23,46,56,125,151],根據采樣方法的不同類型,可以分為頂點采樣、層采樣和子圖采樣。不同的批生成方法會影響訓練效率和訓練精度。為了避免圖采樣成為瓶頸,人們對高效GNN數據加載器進行了一些探索[5,25,27,76]。在小批分布式GNN訓練中,數據依賴性為批生成過程帶來了大量的通信。為了提高分布式環境下的訓練效率,針對分布式訓練提出了幾種新的GNN批生成技術,并解決了挑戰#1和挑戰#2。如圖4所示,一種解決方案是通過分布式抽樣生成小批處理,另一種是直接使用本地分區(或子圖)作為小批處理。
5. GNN執行模型
圖1中的GNN模型優化階段包括計算圖生成和計算圖執行兩個子階段。執行模型負責對子階段的操作進行調度,以達到較高的訓練效率。這兩個子階段針對不同的訓練范式有不同的運算符。在分布式小批訓練中,采樣和特征提取操作影響訓練效率,計算圖生成成本高。而對于分布式全圖訓練,由于工作者之間的數據依賴性,計算圖的執行比較復雜。下面,我們分別討論了計算圖生成和計算圖執行的執行模型。
6 結論
分布式GNN訓練是將GNN模型擴展到大圖的成功方法之一。在本綜述中,我們系統地回顧了現有的分布式GNN訓練技術,從圖數據處理到分布式模型執行,涵蓋了端到端分布式GNN訓練的生命周期。我們將分布式GNN訓練管道分為三個階段,其中數據劃分階段和GNN模型優化階段是影響GNN訓練效率的兩個關鍵階段。為了清晰地組織優化這兩個關鍵階段的新技術貢獻,我們提出了一個新的分類法,由四個正交的類別組成:GNN數據分區、GNN批處理生成、GNN執行模型和GNN通信協議。在GNN數據分區類別中,我們描述了用于分布式GNN訓練的數據分區技術;在GNN批生成類中,我們提出了用于小批分布式GNN訓練的快速GNN批生成技術;在GNN執行模型方面,討論了計算圖生成和計算圖執行所使用的執行模型;在GNN通信協議類別中,我們討論了分布式GNN訓練的同步和異步協議。在仔細回顧了這四類技術之后,我們分別總結了現有代表性的多GPU分布式GNN系統、GPU集群分布式GNN系統和CPU集群分布式GNN系統,并對未來優化大規模GNN訓練的方向進行了討論。
近幾年來,將深度學習應用到處理和圖結構數據相關的任務中越來越受到人們的關注.圖神經 網絡的出現使其在上述任務中取得了重大突破,比如在社交網絡、自然語言處理、計算機視覺甚至生命 科學等領域得到了非常廣泛的應用.圖神經網絡可以把實際問題看作圖中節點之間的連接和消息傳播 問題,對節點之間的依賴關系進行建模,從而能夠很好地處理圖結構數據.鑒于此,系統綜述了圖神經網絡模型以及應用.首先從譜域、空間域和池化3方面對圖卷積神經網絡進行了闡述.然后,描述了基于注意 力機制和自編碼器的圖神經網絡模型,并補充了一些其他方法實現的圖神經網絡.其次,總結了針對圖 神經網絡能不能做大做深等問題的討論分析.進而,概括了圖神經網絡的4個框架.還詳細說明了在圖 神經網絡在自然語言處理、計算機視覺等方面的應用.最后,對圖神經網絡未來的研究進行了展望和總 結.相較于已有的圖神經網絡綜述文章,詳細闡述了譜理論知識,并對基于譜域的圖卷積神經網絡體系 進行全面總結.同時,給出了針對空間域圖卷積神經網絡效率低的改進模型這一新的分類標準.并總結 了針對圖神經網絡表達能力、理論保障等的討論分析,增加了新的框架模型.在應用部分,闡述了圖神經 網絡的最新應用.
在過去幾年,深度學習已經在人工智能和機器 學習上取得了成功,給社會帶來了巨大的進步.深度 學習的特點是堆積多層的神經網絡層,從而具有更 好的學 習 表 示 能 力.卷 積 神 經 網 絡 (convolutional neuralnetwork,CNN)的飛速發展更是將深度學習 帶上了一個新的臺階[1G2].CNN 的平移不變性、局部 性和組合性使其天然適用于處理像圖像這樣的歐氏 結構數據的任務中[3G4],同時也可以應用于機器學習 的其他各個領域[5G7].深度學習的成功一部分源自于 可以從歐氏數據中提取出有效的數據表示,從而對 其進行高效的處理.另一個原因則是得益于 GPU 的 快速發展,使得計算機具有強大的計算和存儲能力, 能夠在大規模的數據集中訓練和學習深度學習模 型.這使得深度學習在自然語言處理[8]、機器視覺[9] 和推薦系統[10]等領域都表現出了良好的性能.
但是, 現有的神經網絡只能對常規的歐氏結構 數據進行處理.如圖1(a)歐氏數據結構,其特點就是 節點有固定的排列規則和順序,如2維網格和1維 序列.而當前越來越多的實際應用問題必須要考慮 非歐氏數據,如圖1(b)非歐氏數據結構中節點沒有 固定的排列規則和順序,這就使得不能直接將傳統 的深度學習模型遷移到處理非歐氏結構數據的任務 中.如若直接將 CNN 應用到其中,由于非歐氏數據中心節點的鄰居節點數量和排列順序不固定,不滿 足平移不變性,這就很難在非歐氏數據中定義卷積 核.針對圖神經網絡(graphneuralnetwork,GNN) 的研究工作,最開始就是在如何固定鄰居節點數量 以及如何給鄰居節點排序展開的,比如 PATCHYG SAN [11],LGCN [12],DCNN [13]方法等.完成上述2項 工作之后,非歐氏結構數據就轉化為歐氏結構數據, 然后就可以利用 CNN 處理.圖是具有點和邊的典型 非歐氏數據,在實際中可以將各種非歐氏數據問題 抽象為圖結構.比如在交通系統中,利用基于圖的學 習模型可以對路況信息進行有效的預測[14].在計算 機視覺中,將人與物的交互看作一種圖結構,可以對 其進行有效地識別[15]。
近期已有一些學者對圖神經網絡及其圖卷積神經網絡分支進行了綜述[16G19].本文的不同之處在于,首先由于經典模型是很多變體模型的基石,所以給 出了經典模型的理論基礎以及詳細推理步驟.在1.2 節基于空間方法的圖卷積神經網絡中,多用圖的形 式列出模型的實現過程,使模型更加通俗易懂.文獻 [16G19]并未對目前廣大學者熱點討論的問題進行 總結,所以在第5節針對圖神經網絡的討論部分,首 次列出了目前研究學者對 GNN 的熱點關注問題, 比如其表達能力、過平滑問題等.然后,在第6節中 總結了圖神經網絡新框架.同時,針對圖神經網絡的 應用,在第7節中較全面地介紹了 GNN 的應用場 景.最后,列出了圖神經網絡未來的研究方向.在圖2 中列出了本文的主體結構.
研究圖神經網絡對推動深度學習的發展以及人 類的進步具有重大意義.首先,現實中越來越多的問 題可以抽象成非歐氏結構數據,由于圖數據的不規 則性,傳統的深度學習模型已經不能處理這種數據, 這就亟需研究設計一種新的深度神經網絡.而 GNN 所處理的數據對象就是具有不規則結構的圖數據,GNN 便在這種大背景下應運而生[20G21].然后,圖數 據的結構和任務是十分豐富的.這種豐富的結構和 任務也正是和人們生活中要處理的實際問題相貼合 的.比如,圖數據有異質性以及邊的有向連接特性, 這和推薦系統中的場景完全類似.圖數據處理任務 中節點級別、邊級別以及整圖級別也同樣可以應用到深度學習的各個應用場景中.所以,GNN 的研究 為解決生活中的實際問題找到了一種新的方法和途 徑.最后,GNN 的應用領域是十分廣泛的,能夠處理 各種能抽象成圖數據的任務.不管是在傳統的自然 語言處理領域[22G24]或者圖像領域[25G26],還是在新興 的生化領域[27G28],GNN都能表現出強大的性能.
1 圖卷積神經網絡
CNN 已經在圖像識別、自然語言處理等多個領 域取得了不俗的成績,但其只能高效地處理網格和 序列等這樣規則的歐氏數據.不能有效地處理像社 交多媒體網絡數據、化學成分結構數據、生物蛋白數 據以及知識圖譜數據等圖結構的非歐氏數據.為此, 無數學者經過不懈努力,成功地將 CNN 應用到圖 結構的非歐氏數據上,提出了圖卷積神經網絡(graph convolutionalnetwork,GCN).GCN 是 GNN 中一 個重要分支,現有的大多數模型基本上都是在此基 礎上變化推導而來.下面我們將按照從基于譜方法、 空間方法和池化3方面對 GCN 進行總結和概括.
2 基于注意力實現的圖神經網絡
注意力機制在處理序列任務已經表現出強大的 能力[60],比如在機器閱讀和學習 句 子 表 征 的 任 務 中.其強大的優勢在于允許可變大小的輸入,然后利 用注意力機制只關心最重要的部分,最后做出決策處理.一些研究發現,注意力機制可以改進卷積方 法,從而可以構建一個強大的模型,在處理一些任務 時能夠取得更好的性能.為此,文獻[61]將注意力機 制引入到了圖神經網絡中對鄰居節點聚合的過程 中,提出了圖注意力網絡(graphattentionnetworks, GAT).在傳統的 GNN 框架中,加入了注意力層,從 而可以學習出各個鄰居節點的不同權重,將其區別對待.進而在聚合鄰居節點的過程中只關注那些作 用比較大的節點,而忽視一些作用較小的節點.GAT 的核心思想是利用神經網絡學習出各個鄰居節點的 權重,然后利用不同權重的鄰居節點更新出中心節 點的表示。
3 基于自編碼器實現的圖神經網絡
在無監督學習任務中,自編碼器(autoencoder, AE)及其變體扮演者非常重要的角色,它借助于神 經網絡模型實現隱表示學習,具有強大的數據特征 提取能力.AE 通過編碼器和解碼器實現對輸入數 據的有效表示學習,并且學習到的隱表示的維數可 以遠遠小于輸入數據的維數,實現降維的目的.AE 是目前隱表示學習的首選深度學習技術,當我們把 具有某些聯系的原始數據(X1,X2,…,Xn)輸入到 AE中進行重構學習時,可以完成特征提取的任務. 自編碼器的應用場景是非常廣泛的,經常被用于數據去噪、圖像重構以及異常檢測等任務中.除此之 外,當 AE被用于生成與訓練數據類似的數據時, 稱之為生成式模型.由于 AE具有上述優點,一些學 者便將 AE 及其變體模型應用到圖神經網絡當中 來.文 獻 [69]第 1 個 提 出 了 基 于 變 分 自 編 碼 器 (variationalautoencoder,VAE)的變分圖自編碼器 模型 (variationalgraphautoencoder,VGAE),將 VAE應用到對圖結構數據的處理上.VGAE利用隱 變量學習出無向圖的可解釋隱表示,使用了圖卷積 網絡編碼器和一個簡單的內積解碼器來實現這個模 型.
4. 未來研究展望 GNN
雖然起步較晚, 但由于其強大的性能, 已經取得了不俗的表現, 并且也在例如計算機視覺和推薦系統等實際應用中發揮著巨大的作用.不難發現, GNN 確實更符合當前實際應用的發展趨勢, 所 以 在 近 幾 年 才 會 得 到 越 來 越 多 人 的 關 注.但 是, GNN 畢竟起步較晚,還沒有時間積累,研究的深度 和領域還不夠寬廣.目前來看,它依然面臨著許多亟 待解決的問題,本節總結了 GNN 以后的研究趨勢.
1) 動態圖.目前,GNN 處理的圖結構基本上都 是靜態圖,涉及動態圖結構的模型較少[138G139],處理 動態圖對 GNN 來說是一個不小的挑戰.靜態圖的 圖結構是靜態不變的,而動態圖的頂點和邊是隨機 變化的,甚至會消失,并且有時還沒有任何規律可 循.目前針對 GNN 處理動態圖結構的研究還是比 較少的,還不夠成熟.如果 GNN 能夠成功應用于動 態圖結構上,相信這會使 GNN 的應用領域更加寬 廣.將 GNN 模型成功地推廣到動態圖模型是一個 熱點研究方向.
2) 異質圖.同質圖是指節點和邊只有一種類型, 這種數據處理起來較容易.而異質圖則是指節點和 邊的類型不只一種,同一個節點和不同的節點連接 會表現出不同的屬性,同一條邊和不同的節點連接 也會表現出不同的關系,這種異質圖結構處理起來 就相對復雜.但異質圖卻是和實際問題最為貼切的 場景,比如在社交網絡中,同一個人在不同的社交圈 中可能扮演著父親、老師等不同的角色.對于異質圖 的研究還處在剛起步的階段[140G141],模型方法還不 夠完善.所以,處理異質圖也是將來研究的一個熱點.
3) 構建更深的圖神經網絡模型.深度學習的強 大優勢在于能夠形成多層的不同抽象層次的隱表 示,從而才能表現出優于淺層機器學習的強大優勢. 但對于圖深度學習來說,現有的圖神經網絡模型大 多還是只限于淺層的結構.通過實驗發現,當構造多 層的神經網絡時,實驗結果反而變差.這是由過平滑 現象造成的,GNN 的本質是通過聚合鄰居節點信息 來表征中心節點.當構造多層的神經網絡之后,中心 節點和鄰 居 節 點 的 差 異 就 會 變 得 微 乎 其 微,從 而 會導致分類結果變差.如何解決過平滑現象,使圖神 經網絡能夠應用于更多層的結構,從而發揮出深度 學習的強大優勢.雖然已有文獻對其進行了討論[91], 但構建更深的圖神經網絡模型仍是值得深入研究的 問題.
4) 將圖神經網絡應用到大圖上.隨著互聯網的 普及,圖神經網絡處理的數據也變得越來越大,致使 圖中的節點數量變得巨大,這就給圖神經網絡的計 算帶來了不小的挑戰.雖然一些學者對該問題進行 了研究改進[142],但針對將圖神經網絡應用到大圖 上的研究同樣是將來研究的熱點問題,在這方面,引 入摘要數據結構,構造局部圖數據,并能適當地融合 局部圖結構,形成整體圖神經網絡的表示是可能的 思路.
5) 探索圖中更多有用的信息.在當前諸多學者 對于圖神經網絡模型的研究中,僅僅利用了圖中節 點之間有無連接這一拓撲結構信息.但是,圖是一個 非常復雜的數據結構,里面還有很多有用的信息未 被人們發現利用.比如,圖中節點的位置信息.中心 節點的同階鄰居節點處于不同位置,距離中心節點 的遠近不同應該會對中心節點產生的影響程度不 同.如果能夠探索出圖中更多的有用信息,必會將圖 神經網絡的性能提升一個層次,這是一個非常值得 探討的問題.
6) 設計圖神經網絡的數學理論保障體系.任何 神經網絡模型必須有強大的數學理論支撐才能發展 得更快,走得更遠.現在對于圖神經網絡模型的設 計,大多還只是依靠研究者的經驗和基于機理邏輯 設計出來的,并且對于圖神經網絡模型的性能分析 僅僅是從實驗結果中得來,并沒有從數學理論層面 給出 一 個 合 理 的 解 釋.目 前,該 領 域 已 有 一 些 研 究[90G91],但為圖神經網絡設計出強大的數學理論,指 導圖神經網絡的構造、學習和推理過程.能夠給出圖 神經網絡學習結果正確性的數學理論保障,仍是未 來發展的一個重要方向.