Elfoglalt GPU-k: A mintavételezési és feldolgozási módszer felgyorsítja a mély tanulást nagy grafikonokon. PlatoBlockchain Data Intelligence. Függőleges keresés. Ai.

Elfoglalt GPU-k: A mintavételezési és feldolgozási módszer felgyorsítja a mély tanulást nagy grafikonokon

A grafikonok, az élekkel összekapcsolt csomópontok potenciálisan kiterjedt hálója, felhasználhatók az adatok közötti kapcsolatok kifejezésére és lekérdezésére, mint például a társadalmi kapcsolatok, a pénzügyi tranzakciók, a forgalom, az energiahálózatok és a molekuláris kölcsönhatások. Ahogy a kutatók egyre több adatot gyűjtenek, és elkészítik ezeket a grafikus képeket, a kutatóknak gyorsabb és hatékonyabb módszerekre, valamint nagyobb számítási teljesítményre lesz szükségük ahhoz, hogy mély tanulást végezzenek rajtuk, a gráf neurális hálózatok (GNN) útján.  

Az MIT és az IBM Research kutatói által kifejlesztett új módszer, a SALIENT (SAmpling, sLIcing, and data movemeNT), javítja a betanítást és a következtetési teljesítményt a számítás három kulcsfontosságú szűk keresztmetszete megoldásával. Ez drámaian lecsökkenti a GNN-ek futási idejét nagy adatkészleteken, amelyek például 100 millió csomópontot és 1 milliárd élt tartalmaznak. Ezenkívül a csapat úgy találta, hogy a technika jól skálázható, ha a számítási teljesítményt 16-XNUMX grafikus feldolgozó egységhez (GPU) adják. A munkát az Ötödik Gépi Tanulás és Rendszerek Konferencián mutatták be.

„Elkezdtük megvizsgálni azokat a kihívásokat, amelyekkel a jelenlegi rendszerek szembesülnek, amikor a grafikonok legkorszerűbb gépi tanulási technikáit igazán nagy adathalmazokra méretezték. Kiderült, hogy sok a tennivaló, mert sok meglévő rendszer jó teljesítményt ért el elsősorban a kisebb adatkészleteken, amelyek elférnek a GPU memóriájában” – mondja Tim Kaler, a vezető szerző és az MIT Computer Science posztdoktorija. és a Mesterséges Intelligencia Laboratórium (CSAIL).

Hatalmas adatkészletek alatt a szakértők olyan skálákat értenek, mint a teljes Bitcoin-hálózat, ahol bizonyos minták és adatkapcsolatok trendeket vagy szabálytalanságot jelezhetnek. "Közel egymilliárd bitcoin-tranzakció van a blokkláncon, és ha egy ilyen közös hálózaton belül tiltott tevékenységeket akarunk azonosítani, akkor egy ilyen léptékű grafikonnal állunk szemben" - mondja Jie Chen társszerző, vezető kutató és menedzser. az IBM Research és az MIT-IBM Watson AI Lab. "Olyan rendszert szeretnénk felépíteni, amely képes kezelni az ilyen grafikonokat, és lehetővé teszi a feldolgozás minél hatékonyabbá tételét, mert minden nap lépést akarunk tartani az újonnan generált adatok ütemével."

Kaler és Chen társszerzői közé tartozik a Jump Trading munkatársa, Nickolas Stathas MEng '21, aki diplomás munkája részeként fejlesztette ki a SALIENT-et; volt MIT-IBM Watson AI Lab gyakornok és MIT végzős hallgató Anne Ouyang; MIT CSAIL posztdok. Alexandros-Stavros Iliopoulos; MIT CSAIL kutató, Tao B. Schardl; és Charles E. Leiserson, Edwin Sibley Webster, az MIT elektromérnöki professzora és az MIT-IBM Watson AI Lab kutatója.     

Erre a problémára a csapat rendszerközpontú megközelítést alkalmazott módszerének kidolgozásakor: SALIENT, mondja Kaler. Ennek érdekében a kutatók a meglévő gépi tanulási keretrendszerekbe illeszkedő komponensek alapvető optimalizálását valósították meg, mint például a PyTorch Geometric és a mély gráfkönyvtár (DGL), amelyek a gépi tanulási modell felépítésének interfészei. Stathas szerint a folyamat olyan, mintha motort cserélnénk, hogy gyorsabb autót építsünk. Módszerüket úgy tervezték, hogy illeszkedjen a meglévő GNN architektúrákba, így a tartományi szakértők könnyedén alkalmazhatják ezt a munkát a meghatározott területeken, hogy felgyorsítsák a modellképzést és gyorsabban nyerjék el a következtetéseket. A csapat megállapította, hogy a trükk az volt, hogy az összes hardvert (CPU-kat, adatkapcsolatokat és GPU-kat) mindig elfoglalt állapotban kell tartani: miközben a CPU mintát vesz a grafikonból, és előkészíti az adatok mini-kötegeit, amelyeket aztán az adatkapcsolaton keresztül továbbítanak. , annál kritikusabb GPU dolgozik a gépi tanulási modell betanításán vagy a következtetés levonásán. 

