麻省理工學(xué)院 | 繁忙的圖形處理器:采樣和流水線方法加速了大型圖形的深度學(xué)習(xí)
指南者留學(xué)
2022-11-30 08:27:25
閱讀量:1185
<p>圖是一種由邊連接的節(jié)點組成的潛在的廣泛網(wǎng)絡(luò),可以用來表達和查詢數(shù)據(jù)之間的關(guān)系,如社會關(guān)系、金融交易、交通、能源網(wǎng)格和分子相互作用。隨著研究人員收集更多的數(shù)據(jù)并構(gòu)建這些圖形圖像,研究人員將需要更快、更有效的方法,以及更強的計算能力,以圖神經(jīng)網(wǎng)絡(luò)(GNN)的方式對它們進行深度學(xué)習(xí)。</p>
<p> </p>
<p>現(xiàn)在,麻省理工學(xué)院和IBM研究院的研究人員開發(fā)了一種名為SALIENT(采樣、切片和數(shù)據(jù)移動)的新方法,通過解決計算中的三個關(guān)鍵瓶頸來提高訓(xùn)練和推理性能。這大大減少了大型數(shù)據(jù)集上gnn的運行時間,例如,包含1億個節(jié)點和10億個邊。此外,該團隊發(fā)現(xiàn),當(dāng)計算能力從1個圖形處理單元(gpu)增加到16個時,該技術(shù)的擴展性很好。這項工作在第五屆機器學(xué)習(xí)和系統(tǒng)會議上發(fā)表。</p>
<p> </p>
<p>“我們開始關(guān)注當(dāng)前系統(tǒng)在將最先進的機器學(xué)習(xí)技術(shù)用于圖形到真正大的數(shù)據(jù)集時所面臨的挑戰(zhàn)。事實證明,還有很多工作要做,因為許多現(xiàn)有的系統(tǒng)主要在適合GPU內(nèi)存的較小數(shù)據(jù)集上取得了良好的性能,”該研究的第一作者、麻省理工學(xué)院計算機科學(xué)和人工智能實驗室(CSAIL)的博士后蒂姆·卡勒說。</p>
<p> </p>
<p>專家們所說的龐大數(shù)據(jù)集,指的是整個比特幣網(wǎng)絡(luò)的規(guī)模,其中的某些模式和數(shù)據(jù)關(guān)系可能闡明趨勢或欺詐行為。“區(qū)塊鏈上有近10億比特幣交易,如果我們想要識別這樣一個聯(lián)合網(wǎng)絡(luò)中的非法活動,那么我們就要面對這樣一個規(guī)模的圖表,”IBM研究院和MIT-IBM沃森人工智能實驗室的高級研究科學(xué)家和經(jīng)理、合著者陳杰(Jie Chen)說。“我們希望建立一個能夠處理這種圖形的系統(tǒng),并允許處理盡可能高效,因為我們每天都希望跟上新數(shù)據(jù)生成的速度。”</p>
<p> </p>
<p>Kaler和Chen的合著者包括Jump Trading的Nickolas Stathas孟'21,他開發(fā)了SALIENT作為其研究生工作的一部分;前MIT- ibm沃森人工智能實驗室實習(xí)生、MIT研究生Anne Ouyang;麻省理工學(xué)院CSAIL博士后Alexandros-Stavros Iliopoulos;MIT CSAIL研究科學(xué)家Tao B. Schardl;以及麻省理工學(xué)院埃德溫·西布里·韋伯斯特電氣工程教授、MIT- ibm沃森人工智能實驗室研究員查爾斯·e·雷瑟森。</p>
<p> </p>
<p>對于這個問題,該團隊采取了一種系統(tǒng)導(dǎo)向的方法來開發(fā)他們的方法:SALIENT, Kaler說。為了做到這一點,研究人員實現(xiàn)了他們認為重要的基本優(yōu)化組件,這些組件適合現(xiàn)有的機器學(xué)習(xí)框架,如PyTorch幾何和深度圖庫(DGL),它們是用于構(gòu)建機器學(xué)習(xí)模型的接口。斯塔薩斯說,這個過程就像更換引擎來制造更快的汽車。他們的方法設(shè)計適合現(xiàn)有的GNN架構(gòu),因此領(lǐng)域?qū)<铱梢暂p松地將這項工作應(yīng)用到他們的特定領(lǐng)域,以加快模型訓(xùn)練,并在推斷過程中更快地梳理出見解。該團隊確定,訣竅是讓所有硬件(CPU、數(shù)據(jù)鏈和GPU)始終處于忙碌狀態(tài):當(dāng)CPU采樣圖并準備小批量數(shù)據(jù),然后通過數(shù)據(jù)鏈傳輸時,更關(guān)鍵的GPU正在工作,以訓(xùn)練機器學(xué)習(xí)模型或進行推斷。</p>
<p> </p>
<p>研究人員首先分析了gnn常用的機器學(xué)習(xí)庫(PyTorch Geometric)的性能,該庫顯示出可用GPU資源的利用率低得驚人。通過簡單的優(yōu)化,研究人員將GPU利用率從10%提高到30%,相對于公共基準測試代碼,性能提高了1.4到2倍。這種快速基線代碼可以在50.4秒內(nèi)通過算法(一個歷元)對大型訓(xùn)練數(shù)據(jù)集執(zhí)行一次完整的遍歷。</p>
<p> </p>
<p>為了進一步提高性能,研究人員開始研究發(fā)生在數(shù)據(jù)管道開始的瓶頸:圖采樣和小批準備的算法。與其他神經(jīng)網(wǎng)絡(luò)不同,gnn執(zhí)行鄰域聚合操作,它使用圖中其他鄰近節(jié)點的信息計算關(guān)于一個節(jié)點的信息——例如,在社交網(wǎng)絡(luò)圖中,用戶的朋友的朋友的信息。隨著GNN層數(shù)的增加,網(wǎng)絡(luò)中獲取信息的節(jié)點數(shù)量可能會激增,超過計算機的極限。鄰域抽樣算法通過選擇更小的隨機節(jié)點子集來進行收集;然而,研究人員發(fā)現(xiàn),目前的實現(xiàn)速度太慢,無法跟上現(xiàn)代gpu的處理速度。作為回應(yīng),他們確定了數(shù)據(jù)結(jié)構(gòu)、算法優(yōu)化等的組合,從而提高了采樣速度,最終將采樣操作提高了約三倍,將每個周期的運行時間從50.4秒提高到34.6秒。他們還發(fā)現(xiàn),在推斷過程中,以適當(dāng)?shù)念l率進行采樣,可以提高整體能源效率和性能,該團隊指出,這一點在文獻中被忽略了。</p>
<p> </p>
<p>在以前的系統(tǒng)中,這個抽樣步驟是一種多進程方法,這會在進程之間產(chǎn)生額外的數(shù)據(jù)和不必要的數(shù)據(jù)移動。研究人員通過創(chuàng)建一個具有輕量級線程的單一進程,將數(shù)據(jù)保存在共享內(nèi)存中,從而使他們的SALIENT方法更加靈活。此外,顯著利用了現(xiàn)代處理器的緩存,Stathas說,并行特征切片,從CPU核心緩存的共享內(nèi)存中感興趣的節(jié)點及其周圍的鄰居和邊緣提取相關(guān)信息。這再次將整個周期運行時間從34.6秒減少到27.8秒。</p>
<p> </p>
<p>研究人員解決的最后一個瓶頸是使用預(yù)取步驟在CPU和GPU之間流水線小批數(shù)據(jù)傳輸,這將在需要數(shù)據(jù)之前準備數(shù)據(jù)。該團隊計算出,這將最大化數(shù)據(jù)鏈的帶寬使用,并使該方法達到完美利用;然而,他們只看到了大約90%。他們在一個流行的PyTorch庫中發(fā)現(xiàn)并修復(fù)了一個導(dǎo)致CPU和GPU之間不必要的往返通信的性能bug。修復(fù)了這個bug后,團隊使用SALIENT實現(xiàn)了16.5秒的周期運行時間。</p>
<p> </p>
<p>卡勒說:“我認為,我們的研究表明,細節(jié)決定成敗。”“當(dāng)你在訓(xùn)練一個圖神經(jīng)網(wǎng)絡(luò)時密切關(guān)注影響性能的細節(jié),你可以解決大量的性能問題。在我們的解決方案中,我們最終完全被GPU計算所困,而這正是這種系統(tǒng)的理想目標(biāo)。”</p>
<p> </p>
<p>在三個標(biāo)準數(shù)據(jù)集ogbn-arxiv、ogbn-products和ogbn-papers100M上評估了SALIENT的速度,以及在多機設(shè)置下,使用不同級別的fanout (CPU將為GPU準備的數(shù)據(jù)量),并跨越多個架構(gòu),包括最新的最先進的架構(gòu)GraphSAGE-RI。在每一個設(shè)置中,SALIENT都優(yōu)于PyTorch Geometric,最顯著的是在大型ogbn-papers100M數(shù)據(jù)集上,包含1億個節(jié)點和超過10億個邊。這里,它在一個GPU上運行的速度是最初為這項工作創(chuàng)建的優(yōu)化基線的三倍;在配備16個gpu的情況下,SALIENT的速度增加了8倍。</p>
<p> </p>
<p>雖然其他系統(tǒng)的硬件和實驗設(shè)置略有不同,所以并不總是直接的比較,但SALIENT仍然優(yōu)于它們。在達到類似精度的系統(tǒng)中,代表性的性能數(shù)字包括使用一個GPU和32個cpu用時99秒,使用1536個cpu用時13秒。相比之下,使用1個GPU和20個cpu時,SALIENT的運行時間為16.5秒,而使用16個GPU和320個cpu時僅為2秒。Kaler說:“如果你看看之前工作報告的底線數(shù)字,我們的16個GPU運行時間(2秒)比之前報告的其他數(shù)據(jù)快了一個數(shù)量級。”研究人員將他們的性能改進部分歸因于他們在轉(zhuǎn)移到分布式設(shè)置之前針對單個機器優(yōu)化代碼的方法。斯塔薩斯說,這里的教訓(xùn)是,對于你的錢來說,“在你開始擴展到多臺計算機之前,更有意義的是有效地使用你的硬件,并將其發(fā)揮到極致”,這可以在成本和碳排放方面提供顯著的節(jié)省,這可以與模型訓(xùn)練相結(jié)合。</p>
<p> </p>
<p>這種新的能力現(xiàn)在將允許研究人員處理和深入挖掘越來越大的圖表。例如,前面提到的比特幣網(wǎng)絡(luò)包含10萬個節(jié)點;SALIENT系統(tǒng)能夠處理1000倍(或3個數(shù)量級)大的圖形。</p>
<p> </p>
<p>Chen說:“未來,我們不僅要在現(xiàn)有的算法上運行這個圖神經(jīng)網(wǎng)絡(luò)訓(xùn)練系統(tǒng),我們已經(jīng)實現(xiàn)了分類或預(yù)測每個節(jié)點的屬性,我們還想做更深入的任務(wù),比如識別圖中的常見模式(子圖模式),(這)實際上可能對指示金融犯罪很有趣。”“我們還想在圖中識別相似的節(jié)點,這些節(jié)點在某種意義上可能對應(yīng)于金融犯罪中的同一壞人。這些任務(wù)將需要開發(fā)額外的算法,可能還需要神經(jīng)網(wǎng)絡(luò)架構(gòu)。”</p>
<p> </p>
<p>這項研究得到了麻省理工學(xué)院- ibm沃森人工智能實驗室的支持,部分得到了美國空軍研究實驗室和美國空軍人工智能加速器的支持。</p>
<p> </p>
<blockquote>
<p>注:本文由院校官方新聞直譯,僅供參考,不代表指南者留學(xué)態(tài)度觀點。</p>
</blockquote>