Navigarea costului ridicat al calculului AI

Navigarea costului ridicat al calculului AI

Navigarea costului ridicat al AI Compute PlatoBlockchain Data Intelligence. Căutare verticală. Ai.
Sursa: Midjourney

Boom-ul AI generativ este legat de calcul. Are proprietatea unică că adăugarea mai multor calcule duce direct la un produs mai bun. De obicei, investițiile în cercetare și dezvoltare sunt mai direct legate de cât de valoros a fost un produs, iar această relație este semnificativ subliniară. Dar acest lucru nu este așa în prezent cu inteligența artificială și, ca urmare, un factor predominant care conduce industria astăzi este pur și simplu costul instruirii și al inferenței. 

Deși nu cunoaștem cifrele adevărate, am auzit de la surse de renume că oferta de calcul este atât de restrânsă, încât cererea o depășește cu un factor de 10 (!). Așa că credem că este corect să spunem că, chiar acum, accesul la resursele de calcul – la cel mai mic cost total – a devenit un factor determinant pentru succesul companiilor AI.

De fapt, am văzut multe companii cheltuind mai mult de 80% din capitalul lor total strâns pe resurse de calcul!

În această postare, încercăm să defalcăm factorii de cost pentru o companie AI. Cifrele absolute se vor schimba, desigur, în timp, dar nu vedem o ușurare imediată a companiilor AI care sunt legate de accesul lor la resursele de calcul. Deci, sperăm, acesta este un cadru util pentru a gândi peisajul. 

De ce sunt modelele AI atât de costisitoare din punct de vedere computațional?

Există o mare varietate de modele AI generative, iar costurile de inferență și formare depind de dimensiunea și tipul modelului. Din fericire, cele mai populare modele astăzi sunt în mare parte arhitecturi bazate pe transformatoare, care includ modele de limbaj mari (LLM) populare, cum ar fi GPT-3, GPT-J sau BERT. În timp ce numărul exact de operații pentru inferența și învățarea transformatoarelor este specific modelului (vezi acest document), există o regulă generală destul de precisă care depinde numai de numărul de parametri (adică, greutățile rețelelor neuronale) ai modelului și de numărul de jetoane de intrare și de ieșire. 

Jetoanele sunt în esență secvențe scurte de câteva caractere. Ele corespund cuvintelor sau părților de cuvinte. Cea mai bună modalitate de a obține o intuiție pentru jetoane este să încercați tokenizarea cu tokenizatoare online disponibile public (de exemplu, OpenAI). Pentru GPT-3, lungimea medie a unui simbol este de 4 caractere

Regula generală pentru transformatoare este că o trecere înainte (adică, inferență) pentru un model cu p parametrii pentru o secvență de lungime de intrare și de ieșire n jetoane fiecare, durează aproximativ 2*n*p operații în virgulă mobilă (FLOPS)¹. Antrenamentul pentru același model durează aproximativ 6*p FLOPS per jeton (adică, trecerea suplimentară înapoi necesită încă patru operațiuni²). Puteți aproxima costul total de antrenament înmulțind acesta cu cantitatea de jetoane din datele de antrenament.

Cerințele de memorie pentru transformatoare depind și de dimensiunea modelului. Pentru deducere, avem nevoie de p parametrii modelului pentru a se potrivi în memorie. Pentru învățare (adică, propagarea înapoi), trebuie să stocăm valori intermediare suplimentare pe parametru între trecerea înainte și înapoi. Presupunând că folosim numere în virgulă mobilă pe 32 de biți, este vorba de 8 octeți suplimentari pe parametru. Pentru antrenarea unui model cu 175 de miliarde de parametri, ar trebui să păstrăm peste un terabyte de date în memorie - acest lucru depășește orice GPU existent astăzi și ne impune să împărțim modelul pe carduri. Cerințele de memorie pentru inferență și antrenament pot fi optimizate prin utilizarea valorilor în virgulă mobilă de lungimi mai scurte, 16 biți devenind obișnuiți și 8 biți anticipați în viitorul apropiat.

Navigarea costului ridicat al AI Compute PlatoBlockchain Data Intelligence. Căutare verticală. Ai.

