Pospeševanje obsežnega usposabljanja nevronske mreže na procesorjih s ThirdAI in AWS Graviton | Spletne storitve Amazon

Pospeševanje obsežnega usposabljanja nevronske mreže na procesorjih s ThirdAI in AWS Graviton | Spletne storitve Amazon

To gostujočo objavo so napisali Vihan Lakshman, Tharun Medini in Anshumali Shrivastava iz ThirdAI.

Obsežno poglobljeno učenje je nedavno prineslo revolucionaren napredek na številnih področjih. Čeprav ta osupljivi napredek na področju umetne inteligence ostaja izjemen, so se finančni stroški in poraba energije, potrebni za usposabljanje teh modelov, izkazali za kritično ozko grlo zaradi potrebe po specializirani strojni opremi, kot so grafični procesorji. Tradicionalno so tudi nevronski modeli skromne velikosti za usposabljanje zahtevali drage strojne pospeševalnike, kar omejuje število organizacij s finančnimi sredstvi, da bi v celoti izkoristile to tehnologijo.

Podjetje ThirdAI Corp., ustanovljeno leta 2021, je zagonsko podjetje, ki se posveča poslanstvu demokratizacije tehnologij umetne inteligence z algoritemskimi in programskimi inovacijami, ki temeljito spreminjajo ekonomijo globokega učenja. Razvili smo mehanizem redkega globokega učenja, znan kot BOLT, ki je posebej zasnovan za usposabljanje in uvajanje modelov na standardni strojni opremi CPE v nasprotju z dragimi in energetsko intenzivnimi pospeševalniki, kot so GPE. Številne naše stranke so poročali o močnem zadovoljstvu s sposobnostjo ThirdAI za usposabljanje in uvajanje modelov globokega učenja za kritične poslovne težave na stroškovno učinkoviti infrastrukturi CPE.

V tej objavi raziskujemo potencial procesorja AWS Graviton3 za pospešitev usposabljanja nevronskih mrež za edinstven mehanizem globokega učenja, ki temelji na CPE-ju.

Prednosti visoko zmogljivih procesorjev

Pri ThirdAI dosegamo te preboje pri učinkovitem usposabljanju nevronskih mrež na CPE z lastniškimi dinamičnimi redkimi algoritmi, ki aktivirajo samo podmnožico nevronov za dani vnos (glejte naslednjo sliko), s čimer se izognemo potrebi po polno gostih izračunih. Za razliko od drugih pristopov k usposabljanju redkih nevronskih mrež, ThirdAI uporablja lokalno občutljivo zgoščevanje za dinamično izbiro nevronov za dani vnos, kot je prikazano v krepkih črtah spodaj. V določenih primerih smo celo opazili, da naš redki modeli, ki temeljijo na procesorju uriti hitreje kot primerljiva gosta arhitektura na grafičnih procesorjih.

Gosta nevronska arhitektura s krepkimi črtami, ki prikazujejo, kateri nevroni so izbrani

Glede na to, da veliko naših ciljnih strank deluje v oblaku – in med njimi jih večina uporablja AWS – smo bili navdušeni, da smo preizkusili procesor AWS Graviton3, da bi videli, ali bi impresivne izboljšave cene in zmogljivosti Amazonove silicijeve inovacije pomenile našo edinstveno delovno obremenitev. usposabljanja redkih nevronskih mrež in s tem strankam zagotoviti dodatne prihranke. Čeprav sta tako raziskovalna skupnost kot ekipa AWS Graviton dosegli vznemirljiv napredek pri pospeševanju sklepanje nevronske mreže na primerkih CPE smo pri ThirdAI, kolikor vemo, prvi, ki smo resno preučevali, kako učinkovito usposobiti nevronske modele na CPE.

Kot je prikazano v naših rezultatih, smo opazili znatno pospešitev usposabljanja z AWS Graviton3 v primerjavi s primerljivimi instancami Intel in NVIDIA pri več reprezentativnih delovnih obremenitvah modeliranja.

Vrste primerkov

Za našo oceno smo upoštevali dva primerljiva primerka procesorja AWS: stroj c6i.8xlarge, ki ga poganja Intelov procesor Ice Lake, in c7g.8xlarge, ki ga poganja AWS Graviton3. Naslednja tabela povzema podrobnosti vsakega primerka.