A kutatók a GNN-ekhez gyakran használt gépi tanulási könyvtár (PyTorch Geometric) teljesítményének elemzésével kezdték, amely a rendelkezésre álló GPU-erőforrások megdöbbentően alacsony kihasználását mutatta. Egyszerű optimalizálás alkalmazásával a kutatók 10-ről 30 százalékra javították a GPU kihasználtságát, ami 1.4-szeres teljesítményjavulást eredményezett a nyilvános benchmark kódokhoz képest kétszeresére. Ez a gyors alapvonali kód 50.4 másodperc alatt képes egy teljes áthaladást végrehajtani egy nagy betanítási adathalmazon az algoritmuson (egy korszakon) keresztül.                          

A teljesítmény további javítására törekedve a kutatók az adatfolyam elején fellépő szűk keresztmetszetek vizsgálatát tűzték ki célul: a grafikon-mintavételezés és a mini-batch előkészítés algoritmusait. Más neurális hálózatoktól eltérően a GNN-ek szomszédsági aggregációs műveletet hajtanak végre, amely a gráf más közeli csomópontjaiban található információk felhasználásával számítja ki a csomópontra vonatkozó információkat – például a közösségi hálózat gráfjában a felhasználó barátai barátaitól származó információkat. Ahogy a GNN rétegeinek száma növekszik, a hálózatnak az információért elérendő csomópontjainak száma robbanásszerűen megnőhet, túllépve a számítógép korlátait. A szomszédsági mintavételi algoritmusok a csomópontok egy kisebb véletlenszerű részhalmazának kiválasztásával segítenek összegyűjteni; a kutatók azonban úgy találták, hogy ennek jelenlegi megvalósítása túl lassú volt ahhoz, hogy lépést tartsanak a modern GPU-k feldolgozási sebességével. Válaszul olyan adatszerkezetek, algoritmikus optimalizálás és egyebek keverékét azonosították, amelyek javították a mintavételi sebességet, végül körülbelül háromszorosára javították a mintavételezési műveletet, így a periódusonkénti futásidő 50.4-ről 34.6 másodpercre nőtt. Azt is megállapították, hogy a megfelelő arányú mintavétel a következtetés során is elvégezhető, javítva az általános energiahatékonyságot és -teljesítményt, amit a szakirodalom figyelmen kívül hagyott, jegyzi meg a csapat.      

A korábbi rendszerekben ez a mintavételi lépés többfolyamatos megközelítés volt, ami többletadatokat és szükségtelen adatmozgatást hozott létre a folyamatok között. A kutatók a SALIENT módszert fürgébbé tették azáltal, hogy egyetlen folyamatot hoztak létre könnyű szálakkal, amelyek a CPU-n lévő adatokat megosztott memóriában tartották. Ezenkívül a SALIENT kihasználja a modern processzorok gyorsítótárának előnyeit – mondja a Stathas –, párhuzamosítva a funkciószeletelést, amely a CPU-mag gyorsítótárának megosztott memóriáján belül kinyeri a releváns információkat az érdeklődésre számot tartó csomópontokról és a környező szomszédokról és élekről. Ez ismét csökkentette a teljes korszakonkénti futási időt 34.6 másodpercről 27.8 másodpercre.

Az utolsó szűk keresztmetszet, amellyel a kutatók foglalkoztak, az volt, hogy a CPU és a GPU közötti mini kötegelt adatátvitelt egy előzetes letöltési lépéssel vezesse be, amely közvetlenül azelőtt készíti elő az adatokat, hogy szükség lenne rájuk. A csapat számításai szerint ez maximalizálná a sávszélesség-használatot az adatkapcsolatban, és a módszer tökéletes kihasználtságot eredményezne; azonban csak 90 százalék körül látták. Azonosítottak és kijavítottak egy teljesítményhibát egy népszerű PyTorch-könyvtárban, amely szükségtelen oda-vissza kommunikációt okozott a CPU és a GPU között. A hiba kijavításával a csapat 16.5 másodperces korszakonkénti futási időt ért el a SALIENT segítségével.