Tabelul de mai sus are dimensiuni și costuri de calcul pentru mai multe modele populare. GPT-3 are aproximativ 175 de miliarde de parametri, care, pentru o intrare și ieșire de 1,024 de jetoane, are ca rezultat un cost de calcul de aproximativ 350 de trilioane de operațiuni în virgulă mobilă (adică Teraflops sau TFLOPS). Antrenarea unui model precum GPT-3 necesită aproximativ 3.14*10^23 de operații în virgulă mobilă. Au alte modele precum LLaMA lui Meta chiar mai sus cerinţele de calcul. Pregătirea unui astfel de model este una dintre sarcinile mai intense din punct de vedere computațional pe care omenirea le-a asumat până acum. 

Pentru a rezuma: infrastructura AI este costisitoare, deoarece problemele algoritmice de bază sunt extrem de dificile din punct de vedere computațional. Complexitatea algoritmică a sortării unui tabel de bază de date cu un milion de intrări este nesemnificativă în comparație cu complexitatea generării unui singur cuvânt cu GPT-3. Aceasta înseamnă că doriți să alegeți cel mai mic model care vă rezolvă cazul de utilizare. 

Vestea bună este că, pentru transformatoare, putem estima cu ușurință cât de mult calcul și memorie va consuma un model de o anumită dimensiune. Și, așadar, alegerea hardware-ului potrivit devine următorul aspect. 

Argumentul timpului și costului pentru GPU

Cum se traduce complexitatea computațională în timp? Un nucleu de procesor poate executa în mod obișnuit 1-2 instrucțiuni pe ciclu, iar ratele de ceas a procesorului au fost stabile în jurul valorii de 3 GHz în ultimii 15 ani, datorită sfârșitului Scalare Dennard. Executarea unei singure operații de inferență GPT-3 fără a exploata nicio arhitectură paralelă ar dura de ordinul a 350 TFLOPS/(3 GHz*1 FLOP) sau 116,000 de secunde sau 32 de ore. Acest lucru este extrem de nepractic; în schimb avem nevoie de cipuri specializate care accelerează această sarcină.

În practică, toate modelele AI de astăzi rulează pe carduri care folosesc un număr foarte mare de nuclee specializate. De exemplu, un GPU NVIDIA A100 are 512 „nuclee tensoare” care pot efectua o multiplicare matrice 4×4 (care echivalează cu 64 de înmulțiri și adunări, sau 128 FLOPS) într-un singur ciclu. Cardurile de accelerare AI sunt adesea denumite GPU (unități de procesare grafică), deoarece arhitectura a fost dezvoltată inițial pentru jocurile desktop. În viitor, ne așteptăm ca AI să devină din ce în ce mai mult o familie de produse distinctă. 

A100 are o performanță nominală de 312 TFLOPS ceea ce în teorie ar reduce inferența pentru GPT-3 la aproximativ 1 secundă. Cu toate acestea, acesta este un calcul prea simplificat din mai multe motive. În primul rând, pentru majoritatea cazurilor de utilizare, blocajul nu este puterea de calcul a GPU-ului, ci capacitatea de a obține date din memoria grafică specializată la nucleele tensorului. În al doilea rând, cele 175 de miliarde de greutăți ar ocupa 700 GB și nu se vor potrivi în memoria grafică a niciunui GPU. Trebuie folosite tehnici precum partiționarea și fluxul de greutate. Și, în al treilea rând, există o serie de optimizări (de exemplu, folosind reprezentări mai scurte în virgulă mobilă, cum ar fi FP16, FP8 sau matrici rare) care sunt utilizate pentru a accelera calculul. Dar, în general, matematica de mai sus ne oferă o intuiție a costului total de calcul al magistralelor de astăzi.

Antrenarea unui model de transformator durează de aproximativ trei ori mai mult pe jeton decât efectuarea inferenței. Cu toate acestea, având în vedere că setul de date de antrenament este de aproximativ 300 de milioane de ori mai mare decât un prompt de inferență, antrenamentul durează mai mult cu un factor de 1 miliard. Pe un singur GPU, antrenamentul ar dura zeci de ani; în practică, acest lucru se realizează pe clustere mari de calcul în centre de date dedicate sau, mai probabil, în cloud. Antrenamentul este, de asemenea, mai greu de paralelizat decât deducerea, deoarece greutățile actualizate trebuie schimbate între noduri. Memoria și lățimea de bandă între GPU-uri devin adesea un factor mult mai important, interconexiunile de mare viteză și materialele dedicate fiind comune. Pentru antrenarea modelelor foarte mari, crearea unei configurații de rețea adecvate poate fi principala provocare. Privind în viitor, acceleratoarele AI vor avea capabilități de rețea pe card sau chiar pe cip. 