Primerek vCPE RAM (GB) Procesor Cena na zahtevo (us-east-1)
c7g.8xvelika 32 64 AWS Graviton3 $ 1.1562 / uro
c6i.8xvelik 32 64 Intel Ice Lake $ 1.36 / uro
g5g.8xlarge (GPU) 32 64 s 16 GB GPU pomnilnika Procesorji AWS Graviton2 z 1 GPU NVIDIA T4G $ 1.3720 / uro

Ocena 1: Ekstremna razvrstitev

Za našo prvo oceno se osredotočamo na problem ekstremne klasifikacije z več oznakami (XMC), vse bolj priljubljene paradigme strojnega učenja (ML) s številnimi praktičnimi aplikacijami pri iskanju in priporočilih (vključno z Amazon). Za našo oceno se osredotočamo na javnost Naloga priporočila izdelka Amazon-670K, ki glede na vhodni izdelek identificira podobne izdelke iz zbirke več kot 670,000 predmetov.

V tem poskusu primerjamo motor ThirdAI BOLT s TensorFlow 2.11 in PyTorch 2.0 na zgoraj omenjenih izbirah strojne opreme: Intel Ice Lake, AWS Graviton3 in grafični procesor NVIDIA T4G. Za naše poskuse na Intel in AWS Graviton uporabljamo AWS Deep Learning AMI (Ubuntu 18.04) različice 59.0. Za našo oceno GPU uporabljamo Arm64 AMI, optimiziran za GPU NVIDIA, ki je na voljo prek AWS Marketplace. Za to oceno uporabljamo Arhitektura modela SLIDE, ki dosega tako konkurenčno zmogljivost pri tej ekstremni nalogi razvrščanja kot močno zmogljivost pri usposabljanju na CPE. Za naše primerjave TensorFlow in PyTorch izvajamo analogno različico arhitekture večslojnega perceptrona SLIDE (MLP) z gostimi množenji matrik. Vsak model usposabljamo za pet epoh (polni prehodi skozi nabor podatkov za usposabljanje) s fiksno velikostjo serije 256 in stopnjo učenja 0.001. Opazili smo, da so vsi modeli dosegli enako natančnost testa 33.6 %.

Naslednja tabela primerja čas usposabljanja BOLT podjetja ThirdAI s TensorFlow 2.11 in PyTorch 2.0 na Amazon670k extreme classification benchmark. Vsi modeli dosegajo enako natančnost testiranja. Opažamo, da AWS Graviton3 znatno pospeši delovanje BOLT-a takoj po namestitvi brez potrebe po prilagoditvah – za približno 40 %. ThirdAI's BOLT na AWS Graviton3 prav tako dosega znatno hitrejše usposabljanje kot modeli TensorFlow ali PyTorch, ki se usposabljajo na GPE. Upoštevajte, da na merilu uspešnosti NVIDIA GPU ni rezultatov ThirdAI, ker je BOLT zasnovan za delovanje na procesorjih. Ne vključujemo meril uspešnosti procesorja TensorFlow in PyTorch zaradi predolgega časa usposabljanja.

Amazon 670k Čas usposabljanja Palični grafikon s primerjavo primerkov c6i.8xlarge proti c7g.8xlarge

Naslednja tabela povzema čas usposabljanja in natančnost preizkusa za vsak procesor/specializiran procesor (GPU).

Procesor Motor Čas usposabljanja (s) Preizkus natančnosti
Intel Ice Lake (c6i.8xlarge) BOLT 1470 33.6
AWS Graviton3 (c7g.8xlarge) BOLT 935 33.6
NVIDIA T4G (g5g.8xlarge) TensorFlow 7550 33.6
NVIDIA T4G (g5g.8xlarge) PyTorch 5130 33.6

Ocena 2: analiza razpoloženja Yelp Polarity

Za našo drugo oceno se osredotočamo na priljubljeno Yelp Polarity merilo za analizo razpoloženja, ki vključuje razvrščanje ocene kot pozitivne ali negativne. Za to oceno primerjamo ThirdAI Univerzalni globoki transformatorji (UDT) model proti natančno nastavljenemu DestilBERT omrežja, stisnjenega vnaprej usposobljenega jezikovnega modela, ki dosega skoraj najsodobnejšo zmogljivost z zmanjšano zakasnitvijo sklepanja. Ker bi natančno uravnavanje modelov DistilBERT na CPE-ju trajalo pretirano dolgo (vsaj nekaj dni), primerjamo modele ThirdAI, ki temeljijo na CPE-ju, z DistilBERT-om, natančno nastavljenim na GPE-ju. Vse modele z velikostjo paketa 256 usposabljamo za en sam prehod podatkov (eno obdobje). Ugotavljamo, da lahko z BOLT dosežemo nekoliko višjo natančnost z dodatnimi prehodi skozi podatke, vendar smo se zaradi doslednosti pri tej oceni omejili na en sam prehod.

