Hõivatud GPU-d: diskreetimis- ja konveierimeetod kiirendab sügavuti õppimist suurtel graafikutel PlatoBlockchain Data Intelligence. Vertikaalne otsing. Ai.

Hõivatud GPU-d: diskreetimis- ja konveierimeetod kiirendab suurte graafikute sügavat õppimist

Graafe, potentsiaalselt ulatuslikku servadega ühendatud sõlmede võrku, saab kasutada andmete vaheliste suhete (nt sotsiaalsed sidemed, finantstehingud, liiklus, energiavõrgud ja molekulaarsed vastasmõjud) väljendamiseks ja uurimiseks. Kuna teadlased koguvad rohkem andmeid ja loovad neid graafilisi pilte, vajavad teadlased kiiremaid ja tõhusamaid meetodeid ning suuremat arvutusvõimsust, et nende põhjal õppida graafilise närvivõrkude (GNN) abil.  

Nüüd on MIT-i ja IBM Researchi teadlaste välja töötatud uus meetod nimega SALIENT (SAmpling, sLIcing and data movemeNT), mis parandab koolitust ja järelduste jõudlust, kõrvaldades arvutustes kolm peamist kitsaskohta. See vähendab dramaatiliselt GNN-ide tööaega suurtes andmekogumites, mis sisaldavad näiteks 100 miljoni sõlme ja 1 miljardi serva ulatuses. Lisaks leidis meeskond, et tehnika skaleerib hästi, kui arvutusvõimsust lisatakse ühelt 16-le graafilisele protsessorile (GPU). Tööd esitleti viiendal masinõppe ja süsteemide konverentsil.

„Hakkasime uurima väljakutseid, mida praegused süsteemid kogevad, kui skaleerisime graafikute jaoks tipptasemel masinõppetehnikaid tõeliselt suurteks andmekogumiteks. Selgus, et tööd on palju, sest paljud olemasolevad süsteemid saavutasid head jõudlust peamiselt väiksemate andmehulkade puhul, mis mahuvad GPU mällu, ”ütleb Tim Kaler, MIT Computer Science juhtivautor ja järeldoktor Tim Kaler. ja tehisintellekti labor (CSAIL).

Suurte andmekogumite all peavad eksperdid silmas selliseid skaalasid nagu kogu Bitcoini võrk, kus teatud mustrid ja andmesuhted võivad välja tuua suundumused või pahatahtliku mängu. "Plokiahelas on peaaegu miljard Bitcoini tehingut ja kui tahame tuvastada ebaseaduslikke tegevusi sellises ühises võrgus, siis seisame silmitsi sellise ulatusega graafikuga," ütleb kaasautor Jie Chen, vanemteadur ja juht. IBM Researchist ja MIT-IBM Watson AI Labist. "Tahame luua süsteemi, mis suudab seda tüüpi graafikuid käsitleda ja võimaldab töötlemisel olla võimalikult tõhus, sest iga päev tahame uute genereeritavate andmete tempoga sammu pidada."

Kaleri ja Cheni kaasautorite hulka kuulub Nickolas Stathas MEng '21 Jump Tradingust, kes töötas välja SALIENTi oma lõpetamistöö raames; endine MIT-IBM Watson AI Lab praktikant ja MIT magistrant Anne Ouyang; MIT CSAILi järeldoktor Alexandros-Stavros Iliopoulos; MIT CSAILi uurija Tao B. Schardl; ja Charles E. Leiserson, Edwin Sibley Webster, MIT-i elektrotehnika professor ja MIT-IBM Watson AI Labi teadlane.     