Cum se traduce această complexitate de calcul în cost? O inferență GPT-3, care, așa cum am văzut mai sus, durează aproximativ 1 secundă pe un A100, ar avea un cost brut de calcul între 0.0002 USD și 0.0014 USD pentru 1,000 de jetoane (acest lucru se compară cu prețul OpenAI de 0.002 USD/1000 de jetoane). Un utilizator care generează 100 de solicitări de inferență pe zi ar costa de ordinul dolarilor pe an. Acesta este un preț foarte scăzut și face ca majoritatea cazurilor de utilizare a inteligenței artificiale bazate pe text de către oameni să fie viabile financiar.

Pregătire GPT-3, pe de altă parte, este mult mai scump. Din nou, calculând doar costul de calcul pentru 3.14*10^23 FLOPS la ratele de mai sus, ne oferă o estimare de 560,000 USD pe carduri A100 pentru un un singur antrenament. În practică, pentru antrenament nu vom obține o eficiență aproape de 100% în GPU; cu toate acestea, putem folosi și optimizări pentru a reduce timpul de antrenament. Alte estimări ale costurilor de formare GPT-3 variază de la $500,000 la 4.6 milioane dolari, în funcție de ipotezele hardware. Rețineți că acesta este costul unei singure rulări și nu costul total. Probabil că vor fi necesare mai multe rulări, iar furnizorii de cloud vor dori angajamente pe termen lung (mai multe despre asta mai jos). Formarea modelelor de vârf rămâne costisitoare, dar la îndemâna unui start-up bine finanțat.

Pentru a rezuma, AI generativă necesită investiții masive în infrastructura AI astăzi. Nu există niciun motiv să credem că acest lucru se va schimba în viitorul apropiat. Antrenarea unui model precum GPT-3 este una dintre sarcinile cele mai intensive din punct de vedere computațional pe care omenirea le-a asumat vreodată. Și în timp ce GPU-urile devin mai rapide și găsim modalități de a optimiza antrenamentul, extinderea rapidă a AI anulează ambele efecte.

Considerații pentru infrastructura AI

Până în acest punct, am încercat să vă oferim o anumită intuiție pentru scara necesară pentru a face antrenament și deducere a modelelor AI și ce parametri de bază le conduc. În acest context, dorim acum să oferim câteva îndrumări practice despre cum să decidem ce infrastructură AI să folosim.

Infrastructură externă vs. internă

Să recunoaștem: GPU-urile sunt cool. Mulți ingineri și fondatori care se gândesc la inginerie au tendința de a-și asigura propriul hardware AI, nu numai pentru că oferă un control fin asupra antrenamentului modelului, ci și pentru că există ceva distractiv în valorificarea unor cantități mari de putere de calcul (Proba A).

Realitatea este însă că multe startup-uri – în special companiile de aplicații – nu au nevoie să-și construiască propria infrastructură AI în ziua 1. În schimb, serviciile de model găzduite precum OpenAI sau Hugging Face (pentru limbaj) și Replicate (pentru generarea de imagini) permit fondatorilor să caute rapid potrivirea produsului-piață, fără a fi nevoie să gestioneze infrastructura sau modelele de bază.

Aceste servicii au devenit atât de bune încât multe companii nu le absolvă niciodată. Dezvoltatorii pot obține un control semnificativ asupra performanței modelului prin inginerie promptă și abstracții de reglare fină de ordin superior (adică, reglare fină prin apeluri API). Prețul pentru aceste servicii este bazat pe consum, deci este adesea mai ieftin decât rularea unei infrastructuri separate. Am văzut companii de aplicații care generează mai mult de 50 de milioane de dolari ARR și au o valoare de peste 1 miliard de dolari, care rulează servicii de model găzduite sub capotă.