Kot je prikazano na naslednji sliki, AWS Graviton3 spet znatno pospeši usposabljanje modela UDT podjetja ThirdAI. Poleg tega je UDT sposoben doseči primerljivo testno natančnost kot DistilBERT z delčkom časa usposabljanja in brez potrebe po GPE. Ugotavljamo, da je bilo nedavno delo tudi v optimizacijo natančne nastavitve Yelp Polarity na procesorjih. Vendar pa naši modeli še vedno dosegajo večjo učinkovitost in se izogibajo stroškom predhodnega usposabljanja, ki je precejšen in zahteva uporabo strojnih pospeševalnikov, kot so grafični procesorji.

Čas usposabljanja na Yelp Polarity C7g proti c6i

Naslednja tabela povzema čas usposabljanja, natančnost preizkusa in zakasnitev sklepanja.

Procesor Motor Model Čas usposabljanja (s) Preizkus natančnosti Zakasnitev sklepanja (ms)
Intel Icelake (c6i.8xlarge) BOLT UDT 47 93.2 <1
Graviton3 (c7g.8xlarge) BOLT UDT 29 92.9 <1
GPE T4G (g5g.8xlarge) TensorFlow DestilBERT 4200 93.3 8.7
GPE T4G (g5g.8xlarge) PyTorch DestilBERT 3780 93.4 8.3

Ocena 3: večrazredna klasifikacija besedila (DBPedia)

Za našo končno oceno se osredotočamo na problem večrazredne klasifikacije besedila, ki vključuje dodeljevanje oznake danemu vhodnemu besedilu iz niza več kot dveh izhodnih razredov. Osredotočamo se na DBPedia benchmark, ki je sestavljen iz 14 možnih izhodnih razredov. Spet vidimo, da AWS Graviton3 pospeši zmogljivost UDT v primerjavi s primerljivim Intelovim primerkom za približno 40 %. Vidimo tudi, da BOLT dosega rezultate, primerljive z modelom na osnovi transformatorja DistilBERT, ki je natančno nastavljen na GPE, medtem ko dosega zakasnitev pod milisekundo.

Tretji čas vadbe AI BOLT na c7g proti c6i

Naslednja tabela povzema čas usposabljanja, natančnost preizkusa in zakasnitev sklepanja.

Procesor Motor Model Čas usposabljanja (s) Preizkus natančnosti Zakasnitev sklepanja (ms)
Intel Icelake (c6i.8xlarge) BOLT UDT 23 98.23 <1
Graviton3 (c7g.8xlarge) BOLT UDT 14 98.10 <1
GPE T4G (g5g.8xlarge) TensorFlow DestilBERT 4320 99.23 8.6
GPE T4G (g5g.8xlarge) PyTorch DestilBERT 3480 99.29 8

Začnite s ThirdAI na AWS Graviton

Našo programsko opremo BOLT smo zasnovali za združljivost z vsemi glavnimi arhitekturami CPE, vključno z AWS Graviton3. Pravzaprav nam ni bilo treba narediti nobenih prilagoditev naše kode za delovanje na AWS Graviton3. Zato lahko uporabite ThirdAI za usposabljanje modela in uvajanje na AWS Graviton3 brez dodatnega truda. Poleg tega, kot je podrobno opisano v našem nedavnem raziskovalna bela knjigasmo razvili nabor novih matematičnih tehnik za samodejno prilagajanje specializiranih hiperparametrov, povezanih z našimi redkimi modeli, kar omogoča, da naši modeli dobro delujejo takoj po izdelavi.

Ugotavljamo tudi, da naši modeli predvsem dobro delujejo pri nalogah iskanja, priporočanja in obdelave naravnega jezika, ki običajno vključujejo velike, visokodimenzionalne izhodne prostore in zahtevajo izjemno nizko zakasnitev sklepanja. Aktivno delamo na razširitvi naših metod na dodatna področja, kot je računalniški vid, vendar se zavedajte, da se naše izboljšave učinkovitosti trenutno ne prenesejo na vse domene ML.

