NVIDIA

De ce se folosesc plăci video pentru antrenarea AI-urilor și nu procesoare?22 min read

De Ionuț Preda 05.05.2023

Un tip de hardware creat pentru jocurile video a devenit crucial în revoluția inteligenței artificiale.

Progresul extraordinar al modelelor AI lansate comercial generează atât de multe discuții despre potențialele lor efecte în lumea reală, încât lasă în umbră un alt aspect important.  Avansul în AI se datorează atât unor metode de antrenare tot mai eficiente, cât și a unor componente hardware care oferă o putere de calcul semnificativ mai ridicată, care între timp chiar s-a specializat pe antrenarea AI-urilor.

Ar putea să surprindă faptul că în antrenarea celor mai performante modele de inteligență artificiale nu joacă un rol principal procesoarele centrale – cele despre care și utilizatorii care nu au multe cunoștințe tehnice înțeleg că funcționează aidoma unui „creier” al unui device electronic complex –, ci plăcile grafice.

GPT-3„OpenAI Presents GPT-3, a 175 Billion Parameters Language Model”, nvidia.com Stable Diffusion,„Training cost for Stable Diffusion was just $600,000 and that is a good sign for AI progress”, thedecoder.com „Midjourney Selects Google Cloud to Power AI-Generated Creative Platform”, prnewswire.comMidjourney și multe alte modele mai puțin cunoscute au fost antrenate pe clustere cu plăci video dedicate AI-ului lansate de NVIDIA.

De altfel, această companie domină zona de hardware folosită la antrenarea modelelor de deep learning. Utilizarea plăcilor video în antrenarea modelelor de AI devine atât de comună încât este așteptată să crească semnificativ ponderea totală a lor în centrele de date, de la 3% în 2020 la 15% în 2026. „Nvidia results show its growing lead in AI chip race”, reuters.com

Dar pentru a înțelege de ce un tip de hardware până nu de curând specializat doar pentru jocuri video și activități de editare foto-video a devenit cheia progresului modelelor AI, trebuie înțeles mai întâi cum funcționează și cum sunt antrenate astfel de modele.

Cum să-ți antrenezi AI-ul

Există multă confuzie în ceea ce privește modelele de inteligență artificială: termeni precum machine learning, deep learning sau rețele neuronale sunt folosiți de multe ori fără explicații adiționale despre nuanțele din spatele lor.

În realitate, fiecare dintre acești termeni sunt conținuți unul în cealalt. Machine learning-ul,„ AI vs. Machine Learning vs. Deep Learning vs. Neural Networks: What’s the Difference?”, ibm.com de exemplu, reprezintă doar o ramură a AI-ului, care se ocupă cu antrenarea modelelor pentru a le învăța să identifice și să recunoască tipare în date. Astfel, AI-ul poate învăța să identifice și să prezică modele și tendințe în date, permițând efectuarea unor sarcini complexe precum recunoașterea de obiecte, traducerea limbajului sau punerea unor diagnostice medicale.

Mai departe, rețelele neuronale sunt un model de machine learning inspirat, foarte larg, de procesul de învățare al creierului biologic.„A Beginner-Friendly Explanation of How Neural Networks Work”, towardsdatascience.com Ele sunt, practic, serii de calcule complexe care analizează sarcina cerută de utilizator și, luând în calcul modul în care au fost antrenate, ajung la răspunsul pe care îl consideră cel mai precis.

Vizual, o rețea neuronală poate fi reprezentată prin straturi de „neuroni” – în fapt, noduri de procesare care primesc datele inițiale, le aplică o funcție matematică„How To Define A Neural Network as A Mathematical Function”, towardsdatascience.com și trimit rezultatul la următoarele straturi de noduri. Fiecare strat analizează datele într-un alt mod; de exemplu, într-un model de limbaj, dacă straturile inițiale doar conferă valori numerice fiecărui cuvânt dintr-o întrebare, straturile următoare le analizează tot mai abstract, identificând tipare și asocieri dintre acestea sau obținând interpretări ale contextului, precum și primele cuvinte dintr-un eventual răspuns.