Pe de altă parte, unele startup-uri – mai ales cei care pregătesc modele noi de fundație sau care construiesc aplicații AI integrate pe verticală — nu pot evita să-și ruleze direct propriile modele pe GPU-uri. Fie pentru că modelul este efectiv produsul și echipa caută „potrivire model-piață”, fie pentru că este necesar un control fin asupra instruirii și/sau inferenței pentru a obține anumite capacități sau pentru a reduce costul marginal la scară largă. În orice caz, gestionarea infrastructurii poate deveni o sursă de avantaj competitiv.

Dezvoltarea cloud vs. data center

În cele mai multe cazuri, cloud-ul este locul potrivit pentru infrastructura dumneavoastră AI. Costuri inițiale mai puține, capacitatea de a crește și descrește, disponibilitatea regională și mai puține distrageri de la construirea propriului centru de date sunt convingătoare pentru majoritatea startup-urilor și companiilor mai mari.

Dar există câteva excepții de la această regulă:

  • Dacă operați la o scară foarte mare, poate deveni mai rentabil să vă gestionați propriul centru de date. Prețul exact variază în funcție de locația geografică și configurație, dar de obicei necesită cheltuieli de infrastructură de peste 50 de milioane de dolari pe an.
  • Aveți nevoie de hardware foarte specific pe care nu îl puteți obține de la un furnizor de cloud. De exemplu, tipuri de GPU care nu sunt disponibile pe scară largă, precum și cerințe neobișnuite de memorie, stocare sau rețea.
  • Nu puteți găsi un nor care este acceptabil din considerente geopolitice.

Dacă doriți să vă construiți propriul centru de date, a existat o analiză cuprinzătoare a prețului/performanței GPU-urilor pentru propria dvs. configurație (de exemplu, Analiza lui Tim Dettmer). Pe lângă costul și performanța cardului în sine, selecția hardware-ului depinde și de putere, spațiu și răcire. De exemplu, două carduri RTX 3080 Ti împreună au o capacitate de calcul brută similară cu un A100, dar consumul de energie respectiv este de 700W față de 300W. Diferența de putere de 3,500 kWh la tarifele pieței de 0.10 USD/kWh pe un ciclu de viață de trei ani crește costul RTX3080 Ti de aproape 2x (aproximativ 1,000 USD).

Acestea fiind spuse, ne așteptăm ca marea majoritate a startup-urilor să folosească cloud computing. 

Compararea furnizorilor de servicii cloud 

Amazon Web Services (AWS), Microsoft Azure și Google Cloud Platform (GCP) oferă toate instanțe GPU, dar noi furnizori par să se concentreze, de asemenea, pe sarcinile de lucru AI. Iată un cadru pe care l-am văzut mulți fondatori îl folosesc pentru a alege un furnizor de cloud:

Preț: Tabelul de mai jos arată prețurile pentru o serie de nori de specialitate majore și mai mici începând cu 7 aprilie 2023. Aceste date sunt doar orientative, deoarece instanțele variază considerabil în ceea ce privește lățimea de bandă a rețelei, costurile de ieșire a datelor, costurile suplimentare de la CPU și rețea, disponibile. reduceri și alți factori.

Navigarea costului ridicat al AI Compute PlatoBlockchain Data Intelligence. Căutare verticală. Ai.

Capacitatea de calcul pe un anumit hardware este o marfă. În mod naiv, ne-am aștepta la prețuri destul de uniforme, dar nu este cazul. Și, deși există diferențe substanțiale de caracteristici între nori, acestea sunt insuficiente pentru a explica faptul că prețul pentru un NVIDIA A100 la cerere variază cu un factor de aproape 4 ori între furnizori.

La capătul superior al scalei de preț, marile cloud-uri publice percep o sumă pe bază de reputație a mărcii, fiabilitate dovedită și nevoia de a gestiona o gamă largă de sarcini de lucru. Furnizorii mai mici de specialitate AI oferă prețuri mai mici, fie prin conducerea unor centre de date special create (de exemplu, Coreweave), fie prin arbitrajul altor cloud (de exemplu, Lambda Labs).

