Zasedeni grafični procesorji: Metoda vzorčenja in cevovoda pospešuje globoko učenje na velikih grafih PlatoBlockchain Data Intelligence. Navpično iskanje. Ai.

Zasedeni grafični procesorji: metoda vzorčenja in cevovoda pospešuje globoko učenje na velikih grafih

Grafe, potencialno obsežno mrežo vozlišč, povezanih z robovi, je mogoče uporabiti za izražanje in preizpraševanje odnosov med podatki, kot so socialne povezave, finančne transakcije, promet, energetska omrežja in molekularne interakcije. Ko bodo raziskovalci zbirali več podatkov in gradili te grafične slike, bodo raziskovalci potrebovali hitrejše in učinkovitejše metode ter več računske moči za izvajanje globokega učenja na njih, na način grafičnih nevronskih mrež (GNN).  

Zdaj nova metoda, imenovana SALIENT (Sampling, SLIcing, and data movemeNT), ki so jo razvili raziskovalci na MIT in IBM Research, izboljšuje učinkovitost usposabljanja in sklepanja z odpravljanjem treh ključnih ozkih grl v računanju. To dramatično skrajša čas izvajanja GNN-jev na velikih naborih podatkov, ki na primer vsebujejo 100 milijonov vozlišč in 1 milijardo robov. Poleg tega je skupina ugotovila, da se tehnika dobro spreminja, ko se računalniška moč doda od ene do 16 grafičnih procesnih enot (GPE). Delo je bilo predstavljeno na peti konferenci o strojnem učenju in sistemih.

»Začeli smo preučevati izzive, s katerimi se soočajo sedanji sistemi pri prilagajanju najsodobnejših tehnik strojnega učenja za grafe v res velike nabore podatkov. Izkazalo se je, da je bilo treba opraviti veliko dela, saj je veliko obstoječih sistemov dosegalo dobro delovanje predvsem na manjših naborih podatkov, ki se prilegajo pomnilniku GPU,« pravi Tim Kaler, glavni avtor in podoktor na MIT Computer Science. in Laboratorij za umetno inteligenco (CSAIL).

Z obsežnimi nabori podatkov strokovnjaki mislijo na lestvice, kot je celotno omrežje Bitcoin, kjer bi lahko določeni vzorci in razmerja podatkov razkrili trende ali napačno igro. »V verigi blokov je skoraj milijarda transakcij z bitcoini in če želimo identificirati nedovoljene dejavnosti znotraj takšnega skupnega omrežja, potem se soočamo z grafom takšnega obsega,« pravi soavtor Jie Chen, višji raziskovalec in vodja IBM Research in MIT-IBM Watson AI Lab. "Želimo zgraditi sistem, ki je sposoben obravnavati to vrsto grafov in omogoča, da je obdelava čim bolj učinkovita, saj želimo vsak dan slediti tempu novih podatkov, ki se ustvarijo."

Kalerjeva in Chenova soavtorja sta Nickolas Stathas MEng '21 iz podjetja Jump Trading, ki je razvil SALIENT kot del svojega diplomskega dela; nekdanja pripravnica MIT-IBM Watson AI Lab in podiplomska študentka MIT Anne Ouyang; MIT CSAIL postdoc Alexandros-Stavros Iliopoulos; Raziskovalec MIT CSAIL Tao B. Schardl; in Charles E. Leiserson, Edwin Sibley Webster, profesor elektrotehnike na MIT in raziskovalec pri MIT-IBM Watson AI Lab.     

Za to težavo je skupina pri razvoju svoje metode uporabila sistemsko usmerjen pristop: SALIENT, pravi Kaler. Da bi to naredili, so raziskovalci uvedli tisto, kar se jim je zdelo pomembno, osnovne optimizacije komponent, ki ustrezajo obstoječim okvirom strojnega učenja, kot sta PyTorch Geometric in knjižnica globokih grafov (DGL), ki sta vmesnika za gradnjo modela strojnega učenja. Stathas pravi, da je postopek podoben zamenjavi motorjev za izdelavo hitrejšega avtomobila. Njihova metoda je bila zasnovana tako, da se prilega obstoječim arhitekturam GNN, tako da bi strokovnjaki za domene lahko preprosto uporabili to delo na svojih določenih področjih, da bi pospešili usposabljanje modelov in hitreje pridobili vpoglede med sklepanjem. Ekipa je ugotovila, da je trik v tem, da je vsa strojna oprema (CPE, podatkovne povezave in GPE) ves čas zaposlena: medtem ko CPE vzorči graf in pripravlja mini pakete podatkov, ki bodo nato preneseni prek podatkovne povezave , si bolj kritičen GPE prizadeva usposobiti model strojnega učenja ali izvesti sklepanje. 