zaključek

V tej objavi smo raziskali potencial procesorja AWS Graviton3 za pospešitev usposabljanja nevronskih mrež za edinstven mehanizem za globoko učenje ThirdAI, ki temelji na CPE. Naša merila uspešnosti iskanja, klasifikacije besedila in priporočil kažejo, da lahko AWS Graviton3 pospeši delovne obremenitve usposabljanja modela ThirdAI za 30–40 % v primerjavi s primerljivimi primerki x86 z izboljšanjem cene in zmogljivosti za skoraj 50 %. Poleg tega, ker so primerki AWS Graviton3 na voljo po nižji ceni kot analogni stroji Intel in NVIDIA ter omogočajo krajše čase usposabljanja in sklepanja, lahko z uporabo nižjih stroškov dodatno odklenete vrednost modela uporabe AWS pay-as-you-go. stroji za krajši čas.

Zelo smo navdušeni nad prihranki pri ceni in zmogljivosti AWS Graviton3 in poskušali bomo prenesti te izboljšave na naše stranke, da bodo lahko uživale v hitrejšem usposabljanju in sklepanju ML z izboljšano zmogljivostjo na poceni procesorjih. Sami kupci AWS smo navdušeni nad hitrostjo, s katero nam AWS Graviton3 omogoča eksperimentiranje z našimi modeli, in veselimo se, da bomo v prihodnje uporabljali še vrhunske silikonske inovacije AWS. Graviton tehnični vodnik je dober vir, ki ga je treba upoštevati pri ocenjevanju delovnih obremenitev ML za izvajanje na Gravitonu. Poskusite lahko tudi primerke Graviton t4g brezplačen preizkus.

Vsebina in mnenja v tej objavi so last avtorja tretje osebe in AWS ni odgovoren za vsebino ali točnost te objave. V času pisanja bloga je bil najbolj aktualen primerek c6i, zato je bila primerjava narejena s primerki c6i.


O Author

Vihan Lakshman – Vihan Lakshman je raziskovalec pri ThirdAI Corp., osredotočen na razvoj sistemov za globoko učenje, učinkovito z viri. Pred ThirdAI je delal kot uporabni znanstvenik pri Amazonu in prejel dodiplomski in magistrski študij na univerzi Stanford. Vihan je tudi prejemnik raziskovalne štipendije Nacionalne znanstvene fundacije.

Tharun Medini – Tharun Medini je soustanovitelj in tehnični direktor podjetja ThirdAI Corp. Na univerzi Rice je doktoriral na temo »Algoritmi zgoščevanja za iskanje in pridobivanje informacij«. Pred ThirdAI je Tharun delal pri Amazonu in Targetu. Tharun je prejemnik številnih nagrad za svoje raziskave, vključno s štipendijo Ken Kennedy Institute BP Fellowship, štipendijo Ameriškega združenja indijskih inženirjev in štipendijo univerze Rice Graduate Fellowship.

Anšumali Šrivastava – Anshumali Shrivastava je izredna profesorica na oddelku za računalništvo na univerzi Rice. Je tudi ustanovitelj in izvršni direktor ThirdAI Corp, podjetja, ki z inovacijami programske opreme demokratizira AI v osnovno strojno opremo. Njegovi široki raziskovalni interesi vključujejo verjetnostne algoritme za globoko učenje, ki varčuje z viri. Leta 2018 ga je Science news uvrstil med 10 najboljših znanstvenikov, mlajših od 40 let, ki si jih je treba ogledati. Je prejemnik nagrade CAREER Nacionalne znanstvene fundacije, nagrade za mladega raziskovalca Urada za znanstvene raziskave letalskih sil, nagrade Amazon za raziskave strojnega učenja in nagrade Adobe za raziskave podatkovne znanosti. Prejel je številne nagrade za papir, vključno z nagradami za najboljši papir na NIPS 2014 in MLSys 2022 ter nagrado za najbolj ponovljiv papir na SIGMOD 2019. Njegovo delo o učinkovitih tehnologijah strojnega učenja na CPU je pokrival priljubljeni tisk, vključno z Wall Street Journalom, New York Times, TechCrunch, NDTV itd.

Časovni žig:

Več od Strojno učenje AWS