Practic, majoritatea cumpărătorilor mai mari negociază prețurile direct cu furnizorii de cloud, deseori angajându-se să respecte anumite cerințe minime de cheltuieli, precum și angajamente minime de timp (am văzut 1-3 ani). Diferențele de preț între nori se micșorează oarecum după negociere, dar am văzut că clasamentul din tabelul de mai sus rămâne relativ stabil. De asemenea, este important să rețineți că companiile mai mici pot obține prețuri agresive din cloud-uri de specialitate fără angajamente mari de cheltuieli.

Disponibilitate: Cele mai puternice GPU-uri (de exemplu, Nvidia A100s) au lipsit constant în ultimele peste 12 luni. 

Ar fi logic să credem că primii trei furnizori de cloud au cea mai bună disponibilitate, având în vedere puterea lor mare de cumpărare și resursele lor. Dar, oarecum surprinzător, multe startup-uri nu au găsit că acest lucru este adevărat. Norii mari au o mulțime de hardware, dar au și nevoi mari ale clienților de satisfăcut - de exemplu, Azure este gazda principală pentru ChatGPT - și adaugă/închiriază în mod constant capacitate pentru a satisface cererea. Între timp, Nvidia s-a angajat să facă hardware disponibil pe scară largă în industrie, inclusiv alocările pentru noi furnizori de specialitate. (Ei fac acest lucru atât pentru a fi corecți, cât și pentru a-și reduce dependența de câțiva clienți mari care, de asemenea, concurează cu ei.)

Drept urmare, multe startup-uri găsesc mai multe cipuri disponibile, inclusiv Nvidia H100s de ultimă generație, la furnizorii de cloud mai mici. Dacă sunteți dispus să lucrați cu o companie de infrastructură mai nouă, este posibil să puteți reduce timpii de așteptare pentru hardware și, eventual, să economisiți bani în acest proces.

Calculează modelul de livrare: Norii mari de astăzi oferă doar instanțe cu GPU-uri dedicate, motivul fiind că virtualizarea GPU este încă o problemă nerezolvată. Norurile specializate de inteligență artificială oferă alte modele, cum ar fi containere sau joburi în loturi, care pot face față sarcinilor individuale fără a suporta costul de pornire și de demontare al unei instanțe. Dacă vă simțiți confortabil cu acest model, acesta poate reduce substanțial costul.

Interconexiuni de rețea: Pentru instruire, în special, lățimea de bandă a rețelei este un factor major în selecția furnizorului. Clusterele cu țesături dedicate între noduri, cum ar fi NVLink, sunt necesare pentru a antrena anumite modele mari. Pentru generarea de imagini, taxele de trafic de ieșire pot fi, de asemenea, un factor major de cost.

Relații Clienți: Furnizorii de cloud mari deservesc un număr mare de clienți din mii de SKU-uri de produse. Poate fi greu să atragi atenția asistenței pentru clienți sau să rezolvi o problemă, cu excepția cazului în care ești un client mare. Pe de altă parte, multe cloud-uri specializate AI oferă asistență rapidă și receptivă chiar și pentru clienții mici. Acest lucru se datorează parțial pentru că aceștia funcționează la o scară mai mică, dar și pentru că sarcinile lor de lucru sunt mai omogene - deci sunt mai motivați să se concentreze pe caracteristicile și erorile specifice AI.

Compararea GPU-urilor 

Toate celelalte fiind egale, GPU-urile de vârf vor funcționa cel mai bine pe aproape toate sarcinile de lucru. Cu toate acestea, după cum puteți vedea în tabelul de mai jos, cel mai bun hardware este, de asemenea, substanțial mai scump. Alegerea tipului potrivit de GPU pentru aplicația dvs. specifică poate reduce substanțial costurile și poate face diferența între un model de afaceri viabil și cel neviabil.

Navigarea costului ridicat al AI Compute PlatoBlockchain Data Intelligence. Căutare verticală. Ai.

A decide cât de departe pe listă să mergi – adică să determini cele mai rentabile opțiuni de GPU pentru aplicația ta – este în mare măsură o decizie tehnică care depășește scopul acestui articol. Dar vom împărtăși mai jos câteva dintre criteriile de selecție pe care le-am văzut că sunt cele mai importante:

