Accelerarea antrenamentului la scară largă în rețelele neuronale pe procesoare cu ThirdAI și AWS Graviton | Amazon Web Services

Accelerarea antrenamentului la scară largă în rețelele neuronale pe procesoare cu ThirdAI și AWS Graviton | Amazon Web Services

Această postare pentru invitați este scrisă de Vihan Lakshman, Tharun Medini și Anshumali Shrivastava de la ThirdAI.

Învățarea profundă la scară largă a produs recent progrese revoluționare într-o gamă largă de domenii. Deși acest progres uimitor în inteligența artificială rămâne remarcabil, costurile financiare și consumul de energie necesare antrenării acestor modele au apărut ca un blocaj critic din cauza necesității de hardware specializat, cum ar fi GPU-urile. În mod tradițional, chiar și modelele neuronale de dimensiuni modeste au necesitat acceleratoare hardware costisitoare pentru formare, ceea ce limitează numărul de organizații cu mijloace financiare pentru a profita din plin de această tehnologie.

Fondată în 2021, ThirdAI Corp. este un startup dedicat misiunii de democratizare a tehnologiilor de inteligență artificială prin inovații algoritmice și software care schimbă fundamental economia învățării profunde. Am dezvoltat un motor rar de învățare profundă, cunoscut ca BOLT, care este special conceput pentru antrenarea și implementarea modelelor pe hardware CPU standard, spre deosebire de acceleratoarele costisitoare și consumatoare de energie, cum ar fi GPU-urile. Mulți dintre clienții noștri au a raportat o satisfacție puternică cu capacitatea ThirdAI de a instrui și implementa modele de învățare profundă pentru probleme critice de afaceri pe infrastructura CPU eficientă din punct de vedere al costurilor.

În această postare, investigăm potențialul procesorului AWS Graviton3 de a accelera antrenamentul rețelei neuronale pentru motorul unic de învățare profundă bazat pe CPU ThirdAI.

Beneficiile procesoarelor de înaltă performanță

La ThirdAI, realizăm aceste progrese în formarea eficientă a rețelelor neuronale pe CPU-uri prin algoritmi proprietari, dinamici, rari, care activează doar un subset de neuroni pentru o anumită intrare (a se vedea figura următoare), evitând astfel nevoia de calcule dense. Spre deosebire de alte abordări ale pregătirii rețelelor neuronale rare, ThirdAI folosește hashing sensibil la localitate pentru a selecta dinamic neuronii pentru o anumită intrare, așa cum se arată în liniile aldine de mai jos. În anumite cazuri, am observat chiar că noastre modele rare bazate pe CPU antrenați-vă mai repede decât arhitectura densă comparabilă pe GPU-uri.

Arhitectură neuronală densă cu linii îndrăznețe care arată care neuroni sunt selectați

Având în vedere că mulți dintre clienții noștri țintă operează în cloud – iar dintre aceștia, majoritatea folosesc AWS – am fost încântați să încercăm procesorul AWS Graviton3 pentru a vedea dacă îmbunătățirile impresionante ale prețului-performanță ale inovației Amazon din siliciu se vor traduce în volumul nostru unic de lucru. de pregătire rară a rețelei neuronale și, prin urmare, oferă economii suplimentare pentru clienți. Deși atât comunitatea de cercetare, cât și echipa AWS Graviton au realizat progrese interesante în accelerare inferența rețelei neuronale pe instanțele CPU, noi cei de la ThirdAI suntem, după cunoștințele noastre, primii care studiază serios cum să antrenăm modele neuronale pe procesoare în mod eficient.

După cum se arată în rezultatele noastre, am observat o accelerare semnificativă a antrenamentului cu AWS Graviton3 față de instanțe comparabile Intel și NVIDIA pe mai multe sarcini de lucru reprezentative de modelare.

Tipuri de instanțe

Pentru evaluarea noastră, am luat în considerare două instanțe de procesoare AWS comparabile: o mașină c6i.8xlarge alimentată de procesorul Intel Ice Lake și un c7g.8xlarge alimentat de AWS Graviton3. Următorul tabel rezumă detaliile fiecărei instanțe.

