Modele și platforme AI
Cercetătorii creează o alternativă la GPU

Oamenii de știință din domeniul informaticii de la Universitatea Rice, împreună cu colaboratorii de la Intel (INTC ), au dezvoltat o alternativă mai eficientă din punct de vedere al costurilor la GPU. Noul algoritm se numește “motor de învățare profundă sub-liniar” (SLIDE) și utilizează unități centrale de procesare (CPU) cu scop general, fără hardware de accelerare specializat.
Rezultatele au fost prezentate la Centrul de Convenții Austin, care găzduiește conferința sistemelor de învățare automată MLSys.
Una dintre cele mai mari provocări din cadrul inteligenței artificiale (IA) o reprezintă hardware-ul de accelerare specializat, cum ar fi unitățile de procesare grafică (GPU). Înainte de noile dezvoltări, se credea că pentru a accelera tehnologia de învățare profundă, era necesară utilizarea acestui hardware de accelerare specializat.
Multe companii au acordat o importanță deosebită investițiilor în GPU și hardware specializat pentru învățarea profundă, care este responsabilă pentru tehnologii precum asistenții digitali, recunoașterea facială și sistemele de recomandare a produselor. O astfel de companie este Nvidia (NVDA ), care creează GPU-uri Tesla (TSLA ) V100 Tensor Core. Nvidia a raportat recent o creștere de 41% a veniturilor sale din al patrulea trimestru, comparativ cu anul precedent.
Dezvoltarea SLIDE deschide posibilități complet noi.
Anshumali Shrivastava este profesor asistent la Școala de Inginerie Brown a Universității Rice și a ajutat la inventarea SLIDE, împreună cu studenții absolvenți Beidi Chen și Tharun Medini.
“Testele noastre arată că SLIDE este prima implementare inteligentă a algoritmului de învățare profundă pe CPU care poate depăși hardware-ul de accelerare GPU pe seturi de date de recomandare la scară industrială, cu arhitecturi complet conectate mari”, a spus Shrivastava.
SLIDE depășește provocarea GPU-urilor datorită abordării sale complet diferite a învățării profunde. În prezent, tehnica standard de antrenare pentru rețelele neuronale profunde este “propagarea inversă”, care necesită multiplicarea matricelor. Această sarcin de lucru necesită utilizarea GPU-urilor, astfel că cercetătorii au modificat antrenamentul rețelelor neuronale astfel încât să poată fi rezolvat cu tabele hash.
Această abordare nouă reduce semnificativ încărcătura computațională pentru SLIDE. Cea mai bună platformă GPU actuală, pe care companii precum Amazon (AMZN ) și Google (GOOGL ) o utilizează pentru învățarea profundă bazată pe cloud, are opt Tesla V100, iar eticheta de preț este de aproximativ 100.000 de dolari.
“Am unul în laborator și, în testul nostru, am luat o sarcin de lucru care este perfectă pentru V100, una cu peste 100 de milioane de parametri în rețele complet conectate mari care se potrivesc în memoria GPU”, a spus Shrivastava. “Am antrenat-o cu cel mai bun pachet de software disponibil, TensorFlow de la Google, și a durat 3 ore și jumătate pentru a o antrena.
“Apoi am demonstrat că noul nostru algoritm poate face antrenamentul într-o oră, nu pe GPU, ci pe un CPU Xeon cu 44 de nuclei”, a continuat el.
Hasharea este o metodă de indexare a datelor inventată în anii 1990 pentru căutarea pe internet. Se utilizează metode numerice pentru a codifica cantități mari de informații sub formă de șir de cifre, cunoscute sub numele de hash. Se creează tabele hash care pot fi căutate rapid.
“Nu ar fi avut niciun sens să implementăm algoritmul nostru pe TensorFlow sau PyTorch, deoarece primul lucru pe care îl vor face este să convertească orice faceți într-o problemă de multiplicare a matricelor”, a spus Chen. “Acesta este exact ceea ce am vrut să evităm. Așadar, am scris codul nostru C++ de la zero.”
Conform lui Shrivastava, cel mai mare avantaj al SLIDE este acela că este paralel din punct de vedere al datelor.
“Prin paralel din punct de vedere al datelor, înseamnă că, dacă am două instanțe de date pe care vreau să le antrenez, să zicem una este o imagine a unui pisic și cealaltă a unui autobuz, acestea vor activa probabil neuroni diferiți, iar SLIDE poate actualiza, sau antrena, aceste două în mod independent”, a spus el. “Acesta este un utilizare mult mai bună a paralelismului pentru CPU.”
“Partea inversă, comparativ cu GPU, este că avem nevoie de o memorie mare”, a spus el. “Există o ierarhie de cache în memoria principală și, dacă nu sunteți atenți cu aceasta, puteți întâmpina o problemă numită cache thrashing, unde primiți multe ratări de cache.”
SLIDE a deschis ușa pentru noi modalități de implementare a învățării profunde și Shrivastava crede că acesta este doar începutul.
“Abia am atins suprafața”, a spus el. “Mai există multe lucruri pe care le putem face pentru a optimiza. Nu am utilizat vectorizarea, de exemplu, sau acceleratoarele încorporate în CPU, cum ar fi Intel Deep Learning Boost. Există multe alte trucuri pe care le putem folosi pentru a face acest lucru și mai rapid.”