Antrenament vs. inferență: După cum am văzut în prima secțiune de mai sus, antrenarea unui model Transformer necesită să stocăm 8 octeți de date pentru antrenament în plus față de greutățile modelului. Aceasta înseamnă că un GPU tipic pentru consumatori de ultimă generație cu 12 GB de memorie abia ar putea fi folosit pentru a antrena un model cu 4 miliarde de parametri. În practică, antrenarea modelelor mari se face pe clustere de mașini cu, de preferință, multe GPU-uri pe server, o mulțime de VRAM și conexiuni cu lățime de bandă mare între servere (adică, clustere construite folosind GPU-uri de top pentru centre de date).

Mai exact, multe modele vor fi cele mai rentabile pe NVIDIA H100, dar de astăzi este greu de găsit și necesită de obicei un angajament pe termen lung de mai mult de un an. NVIDIA A100 rulează cele mai multe modele de formare astăzi; este mai ușor de găsit, dar, pentru grupuri mari, poate necesita și un angajament pe termen lung.

Cerințe de memorie: LLM-urile mari au un număr de parametri prea mare pentru a se potrivi în orice card. Acestea trebuie să fie împărțite pe mai multe cărți și necesită o configurare similară cu antrenamentul. Cu alte cuvinte, probabil că aveți nevoie de H100 sau A100 chiar și pentru inferența LLM. Dar modelele mai mici (de exemplu, Stable Diffusion) necesită mult mai puțin VRAM. Deși A100 este încă popular, am văzut startup-uri folosind carduri A10, A40, A4000, A5000 și A6000 sau chiar RTX. 

Suport hardware: În timp ce marea majoritate a sarcinilor de lucru din companiile cu care am vorbit să ruleze pe NVIDIA, câțiva au început să experimenteze cu alți furnizori. Cel mai obișnuit este Google TPU, dar Gaudi 2 de la Intel pare să primească, de asemenea, un pic de tracțiune. Provocarea cu acești furnizori este că performanța modelului dvs. este adesea foarte dependentă de disponibilitatea optimizărilor software pentru aceste cipuri. Probabil va trebui să faceți un PoC pentru a înțelege performanța.

Cerințe de latență: În general, încărcăturile de lucru mai puțin sensibile la latență (de exemplu, procesarea loturilor de date sau aplicațiile care nu necesită răspunsuri interactive UI) pot folosi GPU-uri mai puțin puternice. Acest lucru poate reduce costurile de calcul cu până la 3-4x (de exemplu, comparând A100-urile cu A10-urile pe AWS). Pe de altă parte, aplicațiile destinate utilizatorilor au adesea nevoie de carduri de top pentru a oferi o experiență de utilizator captivantă, în timp real. Optimizarea modelelor este adesea necesară pentru a aduce costurile într-un interval gestionabil.

Tepante: Companiile de IA generativă înregistrează adesea creșteri dramatice ale cererii, deoarece tehnologia este atât de nouă și incitantă. Nu este neobișnuit să vezi că volumele de solicitări cresc de 10 ori într-o zi, pe baza unei lansări de produse noi, sau cresc cu 50% pe săptămână în mod constant. Gestionarea acestor vârfuri este adesea mai ușoară pe GPU-urile de vârf, deoarece mai multe noduri de calcul sunt probabil disponibile la cerere. Este adesea logic să deserviți acest tip de trafic cu resurse mai ieftine – în detrimentul performanței – dacă vine de la utilizatori mai puțin implicați sau mai puțin reținți.

Optimizarea si programarea modelelor

Optimizările software pot afecta enorm timpul de funcționare al modelelor – iar câștigurile de 10 ori nu sunt neobișnuite. Cu toate acestea, va trebui să determinați care metode vor fi cele mai eficiente cu modelul și sistemul dvs.

Unele tehnici funcționează cu o gamă destul de largă de modele. Folosind reprezentări mai scurte în virgulă mobilă (adică, FP16 sau FP8 față de FP32 original) sau cuantizarea (INT8, INT4, INT2) obțineți o accelerare care este adesea liniară cu reducerea biților. Acest lucru necesită uneori modificarea modelului, dar există, din ce în ce mai mult, tehnologii disponibile care automatizează lucrul cu precizie mixtă sau mai scurtă. Tunderea rețelelor neuronale reduce numărul de greutăți prin ignorarea greutăților cu valori scăzute. Împreună cu multiplicarea eficientă a matricei rare, aceasta poate obține o accelerare substanțială pe GPU-urile moderne. Un alt set de tehnici de optimizare abordează blocajul lățimii de bandă a memoriei (de exemplu, prin transmiterea greutăților modelului).