Selle probleemi lahendamiseks kasutas meeskond oma meetodi väljatöötamisel süsteemipõhist lähenemisviisi: SALIENT, ütleb Kaler. Selleks viisid teadlased ellu nende arvates olulised põhilised optimeerimised komponentidele, mis sobivad olemasolevatesse masinõppe raamistikesse, nagu PyTorch Geometric ja sügav graafikuteek (DGL), mis on liidesed masinõppemudeli koostamiseks. Stathas ütleb, et protsess on nagu mootorite vahetamine kiirema auto ehitamiseks. Nende meetod loodi nii, et see sobiks olemasolevate GNN-i arhitektuuridega, nii et domeenieksperdid saaksid seda tööd hõlpsasti oma kindlaksmääratud valdkondades rakendada, et kiirendada mudelikoolitust ja teha järeldusi kiiremini. Trikk, mille meeskond otsustas, seisnes selles, et kogu riistvara (CPU-d, andmelingid ja GPU-d) on kogu aeg hõivatud: samal ajal kui protsessor proovib graafikut ja valmistab ette miniandmepartiid, mis seejärel andmelingi kaudu edastatakse. , seda kriitilisem on GPU masinõppe mudeli treenimiseks või järelduste tegemiseks. 

Uurijad alustasid GNN-ide jaoks tavaliselt kasutatava masinõppeteegi (PyTorch Geometric) jõudluse analüüsimisega, mis näitas saadaolevate GPU ressursside üllatavalt madalat kasutamist. Lihtsa optimeerimise abil parandasid teadlased GPU kasutust 10 protsendilt 30 protsendile, mille tulemuseks oli 1.4- kuni kaks korda parem jõudlus võrreldes avalike etalonkoodidega. See kiire algtaseme kood võib sooritada ühe täieliku läbimise suures koolitusandmestikus läbi algoritmi (epohhi) 50.4 sekundiga.                          

Otsides täiendavaid jõudluse parandusi, otsustasid teadlased uurida kitsaskohti, mis ilmnevad andmejuhtme alguses: graafiku valimi võtmise ja minipartii ettevalmistamise algoritmid. Erinevalt teistest närvivõrkudest teostavad GNN-id naabruskonna koondamise operatsiooni, mis arvutab sõlme kohta teavet, kasutades teavet graafiku teistes lähedalasuvates sõlmedes – näiteks suhtlusvõrgustiku graafikul kasutaja sõprade sõpradelt saadud teavet. Kui GNN-i kihtide arv suureneb, võib sõlmede arv, milleni võrk peab teabe saamiseks jõudma, plahvatuslikult kasvama, ületades arvuti piire. Naabruskonna diskreetimisalgoritmid aitavad kogumiseks valida väiksema juhusliku sõlmede alamhulga; aga teadlased leidsid, et selle praegused rakendused olid liiga aeglased, et pidada sammu kaasaegsete GPU-de töötlemiskiirusega. Vastuseks tuvastasid nad andmestruktuure, algoritmilisi optimeerimisi ja nii edasi, mis parandas diskreetimiskiirust, parandades lõpuks ainuüksi diskreetimistoimingut umbes kolm korda, võttes epohhipõhise käitusaja 50.4 sekundilt 34.6 sekundile. Samuti leidsid nad, et sobiva kiirusega proovide võtmist saab teha järelduste tegemisel, parandades üldist energiatõhusust ja -jõudlust, mis on kirjanduses tähelepanuta jäetud, märgib meeskond.      

Varasemates süsteemides oli see proovivõtu etapp mitme protsessiga lähenemisviis, mis tekitas lisaandmeid ja tarbetut andmete liikumist protsesside vahel. Teadlased muutsid oma SALIENTi meetodi nobedamaks, luues ühe protsessi kergete keermetega, mis hoidsid protsessoris olevaid andmeid ühismälus. Lisaks kasutab SALIENT ära kaasaegsete protsessorite vahemälu, ütleb Stathas, paralleelses funktsioonide lõikamise, mis eraldab asjakohast teavet huvipakkuvatest sõlmedest ning neid ümbritsevatest naabritest ja servadest protsessori tuuma vahemälu ühismälus. See vähendas taas kogu ajastu kestust 34.6 sekundilt 27.8 sekundile.

Viimane kitsaskoht, millega teadlased tegelesid, oli andmeedastuse mini-partii juhtimine protsessori ja GPU vahel, kasutades eellaadimisetappi, mis valmistaks andmed ette vahetult enne nende vajadust. Töörühm arvutas, et see maksimeerib andmesideühenduse ribalaiuse kasutust ja viib meetodi täiusliku kasutuseni; nad nägid aga vaid umbes 90 protsenti. Nad tuvastasid ja parandasid populaarse PyTorchi teegi jõudlusvea, mis põhjustas tarbetu edasi-tagasi side protsessori ja GPU vahel. Selle vea parandamisega saavutas meeskond SALIENTiga 16.5-sekundilise tööaja perioodi kohta.