instanță vCPU RAM (GB) procesor Preț la cerere (us-east-1)
c7g.8xlarge 32 64 AWS Graviton3 $ 1.1562 / hr
c6i.8xlarge 32 64 Intel Ice Lake $ 1.36 / hr
g5g.8xlarge (GPU) 32 64 cu 16 GB memorie GPU Procesoare AWS Graviton2 cu 1 GPU NVIDIA T4G $ 1.3720 / hr

Evaluarea 1: Clasificare extremă

Pentru prima noastră evaluare, ne concentrăm pe problema clasificării extreme cu mai multe etichete (XMC), o paradigmă din ce în ce mai populară de învățare automată (ML) cu o serie de aplicații practice în căutare și recomandări (inclusiv la Amazon). Pentru evaluarea noastră, ne concentrăm pe public Sarcina de recomandare a produselor Amazon-670K, care, având în vedere un produs de intrare, identifică produse similare dintr-o colecție de peste 670,000 de articole.

În acest experiment, comparăm motorul BOLT al ThirdAI față de TensorFlow 2.11 și PyTorch 2.0 pe opțiunile hardware menționate mai sus: Intel Ice Lake, AWS Graviton3 și un GPU NVIDIA T4G. Pentru experimentele noastre pe Intel și AWS Graviton, folosim AWS Deep Learning AMI (Ubuntu 18.04) versiunea 59.0. Pentru evaluarea GPU-ului nostru, folosim AMI Arm64 optimizat pentru GPU NVIDIA, disponibil prin intermediul AWS Marketplace. Pentru această evaluare, folosim Arhitectura model SLIDE, care realizează atât performanță competitivă la această sarcină de clasificare extremă, cât și performanță puternică de antrenament pe procesoare. Pentru comparațiile noastre TensorFlow și PyTorch, implementăm versiunea analogă a arhitecturii SLIDE multi-strat perceptron (MLP) cu înmulțiri matrice dense. Antrenăm fiecare model pentru cinci epoci (treceri complete prin setul de date de antrenament) cu o dimensiune fixă ​​a lotului de 256 și o rată de învățare de 0.001. Am observat că toate modelele au obținut aceeași acuratețe de testare de 33.6%.

Următorul grafic compară timpul de antrenament al lui BOLT de la ThirdAI cu TensorFlow 2.11 și PyTorch 2.0 pe benchmark-ul de clasificare extremă Amazon670k. Toate modelele ating aceeași precizie de testare. Observăm că AWS Graviton3 accelerează considerabil performanța BOLT din cutie, fără a fi necesare personalizări - cu aproximativ 40%. BOLT de la ThirdAI pe AWS Graviton3 realizează, de asemenea, un antrenament considerabil mai rapid decât modelele TensorFlow sau PyTorch antrenate pe GPU. Rețineți că nu există niciun rezultat ThirdAI pe benchmark-ul GPU-ului NVIDIA, deoarece BOLT este proiectat să ruleze pe procesoare. Nu includem benchmark-urile CPU TensorFlow și PyTorch din cauza timpului de antrenament prohibitiv de lung.

Amazon 670k Timp de antrenament Diagramă cu bare care compară instanțe c6i.8xlarge vs c7g.8xlarge

Următorul tabel rezumă timpul de antrenament și acuratețea testului pentru fiecare procesor/procesor specializat (GPU).

procesor Motor Timp de antrenament (e) Precizia testului
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

Evaluarea 2: Analiza sentimentului de polaritate Yelp

Pentru a doua evaluare, ne concentrăm pe populare Yelp Polaritate etalon de analiză a sentimentelor, care implică clasificarea unei recenzii ca pozitive sau negative. Pentru această evaluare, comparăm ThirdAI Transformatoare universale de adâncime (UDT) model împotriva unui reglat fin DistilBERT network, un model de limbaj comprimat pre-antrenat care realizează performanțe aproape de ultimă generație cu o latență de inferență redusă. Deoarece reglarea fină a modelelor DistilBERT pe un procesor ar dura un timp prohibitiv (cel puțin câteva zile), comparam modelele bazate pe CPU ale ThirdAI față de DistilBERT reglat fin pe un GPU. Antrenăm toate modelele cu o dimensiune a lotului de 256 pentru o singură trecere prin date (o epocă). Remarcăm că putem obține o precizie puțin mai mare cu BOLT cu treceri suplimentare prin date, dar ne limităm la o singură trecere în această evaluare pentru coerență.