„Azt hiszem, a munkánk megmutatta, hogy az ördög a részletekben rejlik” – mondja Kaler. „Ha nagyon odafigyel a teljesítményt befolyásoló részletekre egy gráfneurális hálózat betanítása során, rengeteg teljesítménnyel kapcsolatos probléma megoldható. Megoldásainkkal végül teljesen szűk keresztmetszetek lettünk a GPU-számítás miatt, ami egy ilyen rendszer ideális célja.”

A SALIENT sebességét három szabványos adatkészleten, ogbn-arxiv, ogbn-products és ogbn-papers100M, valamint több gépes beállításokban értékelték ki, különböző szintű fanout szintekkel (az adatok mennyisége, amelyet a CPU előkészít a GPU-hoz), és számos architektúrán keresztül, köztük a legújabb legkorszerűbb GraphSAGE-RI-n. A SALIENT minden beállításban felülmúlta a PyTorch Geometric teljesítményét, különösen a nagy ogbn-papers100M adatkészleten, amely 100 millió csomópontot és több mint egymilliárd élt tartalmaz. Itt háromszor gyorsabb volt egy GPU-n futva, mint az optimalizált alapvonal, amelyet eredetileg ez a munka; 16 GPU-val a SALIENT további nyolcszor gyorsabb volt. 

Míg más rendszerek hardverei és kísérleti beállításai kissé eltérőek voltak, így nem mindig volt közvetlen összehasonlítás, a SALIENT még mindig felülmúlta őket. A hasonló pontosságot elért rendszerek közül a reprezentatív teljesítményszámok között szerepel 99 másodperc egy GPU és 32 CPU, valamint 13 másodperc 1,536 CPU használata esetén. Ezzel szemben a SALIENT futásideje egy GPU-val és 20 CPU-val 16.5 másodperc volt, és mindössze két másodperc volt 16 GPU-val és 320 CPU-val. „Ha megnézzük a korábbi munkák által közölt legalacsonyabb számokat, akkor a 16 GPU-s futásidőnk (két másodperc) nagyságrenddel gyorsabb, mint más számok, amelyeket korábban jelentettek ezen az adatkészleten” – mondja Kaler. A kutatók teljesítményjavulásukat részben annak tulajdonították, hogy a kódjukat egyetlen gépre optimalizálták, mielőtt az elosztott beállításra váltanának. A Stathas szerint a tanulság az, hogy az Ön pénzéért „ésszerűbb a meglévő hardvert hatékonyan és a legvégsőkig használni, mielőtt több számítógépre bővítené”, ami jelentős költség- és szén-dioxid-kibocsátást jelenthet. hogy jöhet a modellképzés.

Ez az új kapacitás lehetővé teszi a kutatók számára, hogy egyre nagyobb és nagyobb grafikonokat dolgozzanak fel és mélyebbre ásjanak. Például a korábban említett Bitcoin hálózat 100,000 1,000 csomópontot tartalmazott; a SALIENT rendszer képes kezelni egy XNUMX-szer (vagy három nagyságrenddel) nagyobb grafikont.

„A jövőben nem csak arra törekszünk, hogy ezt a gráf neurális hálózati tanító rendszert futtassuk a meglévő algoritmusokon, amelyeket az egyes csomópontok tulajdonságainak osztályozására vagy előrejelzésére implementáltunk, hanem elmélyültebb feladatokat is szeretnénk elvégezni, mint pl. gyakori minták azonosítása grafikonon (algráf minták), [amelyek] valóban érdekesek lehetnek a pénzügyi bűncselekmények jelzésére” – mondja Chen. „Szeretnénk azonosítani a grafikonon olyan csomópontokat is, amelyek hasonlóak abban az értelemben, hogy valószínűleg egy pénzügyi bűncselekmény ugyanazon rossz szereplőjének felelnének meg. Ezekhez a feladatokhoz további algoritmusok, esetleg neurális hálózati architektúrák fejlesztésére lenne szükség.”

Ezt a kutatást az MIT-IBM Watson AI Lab, részben az Egyesült Államok Légierejének Kutatólaboratóriuma és az Egyesült Államok Légierejének Mesterséges Intelligencia Gyorsítója támogatta.

Időbélyeg:

Még több Blockchain tanácsadók