Datele sunt trecute prin straturi succesive, iar pe măsură ce se propagă prin rețea și AI-ul înțelege sarcina mai specific, sunt activate tot mai puține noduri în fiecare strat, până se ajunge la un răspuns final. Practic, algoritmul „filtrează” informațiile (nodurile) irelevante, activându-le doar pe cele necesare pentru răspuns.

Acuratețea predicțiilor depinde, printre altele, de partea dinamică a acestui șir de ecuații, anume legăturile dintre noduri. Acestea sunt reprezentate numeric prin seturi de ponderi și praguri, numiți parametri, care se adaugă ecuației efectuate în fiecare nod.

Parametrii sunt ajustați în timpul procesului de antrenare al rețelei neuronale. Atunci, algoritmul primește date de intrare (de exemplu, o propoziție cu un cuvânt lipsă sau o întrebare) cât și date etichetate de ieșire (cuvântul lipsă sau răspunsul corect), dar trebuie să facă legăturile dintre straturi de noduri pentru a ajunge la o predicție similară sau cât mai apropiată etichetei. Așa că, cu ajutorul unor algoritmi de optimizare, modelul ajustează parametrii„Learning to grow machine-learning models”, mit.edu până când formează legăturile cele mai relevante între noduri pentru a obține un răspuns cât mai precis. Parametrii cei mai preciși sunt păstrați în memoria rețelelor, iar AI-ul îi accesează atunci când este implementat pentru a genera răspunsuri la sarcinile trasate de utilizatori.

Și, în sfârșit, ceea ce este cunoscut ca deep learning este numele dat rețelelor neuronale care au straturi intermediare (numite straturi ascunse) de procesare a datelor între cel de intrare (de exemplu, întrebarea adresată lui ChatGPT) și cel de ieșire (răspunsul oferit de model). Mai toate AI-urile care au luat cu asalt lumea în ultimii ani, de la GPT-3 și Google Bard până la Midjourney sau DALL-E, sunt antrenate pe variații ale unor astfel de rețele neuronale adânci.

Acestea sunt doar explicații simplificate. Există multe alte metode complexe care sunt folosite și la antrenarea rețelelor neuronale. De exemplu, GPT-3 a fost antrenat pentru o precizie mai ridicată și printr-o metodă numită reinforcement learning cu feedback uman, în care operatori umani clasifică rezultatele obținute de AI în funcție de relevanță.„Aligning language models to follow instructions”, openai.com

Este, însă, suficient ca să-ți faci o ideea despre cantitatea uriașă de calcule matematice necesară pentru funcționarea unor astfel de modele AI. GPT-3 a obținut, de exemplu, 175 de miliarde de parametri, iar cercetătorii de la Google au antrenat chiar și modele cu peste 100 de trilioane.„Training a recommender model of 100 trillions parameters on Google Cloud”, cloud.google.com

Ei bine, plăcile video vin cu un avantaj semnificativ în acest sens: ele au fost dezvoltate, încă de la început, pentru a face mult mai multe calcule în paralel decât un procesor.

Calcule mai multe, precizie mai mică

Plăcile video sunt de câteva decenii o componentă-cheie a sistemelor de gaming, editare foto-video sau randare grafică, dar mai puțin a sistemelor de uz mai general. Ele nu sunt necesare pentru funcționarea unui sistem desktop sau notebook – majoritatea CPU-urilor au și procesoare video integrate care pot face față taskurilor nespecializate pe grafică sau video –, iar multe sisteme sau laptop-uri low end nu includ procesoare grafice dedicate.

Însă, în ceea ce privește folosirea lor pentru antrenarea modelelor de deep learning, plăcile video au un avantaj semnificativ asupra procesoarelor: pentru că randările grafice ale unor spații tridimensionale necesită o cantitate extrem de mare de calcule precise, majoritatea repetitive, plăcile video au fost optimizate pentru a face multe astfel de calcule în paralel.„CPUs vs. GPUs for AI workloads”, techtarget.com