Raziskovalci so začeli z analizo delovanja pogosto uporabljene knjižnice strojnega učenja za GNN (PyTorch Geometric), ki je pokazala osupljivo nizko uporabo razpoložljivih virov GPU. Z uporabo preprostih optimizacij so raziskovalci izboljšali izkoriščenost GPU z 10 na 30 odstotkov, kar je povzročilo 1.4- do dvakratno izboljšanje zmogljivosti glede na javne primerjalne kode. Ta hitra osnovna koda bi lahko izvedla en popoln prehod čez velik nabor podatkov za usposabljanje skozi algoritem (epoha) v 50.4 sekunde.                          

V želji po nadaljnjih izboljšavah zmogljivosti so se raziskovalci odločili preučiti ozka grla, ki se pojavijo na začetku podatkovnega cevovoda: algoritme za vzorčenje grafov in pripravo mini paketov. Za razliko od drugih nevronskih mrež GNN izvajajo operacijo združevanja soseščine, ki izračuna informacije o vozlišču z uporabo informacij, ki so prisotne v drugih bližnjih vozliščih v grafu – na primer v grafu družbenega omrežja informacije prijateljev prijateljev uporabnika. Ko se število plasti v GNN poveča, lahko število vozlišč, ki jih mora omrežje doseči za informacije, eksplodira in preseže meje računalnika. Algoritmi vzorčenja soseščine pomagajo z izbiro manjše naključne podmnožice vozlišč za zbiranje; vendar so raziskovalci ugotovili, da so trenutne izvedbe tega prepočasne, da bi sledile hitrosti obdelave sodobnih grafičnih procesorjev. Kot odgovor so identificirali mešanico podatkovnih struktur, algoritemskih optimizacij in tako naprej, ki so izboljšali hitrost vzorčenja, s čimer so na koncu izboljšali samo operacijo vzorčenja za približno trikrat, s čimer so čas delovanja na epoho povečali s 50.4 na 34.6 sekunde. Ugotovili so tudi, da je vzorčenje z ustrezno hitrostjo mogoče opraviti med sklepanjem, s čimer se izboljša splošna energetska učinkovitost in zmogljivost, točka, ki je bila v literaturi spregledana, ugotavlja ekipa.      

V prejšnjih sistemih je bil ta korak vzorčenja večprocesni pristop, ki je ustvaril dodatne podatke in nepotrebno premikanje podatkov med procesi. Raziskovalci so svojo metodo SALIENT naredili bolj okretno, tako da so ustvarili en sam proces z lahkimi nitmi, ki so hranile podatke o CPE v skupnem pomnilniku. Poleg tega SALIENT izkorišča prednosti predpomnilnika sodobnih procesorjev, pravi Stathas, vzporedno rezanje funkcij, ki ekstrahira ustrezne informacije iz zanimivih vozlišč ter njihovih okoliških sosedov in robov v skupnem pomnilniku predpomnilnika jedra CPU. To je spet zmanjšalo skupni čas delovanja na epoho s 34.6 na 27.8 sekunde.

Zadnje ozko grlo, ki so ga obravnavali raziskovalci, je bilo napeljati mini paketne prenose podatkov med CPE in GPE z uporabo koraka vnaprejšnjega pridobivanja, ki bi podatke pripravil tik preden bi bili potrebni. Ekipa je izračunala, da bi to povečalo uporabo pasovne širine v podatkovni povezavi in ​​prineslo metodo do popolne izkoriščenosti; vendar so videli le okoli 90 odstotkov. Identificirali in odpravili so napako pri delovanju v priljubljeni knjižnici PyTorch, ki je povzročila nepotrebno povratno komunikacijo med CPE in GPE. Z odpravljeno to napako je ekipa dosegla 16.5 sekunde izvajanja na epoho s SALIENT.