"Ma arvan, et meie töö näitas, et saatan on detailides," ütleb Kaler. "Kui pöörate graafiku närvivõrgu treenimisel suurt tähelepanu detailidele, mis mõjutavad jõudlust, saate lahendada tohutu hulga jõudlusprobleeme. Oma lahendustega sattusime GPU-arvutuse tõttu täielikult kitsaskohtadesse, mis on sellise süsteemi ideaalne eesmärk.

SALIENTi kiirust hinnati kolmel standardsel andmestikul ogbn-arxiv, ogbn-products ja ogbn-papers100M, samuti mitme masina seadetes, millel on erinevad fanout tasemed (andmete hulk, mille protsessor GPU jaoks ette valmistaks) ja mitmes arhitektuuris, sealhulgas uusimas tipptasemel GraphSAGE-RI. Igas seades ületas SALIENT PyTorch Geometricu, eriti suure andmestiku ogbn-papers100M puhul, mis sisaldas 100 miljonit sõlme ja üle miljardi serva. Siin oli see ühe GPU-ga töötades kolm korda kiirem kui optimeeritud baasjoon, mis algselt loodi see töö; 16 GPU-ga oli SALIENT veel kaheksa korda kiirem. 

Kui teistel süsteemidel oli riistvara ja eksperimentaalne seadistus pisut erinev, nii et see ei olnud alati otsene võrdlus, siis SALIENT edestas neid siiski. Sarnase täpsusega saavutanud süsteemide hulgas on esinduslikud jõudlusnumbrid 99 sekundit ühe GPU ja 32 protsessoriga ning 13 sekundit 1,536 protsessoriga. Seevastu SALIENTi tööaeg ühe GPU ja 20 protsessoriga oli 16.5 sekundit ning 16 GPU ja 320 protsessoriga vaid kaks sekundit. "Kui vaatate eelneva töö alumisi numbreid, on meie 16 GPU käitusaeg (kaks sekundit) suurusjärgu võrra kiirem kui muud numbrid, mis on selles andmestikus varem teatatud, " ütleb Kaler. Teadlased seostasid oma jõudluse paranemist osaliselt sellega, et nad optimeerisid oma koodi ühe masina jaoks enne hajutatud seadistusele üleminekut. Stathas ütleb, et siin on õppetund, et teie raha eest "on mõistlikum kasutada olemasolevat riistvara tõhusalt ja äärmuseni, enne kui hakkate mitut arvutit suurendama", mis võib oluliselt kokku hoida kulusid ja süsinikdioksiidi heitkoguseid. mis võib tulla modellikoolitusega.

See uus võime võimaldab nüüd teadlastel käsitleda ja süveneda üha suurematesse graafikutesse. Näiteks varem mainitud Bitcoini võrk sisaldas 100,000 1,000 sõlme; SALIENT süsteem suudab käsitleda XNUMX korda (või kolm suurusjärku) suuremat graafikut.

"Tulevikus ei kavatse me mitte ainult käivitada seda graafilise närvivõrgu koolitussüsteemi olemasolevate algoritmide alusel, mida rakendasime iga sõlme omaduste klassifitseerimiseks või ennustamiseks, vaid tahame teha ka põhjalikumaid ülesandeid, näiteks ühiste mustrite tuvastamine graafikus (alamgraafikute mustrid), [mis] võib tegelikult olla huvitav finantskuritegude näitamiseks, ”ütleb Chen. "Samuti tahame tuvastada graafikul sõlmed, mis on selles mõttes sarnased, et need vastaksid tõenäoliselt samale finantskuriteo halvale osalejale. Need ülesanded nõuavad täiendavate algoritmide ja võib-olla ka närvivõrgu arhitektuuride väljatöötamist.

Seda uurimistööd toetasid MIT-IBM Watson AI Lab ja osaliselt USA õhujõudude uurimislabor ja USA õhujõudude tehisintellekti kiirendi.

Ajatempel:

Veel alates Blockchaini konsultandid