În contrast, procesoarele centrale au fost dezvoltate inițial cu ideea de a face calcule secvențial, efectuând câte o operație în ordinea în care acestea sunt primite. Este adevărat, CPU-urile moderne fac uz mult mai des de forme de paralelism: cele mai multe sunt multi-core, ceea ce înseamnă că chip-ul integrează mai multe procesoare fizice care pot executa calcule în același timp. Alte tehnologii, precum hyper-threading-ul, permite împărțirea suplimentară a acestor sarcini.

Însă procesoarele au în continuare operații care trebuie efectuate secvențial, precum cele de pornire ale sistemului, în care inițializarea hardware-ului și încărcarea sistemului de operare sunt efectuate pe rând.

Chiar și așa, diferența de core-uri dintre CPU-urile și plăcile video moderne este uriașă. Pentru procesoare, recordurile de performanță„Intel reclaims Cinebench world record with 56-core Sapphire Rapids Xeon-W”, xda-developers.com sunt deținute momentan de seriile pentru workstation-uri AMD Threadripper 5000 (64 de core-uri fizice) și Intel Xeon Sapphire Rapids (56 de core-uri), în timp ce Threadripper 7000 se va lansa către sfârșitul lui 2023 cu 96 de core-uri.

Compară asta cu cea mai performantă placă video lansată de NVIDIA special pentru centre de date și antrenarea rețelelor neuronale, H100, care are aproape 19.000 de core-uri, din care o parte sunt optimizate special pentru calcule asociate deep learning-ului.„NVIDIA Hopper H100 GPU Is Even More Powerful In Latest Specifications, Up To 67 TFLOPs Single-Precision Compute Listed”, wccftech.com

18.432 dintre acestea sunt numite core-uri CUDA, Compute Unified Device Architecture tehnologia care a permis inițial folosirea plăcilor video în alte scopuri decât randarea grafică. Lansat inițial în 2007, CUDADetalii pe wikipedia.org este un layer de software prin care se poate accesa setul de instrucțiuni al plăcii video, pentru a-i putea folosi resursele computaționale în task-uri efectuate cu limbaje de programare comune.

Dar și mai importante în acest context sunt cele 576 de core-uri Tensor.„NVIDIA Tensor Cores”, nvidia.com Acestea sunt procesoare special create pentru a eficientiza un tip de calcul matematic complex folosit în rețelele neuronale, numit „înmulțirea matricelor cu precizie mixtă”. Tensorurile pot efectua mai multe calcule simultan decât procesoarele CUDA, însă sunt mai puțin precise – ceea ce nu este neapărat rău într-o rețea neuronală, unde precizia contează mai puțin față de randarea grafică, iar modelul AI beneficiază de pe urma unei capabilități cât mai mari de calcule în paralel.

Plăcile video mai au și alte avantaje în fața procesoarelor. Ele vin cu memorie video dedicată VRAM (96 de GB în cazul lui H100), eliberând memoria RAM pentru alte operații ale clusterului. În același timp, și lățimea de bandă a acestora – viteza cu care datele pot fi transferate între placa video și memoria sistemului – este mult mai ridicată.

Dar poate că niciunul dintre aspectele de hardware nu ar conta dacă GPU-urile nu ar avea un avantaj și în cel mai crucial aspect pentru viabilitatea unei tehnologii: eficiența de cost. Încă din 2018,GPUs vs CPUs for deployment of deep learning models | Azure Blog and Updates”, azure.microsoft.com teste efectuate de cercetătorii de date din rețeaua Azure întreținută de Microsoft arătau o eficiență cu între 400 și 800% mai ridicată a clusterelor de plăci video în antrenarea modelelor de deep learning, în comparație cu un cluster format doar din CPU-uri la costuri similare. De altfel, chiar și o rețea cu plăci video la o treime din costul clusterului de CPU a scos o performanță cu între 180 și 400% mai bună.

plăci video

CPU-ul rămâne util pentru AI, dar TPU-ul vin din urmă