"Mislim, da je naše delo pokazalo, da je hudič v podrobnostih," pravi Kaler. »Če pri usposabljanju grafične nevronske mreže pozorno spremljate podrobnosti, ki vplivajo na zmogljivost, lahko rešite ogromno težav z zmogljivostjo. Z našimi rešitvami smo bili na koncu popolnoma ozki zaradi računanja GPE, kar je idealen cilj takšnega sistema.«

Hitrost SALIENT-a je bila ovrednotena na treh standardnih nizih podatkov ogbn-arxiv, ogbn-products in ogbn-papers100M ter v nastavitvah za več strojev z različnimi stopnjami fanouta (količina podatkov, ki bi jih CPE pripravil za GPE) in v več arhitekturah, vključno z najnovejšo najsodobnejšo, GraphSAGE-RI. V vsaki nastavitvi je SALIENT presegel PyTorch Geometric, predvsem na velikem naboru podatkov ogbn-papers100M, ki je vseboval 100 milijonov vozlišč in več kot milijardo robov. Tukaj je bil trikrat hitrejši in je deloval na eni GPE kot optimizirana osnovna linija, ki je bila prvotno ustvarjena za to delo; s 16 grafičnimi procesorji je bil SALIENT dodatnih osemkrat hitrejši. 

Medtem ko so imeli drugi sistemi nekoliko drugačno strojno opremo in eksperimentalne nastavitve, tako da ni šlo vedno za neposredno primerjavo, jih je SALIENT vseeno presegel. Med sistemi, ki so dosegli podobno natančnost, reprezentativne številke zmogljivosti vključujejo 99 sekund z uporabo enega GPE in 32 CPE ter 13 sekund z uporabo 1,536 CPE. V nasprotju s tem je bil čas delovanja SALIENT-a z uporabo enega GPE-ja in 20 CPE-jev 16.5 sekunde in le dve sekundi s 16 GPE-ji in 320 CPE-ji. »Če pogledate končne številke, ki jih poroča prejšnje delo, je naš čas delovanja s 16 GPE (dve sekundi) za red velikosti hitrejši od drugih številk, ki so bile prej objavljene v tem naboru podatkov,« pravi Kaler. Raziskovalci so svoje izboljšave zmogljivosti delno pripisali svojemu pristopu optimizacije svoje kode za en sam stroj, preden so prešli na porazdeljeno nastavitev. Stathas pravi, da je tukaj lekcija, da je za vaš denar »bolj smiselno uporabljati strojno opremo, ki jo imate, učinkovito in do skrajnosti, preden začnete prilagajati na več računalnikov,« kar lahko zagotovi znatne prihranke pri stroških in emisijah ogljika. ki lahko pride z usposabljanjem modela.

Ta nova zmogljivost bo zdaj raziskovalcem omogočila, da se lotijo ​​in poglobijo v vse večje in večje grafe. Na primer, prej omenjeno omrežje Bitcoin je vsebovalo 100,000 vozlišč; sistem SALIENT lahko obdela 1,000-krat (ali tri velikosti) večji graf.

»V prihodnosti si ne bomo prizadevali le zagnati tega sistema za usposabljanje grafične nevronske mreže na obstoječih algoritmih, ki smo jih implementirali za razvrščanje ali napovedovanje lastnosti vsakega vozlišča, ampak želimo izvajati tudi bolj poglobljene naloge, kot je npr. prepoznavanje pogostih vzorcev v grafu (vzorci podgrafov), [kar] je lahko dejansko zanimivo za označevanje finančnih zločinov,« pravi Chen. »Prav tako želimo identificirati vozlišča v grafu, ki so podobna v smislu, da bi morda ustrezala istemu slabemu akterju v finančnem kriminalu. Te naloge bi zahtevale razvoj dodatnih algoritmov in morda tudi arhitektur nevronskih mrež.«

To raziskavo je podprl MIT-IBM Watson AI Lab in delno Raziskovalni laboratorij ameriških letalskih sil in pospeševalnik umetne inteligence ameriških letalskih sil.

Časovni žig:

Več od Svetovalci v verigi blokov