După cum se arată în figura următoare, AWS Graviton3 accelerează din nou antrenamentul modelului UDT al ThirdAI în mod considerabil. În plus, UDT este capabil să obțină o acuratețe de testare comparabilă cu DistilBERT cu o fracțiune din timpul de antrenament și fără a fi nevoie de un GPU. Menționăm că au existat și lucrări recente în optimizarea reglajului fin a polarității Yelp pe procesoare. Cu toate acestea, modelele noastre obțin în continuare câștiguri mai mari de eficiență și evită costul pregătirii preliminare, care este substanțial și necesită utilizarea unor acceleratoare hardware precum GPU-urile.

Timp de antrenament pe Yelp Polarity C7g vs c6i

Următorul tabel rezumă timpul de antrenament, precizia testului și latența de inferență.

procesor Motor Model Timp de antrenament (e) Precizia testului Latența de inferență (ms)
Intel Icelake (c6i.8xlarge) BOLT UDT 47 93.2 <1
Graviton3 (c7g.8xlarge) BOLT UDT 29 92.9 <1
GPU T4G (g5g.8xlarge) TensorFlow DistilBERT 4200 93.3 8.7
GPU T4G (g5g.8xlarge) PyTorch DistilBERT 3780 93.4 8.3

Evaluarea 3: Clasificarea textului cu mai multe clase (DBPedia)

Pentru evaluarea noastră finală, ne concentrăm pe problema clasificării textului cu mai multe clase, care implică alocarea unei etichete unui text de intrare dat dintr-un set de mai mult de două clase de ieșire. Ne concentrăm pe DBPedia benchmark, care constă din 14 clase de rezultate posibile. Din nou, vedem că AWS Graviton3 accelerează performanța UDT față de instanța Intel comparabilă cu aproximativ 40%. De asemenea, vedem că BOLT obține rezultate comparabile cu modelul bazat pe transformator DistilBERT reglat fin pe un GPU, obținând în același timp o latență sub milisecundă.

Timp de antrenament ThirdAI BOLT pe c7g vs c6i

Următorul tabel rezumă timpul de antrenament, precizia testului și latența de inferență.

procesor Motor Model Timp de antrenament (e) Precizia testului Latența de inferență (ms)
Intel Icelake (c6i.8xlarge) BOLT UDT 23 98.23 <1
Graviton3 (c7g.8xlarge) BOLT UDT 14 98.10 <1
GPU T4G (g5g.8xlarge) TensorFlow DistilBERT 4320 99.23 8.6
GPU T4G (g5g.8xlarge) PyTorch DistilBERT 3480 99.29 8

Începeți cu ThirdAI pe AWS Graviton

Ne-am proiectat software-ul BOLT pentru compatibilitate cu toate arhitecturile majore ale CPU, inclusiv AWS Graviton3. De fapt, nu a fost nevoie să facem nicio personalizare codului nostru pentru a rula pe AWS Graviton3. Prin urmare, puteți utiliza ThirdAI pentru formarea modelului și implementarea pe AWS Graviton3 fără efort suplimentar. În plus, așa cum este detaliat în recenta noastră carte albă de cercetare, am dezvoltat un set de tehnici matematice noi pentru a regla automat hiperparametrii specializați asociați cu modelele noastre rare, permițând modelelor noastre să funcționeze bine imediat din cutie.

De asemenea, remarcăm că modelele noastre funcționează bine în primul rând pentru activități de căutare, recomandare și procesare a limbajului natural care prezintă de obicei spații mari de ieșire cu dimensiuni mari și o cerință de latență de inferență extrem de scăzută. Lucrăm activ la extinderea metodelor noastre la domenii suplimentare, cum ar fi viziunea computerizată, dar rețineți că îmbunătățirile noastre de eficiență nu se traduc în toate domeniile ML în acest moment.

Concluzie