Desigur, procesoarele nu și-au pierdut complet viabilitatea în antrenarea AI-ului. Ele încă sunt eficiente în pre și post-procesarea datelor folosite în antrenarea algoritmilor, de exemplu pe partea de curățare a acestora (repararea sau ștergerea datelor incorecte, corupte, formatate greșit sau repetate). În plus, sunt multe modele de machine learning de dimensiuni mai mici care sunt mai eficient de antrenat, din punct de vedere al costurilor, pe procesoarele clasice.„CPU vs GPU in Machine Learning Algorithms: Which is Better?”, thinkml.ai

În schimb, un posibil concurent în antrenarea AI-ului pe Deep Learning ar putea fi așa-numitele Tensor Processing Units (TPU), Detalii pe wikipedia.org produse de Google. Acestea sunt diferite de plăcile video tradiționale, fiind circuite integrate dezvoltate special pentru rețele neuronale.

La fel ca tensor core-urile de pe plăcile NVIDIA, TPU-urile optimizează mult mai bine operațiile cu matrice din rețele neuronale și au o compatibilitate ridicată cu librării software specializate pentru antrenarea de tip deep learning, precum TensorFlow. Din păcate, nu prea există benchmark-uri sau comparații privind eficiența lor, iar unul dintre puținele studii efectuate datează din 2018 „A Survey Paper Comparing modern CPU, GPU & TPU Hardware in Relation to Neural Network Training and Inference”, medium.com și concluzionează că GPU-urile, TPU-urile și chiar și CPU-urile pot fi mai eficiente pentru proiecte, în funcție de algoritmii, metodele și tehnologiile folosite în antrenarea AI-ului.

Totuși, NVIDIA nu are momentan motive de panică, pentru că TPU-urile sunt folosite în mare în antrenarea rețelelor AI interne de către Google. De anul trecut, gigantul le oferă și în cadrul soluțiilor de cloud computing, însă Google are în continuare și clustere bazate pe plăcile NVIDIA, ceea ce arată că încă nu au pretenții de a detrona actualul lider de piață.

În orice caz, pare destul de clar că rolul plăcilor video în antrenarea modelelor complexe de AI nu poate decât să crească și mai mult în următorii ani, odată cu apariția unor versiuni mai puternice, eficiente și chiar și mai specializate pe antrenarea rețelelor neuronale sau, de ce nu, a altor tipuri de machine learning.



Text de

Ionuț Preda

Redactor cu câțiva ani de experiență în presa centrală. Este curios despre aplicarea tehnologiilor SF în lumea reală și evoluția ideilor de-a lungul istoriei.

AI&ROBOȚI|SLOW FORWARD

Sam Altman controlează acum OpenAI, dar se chinuie să mențină interesul asupra AI

De
Pe măsură ce lumea realizează că inteligența artificială are nevoie și de altceva decât mai mulți bani, mai multă energie, mai multe computere, CEO-ul OpenAI se străduiește să păstreze vie flacăra speranței în „superinteligență acum”.
AI&ROBOȚI|MS TALKS

Primul LLM românesc. Cum va arăta viitorul inteligenței artificiale în România?

De
Cercetatori de la Universitatea Politehnica din București, Universitatea din București și Institutul de Logică și Știința Datelor (ILDS) au dezvoltat primele modele de limbaj (Large Language Model – LLM) în limba română. Proiectul este un prim pas în dezvoltarea inteligenței artificiale generative în România.
AI&ROBOȚI|OVERVIEW

Candidații și platformele politice generate de inteligența artificială: viitorul sau doar un publicity stunt?

De
Inteligența artificială este utilizată în diverse moduri în campaniile politice, chiar de către candidați (de la apeluri automate la asistenți virtuali). Dincolo de asta, însă, apar candidații care susțin că doar platformele care au la bază AI pot restaura încrederea populației în sistemele de guvernare. Și chiar candidații virtuali. 
AI&ROBOȚI|STUDII

Când Inteligența Artificială știe mai bine: cazul AI în îngrijirea vârstnicilor

De
Inteligența artificială oferă soluții eficiente pentru îngrijirea vârstnicilor, dar poate perpetua ageismul și restricționa autonomia acestora. Sistemele de AI pentru îngrijirea vârstnicilor pot fi paternaliste.