Alte optimizări sunt foarte specifice modelului. De exemplu, Stable Diffusion a făcut progrese majore în ceea ce privește cantitatea de VRAM necesară pentru inferență. O altă clasă de optimizări este specifică hardware-ului. TensorML de la NVIDIA include o serie de optimizări, dar va funcționa numai pe hardware NVIDIA. Nu în ultimul rând, programarea sarcinilor AI poate crea blocaje sau îmbunătățiri uriașe ale performanței. Alocarea modelelor GPU-urilor într-un mod care să minimizeze schimbul de greutăți, alegerea celui mai bun GPU pentru o sarcină dacă sunt disponibile mai multe și reducerea timpului de nefuncționare prin gruparea în avans a sarcinilor de lucru sunt tehnici comune.

În cele din urmă, optimizarea modelului este încă o artă neagră, iar majoritatea startup-urilor cu care discutăm lucrează cu terțe părți pentru a ajuta cu unele dintre aceste aspecte software. Adesea, aceștia nu sunt furnizori tradiționali de MLops, ci sunt companii specializate în optimizări pentru modele generative specifice (de exemplu, OctoML sau SegMind).

Cum vor evolua costurile infrastructurii AI?

În ultimii ani, am observat o creștere exponențială a ambelor parametrii modelului și Putere de calcul GPU. Nu este clar dacă această tendință va continua.