În această postare, am investigat potențialul procesorului AWS Graviton3 de a accelera antrenamentul rețelei neuronale pentru motorul unic de învățare profundă bazat pe CPU ThirdAI. Benchmark-urile noastre privind căutarea, clasificarea textului și recomandările sugerează că AWS Graviton3 poate accelera sarcinile de lucru de formare a modelului ThirdAI cu 30-40% față de instanțe x86 comparabile, cu o îmbunătățire a prețului-performanță de aproape 50%. În plus, deoarece instanțele AWS Graviton3 sunt disponibile la un cost mai mic decât mașinile analoge Intel și NVIDIA și permit timpi mai scurti de instruire și inferență, puteți debloca și mai mult valoarea modelului de utilizare AWS pay-as-you-go folosind un cost mai mic. mașini pentru perioade mai scurte de timp.

Suntem foarte încântați de economiile de preț și de performanță ale AWS Graviton3 și vom căuta să transmitem aceste îmbunătățiri clienților noștri, astfel încât aceștia să se poată bucura de antrenament ML mai rapid și de inferență cu performanțe îmbunătățite pe procesoarele cu costuri reduse. În calitate de clienți ai AWS, suntem încântați de viteza cu care AWS Graviton3 ne permite să experimentăm modelele noastre și așteptăm cu nerăbdare să folosim mai multe inovații de ultimă oră din siliciu de la AWS în viitor. Ghid tehnic Graviton este o resursă bună de luat în considerare atunci când vă evaluați sarcinile de lucru ML pentru a rula pe Graviton. Puteți încerca, de asemenea, instanțe Graviton t4g încercare gratuită.

Conținutul și opiniile din această postare aparțin autorului terț, iar AWS nu este responsabil pentru conținutul sau acuratețea acestei postări. La momentul scrierii blogului cele mai actuale instanțe au fost c6i și, prin urmare, comparația s-a făcut cu instanțe c6i.


Despre autor

Vihan Lakshman – Vihan Lakshman este cercetător la ThirdAI Corp. concentrat pe dezvoltarea de sisteme pentru învățare profundă eficientă din punct de vedere al resurselor. Înainte de ThirdAI, a lucrat ca om de știință aplicat la Amazon și a primit diplome de licență și master de la Universitatea Stanford. Vihan este, de asemenea, un beneficiar al unei burse de cercetare a Fundației Naționale de Știință.

Tharun Medini – Tharun Medini este co-fondatorul și CTO al ThirdAI Corp. Și-a făcut doctoratul în „Algoritmi de hashing pentru căutare și regăsire a informațiilor” la Universitatea Rice. Înainte de ThirdAI, Tharun a lucrat la Amazon și Target. Tharun este beneficiarul a numeroase premii pentru cercetarea sa, inclusiv Bursa Ken Kennedy Institute BP, Bursa Societății Americane a Inginerilor Indieni și o bursă de absolvent al Universității Rice.

Anshumali Shrivastava – Anshumali Shrivastava este profesor asociat la departamentul de informatică de la Universitatea Rice. El este, de asemenea, fondatorul și CEO-ul ThirdAI Corp, o companie care democratizează AI la hardware-ul de bază prin inovații software. Interesele sale largi de cercetare includ algoritmi probabilistici pentru învățarea profundă cu consumarea resurselor. În 2018, Science News l-a numit unul dintre cei mai buni 10 oameni de știință sub 40 de ani de urmărit. El este un beneficiar al Premiului pentru CARIERĂ al Fundației Naționale pentru Știință, al Premiului pentru Tânăr Investigator de la Oficiul de Cercetare Științifică a Forțelor Aeriene, al unui premiu pentru cercetare în învățarea automată de la Amazon și al unui Premiu pentru cercetarea în știința datelor de la Adobe. A câștigat numeroase premii pentru hârtie, inclusiv Premiile pentru cea mai bună hârtie la NIPS 2014 și MLSys 2022, precum și Premiul pentru cea mai reproductivă hârtie la SIGMOD 2019. Munca sa privind tehnologiile eficiente de învățare automată pe procesoare a fost acoperită de presa populară, inclusiv Wall Street Journal, New York Times, TechCrunch, NDTV etc.

Timestamp-ul:

Mai mult de la Învățare automată AWS