Astăzi, este larg acceptat că există o relație între numărul optim de parametri și dimensiunea setului de date de antrenament (vezi Deepmind's Chinchilla lucrează pentru mai multe despre asta). Cei mai buni LLM din ziua de azi sunt instruiți pe Crawl comun (o colecție de 4.5 miliarde de pagini web, sau aproximativ 10% din toate paginile web existente). Corpusul de instruire include, de asemenea, Wikipedia și o colecție de cărți, deși ambele sunt mult mai mici (numărul total de cărți existente este estimat a fi doar în jur de 100 de milioane). Au fost sugerate și alte idei, cum ar fi transcrierea conținutului video sau audio, dar niciuna dintre acestea nu se apropie de dimensiune. Nu este clar dacă am putea obține un set de date de antrenament non-sintetic care este de 10 ori mai mare decât ceea ce a fost deja utilizat.

Performanța GPU-ului va continua să crească, dar și într-un ritm mai lent. Legea lui Moore este încă intactă, permițând mai mulți tranzistori și mai multe nuclee, dar puterea și I/O devin factori limitatori. În plus, au fost culese multe dintre fructele care nu se potrivesc pentru optimizare. 

Cu toate acestea, nimic din toate acestea nu înseamnă că nu ne așteptăm la o creștere a cererii de capacitate de calcul. Chiar dacă creșterea modelelor și a setului de antrenament încetinește, creșterea industriei AI și creșterea numărului de dezvoltatori AI vor alimenta cererea pentru GPU-uri mai multe și mai rapide. O mare parte din capacitatea GPU-ului este utilizată pentru testare de către dezvoltatori în timpul fazei de dezvoltare a unui model, iar această cerere crește liniar cu numărul de angajați. Nu există niciun semn că deficitul de GPU pe care îl avem astăzi se va diminua în viitorul apropiat.

Acest cost ridicat continuu al infrastructurii AI va crea un șanț care face imposibil ca noii intrați să ajungă din urmă cu aceștia bine finanțate? Nu știm încă răspunsul la această întrebare. Costul de formare al unui LLM poate arăta astăzi ca un șanț, dar modelele open source precum Alpaca sau Stable Diffusion au arătat că aceste piețe sunt încă devreme și se pot schimba rapid. De-a lungul timpului, structura costurilor stivei de software AI emergente (vezi postarea noastra precedenta) poate începe să semene mai mult cu industria tradițională de software. 

În cele din urmă, acesta ar fi un lucru bun: istoria a arătat că acest lucru duce la ecosisteme vibrante, cu inovații rapide și multe oportunități pentru fondatorii antreprenori.

Mulțumim lui Moin Nadeem și Shangda Xu pentru contribuția și îndrumarea lor în timpul procesului de scriere.


¹ Intuiția aici este că pentru orice parametru (adică greutatea) dintr-o rețea neuronală, o operație de inferență (adică trecere înainte) trebuie să efectueze două operații în virgulă mobilă per parametru. În primul rând, înmulțește valoarea nodului de intrare al rețelei neuronale cu parametrul. În al doilea rând, adaugă rezultatul însumării la nodul de ieșire al rețelei neuronale. Parametrii din codificator sunt utilizați o dată pentru fiecare jeton de intrare, iar parametrii din decodor sunt utilizați o dată pentru fiecare jeton de ieșire. Dacă presupunem că un model are p parametrii și intrarea și ieșirea ambele au o lungime n jetoane, operațiile totale în virgulă mobilă sunt n * p. Există multe alte operații (de exemplu, normalizarea, codificarea/decodarea încorporarii) care se întâmplă într-un model, dar timpul necesar pentru a le efectua este mic în comparație. 

² Învățarea necesită mai întâi o trecere înainte prin transformator, așa cum este descris mai sus, urmată de o trecere înapoi care implică patru operații suplimentare per parametru pentru a calcula gradientul și a regla greutatea. Rețineți că calcularea gradientului necesită păstrarea valorilor calculate ale nodurilor din trecerea înainte. Pentru GPT-3, Modelele lingvistice sunt studenți puțini discută costul instruirii.

* * *

Părerile exprimate aici sunt cele ale personalului individual AH Capital Management, LLC („a16z”) citat și nu sunt punctele de vedere ale a16z sau ale afiliaților săi. Anumite informații conținute aici au fost obținute din surse terțe, inclusiv de la companii de portofoliu de fonduri administrate de a16z. Deși este luat din surse considerate a fi de încredere, a16z nu a verificat în mod independent astfel de informații și nu face nicio declarație cu privire la acuratețea durabilă a informațiilor sau adecvarea lor pentru o anumită situație. În plus, acest conținut poate include reclame de la terți; a16z nu a revizuit astfel de reclame și nu aprobă niciun conținut publicitar conținut în acestea.

Acest conținut este furnizat doar în scop informativ și nu ar trebui să fie bazat pe consiliere juridică, de afaceri, de investiții sau fiscală. Ar trebui să vă consultați propriii consilieri cu privire la aceste aspecte. Referințele la orice titluri de valoare sau active digitale au doar scop ilustrativ și nu constituie o recomandare de investiții sau o ofertă de a oferi servicii de consiliere în materie de investiții. În plus, acest conținut nu este îndreptat și nici nu este destinat utilizării de către niciun investitor sau potențial investitor și nu poate fi bazat în nicio circumstanță atunci când se ia o decizie de a investi într-un fond administrat de a16z. (Ofertă de a investi într-un fond a16z va fi făcută numai prin memoriul de plasament privat, acordul de subscriere și alte documente relevante ale oricărui astfel de fond și trebuie citită în întregime.) Orice investiții sau companii de portofoliu menționate, la care se face referire sau descrise nu sunt reprezentative pentru toate investițiile în vehicule administrate de a16z și nu poate exista nicio asigurare că investițiile vor fi profitabile sau că alte investiții realizate în viitor vor avea caracteristici sau rezultate similare. O listă a investițiilor realizate de fondurile gestionate de Andreessen Horowitz (excluzând investițiile pentru care emitentul nu a oferit permisiunea ca a16z să dezvăluie public, precum și investițiile neanunțate în active digitale tranzacționate public) este disponibilă la https://a16z.com/investments /.

Diagramele și graficele furnizate în cadrul sunt doar în scop informativ și nu trebuie să se bazeze pe acestea atunci când se ia vreo decizie de investiție. Performanța trecută nu indică rezultatele viitoare. Conținutul vorbește doar de la data indicată. Orice previziuni, estimări, prognoze, obiective, perspective și/sau opinii exprimate în aceste materiale pot fi modificate fără notificare și pot diferi sau pot fi contrare opiniilor exprimate de alții. Vă rugăm să consultați https://a16z.com/disclosures pentru informații suplimentare importante.

Timestamp-ul:

Mai mult de la Andreessen Horowitz