Modele și platforme AI

OLMo: Îmbunătățirea științei modelelor de limbaj

mm
Adaugă Unite.AI la sursele tale preferate pe Google

Dezvoltarea și progresul modelelor de limbaj în ultimii ani au marcat prezența lor aproape peste tot, nu numai în cercetarea NLP, ci și în ofertele comerciale și aplicațiile din lumea reală. Cu toate acestea, creșterea cererii comerciale pentru modelele de limbaj a împiedicat, într-o anumită măsură, creșterea comunității. Acest lucru se datorează faptului că majoritatea modelelor de top și capabile sunt blocate în spatele interfețelor proprietare, făcând imposibil pentru comunitatea de dezvoltatori să aibă acces la detalii vitale ale arhitecturii de antrenare, date și procese de dezvoltare. Este acum indiscutabil că aceste detalii de antrenare și structurale sunt cruciale pentru studii de cercetare, inclusiv accesul la riscurile și prejudecățile potențiale, creând astfel o cerință pentru comunitatea de cercetare de a avea acces la un model de limbaj deschis și puternic.

Pentru a îndeplini această cerință, dezvoltatorii au creat OLMo, un cadru de model de limbaj deschis și de ultimă generație. Acest cadru permite cercetătorilor să utilizeze OLMo pentru a construi și studia modele de limbaj. În contrast cu majoritatea modelelor de limbaj de top, care au lansat doar codul interfeței și greutățile modelului, cadru OLMo este cu adevărat deschis, cu cod de evaluare public accesibil, metode de antrenare și date de antrenare. Scopul principal al OLMo este de a împuternici și a stimula comunitatea de cercetare deschisă și dezvoltarea continuă a modelelor de limbaj.

În acest articol, vom discuta despre cadru OLMo în detaliu, examinând arhitectura, metodologia și performanța sa în comparație cu cadrele de top actuale. Deci, să începem.

OLMo: Îmbunătățirea științei modelelor de limbaj

Modelul de limbaj a fost, fără îndoială, tendința cea mai fierbinte în ultimii ani, nu numai în comunitatea AI și ML, ci și în întreaga industrie tehnologică, datorită capacităților sale remarcabile de a efectua sarcini din lumea reală cu performanțe umane. ChatGPT este un exemplu primar al potențialului pe care îl au modelele de limbaj, cu jucători importanți din industria tehnologică explorând integrarea modelelor de limbaj cu produsele lor.

NLP, sau Procesarea Naturală a Limbajului, este una dintre industriile care au folosit în mod extins modele de limbaj în ultimii ani. Cu toate acestea, de când industria a început să folosească annotarea umană pentru aliniere și pre-antrenare la scară largă, modelele de limbaj au asistat la o îmbunătățire rapidă a viabilității comerciale, rezultând în majoritatea modelelor de limbaj de top și a cadrului NLP având interfețe proprietare restricționate, fără ca comunitatea de dezvoltatori să aibă acces la detalii vitale.

Pentru a asigura progresul modelelor de limbaj, OLMo, un model de limbaj deschis și de ultimă generație, oferă dezvoltatorilor un cadru pentru a construi, studia și avansa dezvoltarea modelelor de limbaj. De asemenea, oferă cercetătorilor acces la codul de antrenare și evaluare, metodologia de antrenare, datele de antrenare, jurnalele de antrenare și punctele de control ale modelului intermediar. Modelele de top existente au diferite grade de deschidere, în timp ce modelul OLMo a lansat întregul cadru, de la antrenare la date și la unelte de evaluare, reducând astfel diferența de performanță în comparație cu modelele de top, cum ar fi modelul LLaMA2.

Pentru modelare și antrenare, cadru OLMo include codul de antrenare, greutățile complete ale modelului, ablațiile, jurnalele de antrenare și metricile de antrenare sub formă de cod de interfață, precum și jurnalele Weights & Biases. Pentru analiză și construirea setului de date, cadru OLMo include datele complete de antrenare utilizate pentru modelele AI2 Dolma și WIMBD, împreună cu codul care produce datele de antrenare. Pentru scopuri de evaluare, cadru OLMo include modelul AI2 Catwalk pentru evaluarea în aval, și modelul Paloma pentru evaluarea bazată pe perplexitate.

OLMo: Model și Arhitectură

Modelul OLMo adoptă o arhitectură de transformator doar decoder, bazată pe Sistemul de Procesare a Informațiilor Neuronale, și oferă două modele cu 1 miliard și 7 miliarde de parametri, respectiv, cu un model de 65 de miliarde de parametri în curs de dezvoltare.

Arhitectura cadru OLMo oferă mai multe îmbunătățiri față de cadrele care includ componenta de transformator vanilla în arhitectura lor, inclusiv modelele de limbaj mari recente, cum ar fi OpenLM, Falcon, LLaMA și PaLM. Următoarea figură compară modelul OLMo cu 7 miliarde de parametri cu LLM-urile recente care funcționează pe numere aproape egale de parametri.

Cadru OLMo selectează hiperparametrii prin optimizarea modelului pentru debitul de antrenare pe hardware, în timp ce minimizează riscul de divergență lentă și salturi de pierdere. Cu toate acestea, principalele modificări implementate de cadru OLMo care îl deosebesc de arhitectura de transformator vanilla sunt următoarele:

Fără Prejudecăți

În contrast cu Falcon, PaLM, LLaMA și alte modele de limbaj, cadru OLMo nu include nici o prejudecată în arhitectura sa pentru a îmbunătăți stabilitatea antrenării.

Normă de Strat Non-Parametrică

Cadru OLMo implementează formulațiunea non-parametrică a normei de strat în arhitectura sa. Norma de strat non-parametrică oferă nu o transformare afină în cadrul normei, adică nu oferă nici un câștig adaptiv sau prejudecată. Norma de strat non-parametrică oferă nu numai mai multă securitate decât normele de strat parametrice, dar sunt și mai rapide.

Funcția de Activare SwiGLU

Ca majoritatea modelelor de limbaj, cum ar fi PaLM și LLaMA, cadru OLMo include funcția de activare SwiGLU în arhitectura sa, în loc de funcția de activare ReLU, și crește dimensiunea ascunsă a activării la cel mai apropiat multiplu de 128 pentru a îmbunătăți debitul.

Încastrare Pozițională Rotativă (RoPE)

Modelele OLMo urmează modelele LLaMA și PaLM și înlocuiesc încărcăturile poziționale absolute cu încărcături poziționale rotative (RoPE).

Pre-Antrenare cu Dolma

Deși comunitatea de dezvoltatori are acum acces îmbunătățit la parametrii modelului, ușile pentru a accesa seturile de date de pre-antrenare încă rămân închise, deoarece datele de pre-antrenare nu sunt lansate alături de modelele închise, nici alături de modelele deschise. În plus, documentațiile tehnice care acoperă astfel de date adesea lipsesc detalii vitale necesare pentru a înțelege și replica modelul. Această barieră face dificilă continuarea cercetării în anumite direcții ale cercetării modelelor de limbaj, inclusiv înțelegerea modului în care datele de antrenare afectează capacitățile și limitările modelului. Cadru OLMo a construit și lansat setul de date de pre-antrenare, Dolma, pentru a facilita cercetarea deschisă a pre-antrenării modelelor de limbaj. Setul de date Dolma este o colecție multi-sursă și diversă de peste 3 trilioane de tokeni în 5 miliarde de documente colectate din 7 surse diferite care sunt utilizate în mod obișnuit de modelele de limbaj mari și puternice pentru pre-antrenare și sunt accesibile publicului larg. Compoziția setului de date Dolma este rezumată în următoarea tabelă.

Setul de date Dolma este construit utilizând o conductă de 5 componente: filtrare lingvistică, filtrare calitativă, filtrare de conținut, amestecare multi-sursă, deduplicare și tokenizare. OLMo a lansat, de asemenea, raportul Dolma, care oferă mai multe informații despre principiile de proiectare și detaliile de construire, împreună cu un rezumat mai detaliat al conținutului. Modelul a deschis, de asemenea, uneltele sale de curățare a datelor de înaltă performanță pentru a permite o curățare ușoară și rapidă a corpusurilor de date de pre-antrenare. Evaluarea modelului urmează o strategie în două etape, începând cu evaluarea online pentru luarea deciziilor în timpul antrenării modelului și o evaluare finală offline pentru o evaluare agregată din punctele de control ale modelului. Pentru evaluarea offline, OLMo utilizează cadru Catwalk, uneltele noastre publice de evaluare care au acces la o diversitate largă de seturi de date și formate de sarcini. Cadru utilizează Catwalk pentru evaluarea în aval, precum și evaluarea modelării limbajului intrinsec pe noua noastră benchmark de perplexitate, Paloma. OLMo compară apoi modelul cu mai multe modele publice utilizând pipeline-ul de evaluare fix, atât pentru evaluarea în aval, cât și pentru evaluarea perplexității.

OLMo rulează mai multe metrice de evaluare despre arhitectura modelului, initializarea, optimizatorii, programul de rată de învățare și amestecurile de date în timpul antrenării modelului. Dezvoltatorii numesc această “evaluare online” a OLMo, deoarece este o iterație în buclă la fiecare 1000 de pași de antrenare (∼4 miliarde de tokeni de antrenare) pentru a oferi un semnal timpuriu și continuu asupra calității modelului care este antrenat. Configurarea acestor evaluări depinde de majoritatea sarcinilor de bază și setărilor experimentale utilizate pentru evaluarea noastră offline. OLMo își propune nu numai să compare OLMo-7B cu alte modele pentru cea mai bună performanță, ci și să arate cum permite o evaluare științifică mai completă și mai controlată. OLMo-7B este cel mai mare model de limbaj cu decontaminare explicită pentru evaluarea perplexității.

Antrenarea OLMo

Este important de remarcat că modelele OLMo sunt antrenate utilizând strategia de optimizator ZeRO, care este oferită de cadru FSDP prin PyTorch și, în acest fel, reduce semnificativ consumul de memorie GPU prin distribuirea greutăților modelului pe GPU-uri. Cu aceasta, la scara de 7 miliarde, antrenarea poate fi efectuată cu o dimensiune de lot de 4096 de tokeni pe GPU pe hardware-ul nostru. Cadru de antrenare pentru modelele OLMo-1B și -7B utilizează o dimensiune de lot global constantă de aproximativ 4 milioane de tokeni (2048 de instanțe, fiecare cu o lungime de secvență de 2048 de tokeni). Pentru modelul OLMo-65B (în curs de antrenare), dezvoltatorii utilizează o încălzire a dimensiunii lotului care începe la aproximativ 2 milioane de tokeni (1024 de instanțe), dublându-se la fiecare 100 de miliarde de tokeni până la aproximativ 16 milioane de tokeni (8192 de instanțe).

Pentru a îmbunătăți debitul, utilizăm antrenarea cu precizie mixtă (Micikevicius et al., 2017) prin setările integrate FSDP și modulul amp al PyTorch. Acesta din urmă asigură că anumite operații, cum ar fi softmax, rulează întotdeauna în precizie completă pentru a îmbunătăți stabilitatea, în timp ce toate celelalte operații rulează în jumătate de precizie cu formatul bfloat16. În setările noastre specifice, greutățile modelului și starea optimizatorului locală fiecărui GPU sunt păstrate în precizie completă. Greutățile din cadrul fiecărui bloc de transformare sunt convertite în formatul bfloat16 doar atunci când parametrii de dimensiuni complete sunt materializați pe fiecare GPU în timpul pasului forward și backward. Gradientul este redus pe GPU-uri în precizie completă.

Optimizator

Cadru OLMo utilizează optimizatorul AdamW cu următorii hiperparametri.

Pentru toate dimensiunile modelului, rata de învățare se încălzește liniar în primii 5000 de pași (∼21 de miliarde de tokeni) până la o valoare maximă, și apoi scade liniar cu inversa rădăcinii pătrate a numărului de pași până la rata de învățare minimă specificată. După perioada de încălzire, modelul taie gradientul astfel încât norma l totală a gradientului parametrilor să nu depășească 1,0. Următoarea tabelă oferă o comparație a setărilor noastre de optimizator la scara de 7 miliarde cu cele de la alte LLM recente care au utilizat, de asemenea, AdamW.

Date de Antrenare

Antrenarea implică tokenizarea instanțelor de antrenare prin cuvânt și tokenizator BPE pentru modelul de piese de propoziție după adăugarea unui token EOS special la sfârșitul fiecărui document, și apoi gruparea fragmentelor consecutive de 2048 de tokeni pentru a forma instanțe de antrenare. Instanțele de antrenare sunt amestecate în același mod pentru fiecare rulare de antrenare. Ordinea datelor și compoziția exactă a fiecărui lot de antrenare pot fi reconstruite din artifactele pe care le lansăm. Toate modelele OLMo lansate au fost antrenate cel puțin 2 trilioane de tokeni (o singură epocă peste datele de antrenare), și unele au fost antrenate dincolo de acest punct, începând o a doua epocă peste datele cu o ordine de amestecare diferită. Având în vedere cantitatea mică de date care se repetă, acest lucru ar trebui să aibă un efect neglijabil.

Rezultate

Punctul de control utilizat pentru evaluarea OLMo-7B este antrenat până la 2,46 trilioane de tokeni pe setul de date Dolma cu programul de decădere liniară a ratei de învățare menționat anterior. O ajustare suplimentară a acestui punct de control pe setul de date Dolma pentru 1000 de pași cu rata de învățare liniar decăzută la 0 crește și mai mult performanța modelului pe perplexitate și pe seturile de evaluare a sarcinilor descrise anterior. Pentru evaluarea finală, dezvoltatorii au comparat OLMo cu alte modele publice disponibile – LLaMA-7B, LLaMA2-7B, Pythia-6.9B, Falcon-7B și RPJ-INCITE-7B.

Evaluare în Aval

Setul de evaluare principal în aval este rezumat în următoarea tabelă.

Conducem o evaluare zero-shot prin abordarea de clasificare a rangului în toate cazurile. În această abordare, completările de text candidate (de exemplu, diferitele opțiuni de alegere multiple) sunt clasificate prin probabilitate (de obicei, normalizate prin un factor de normalizare), și se raportează precizia de predicție.

În timp ce Catwalk utilizează mai multe metode tipice de normalizare a probabilității, cum ar fi normalizarea pe token și normalizarea pe caracter, strategiile de normalizare aplicate sunt alese separat pentru fiecare set de date și includ probabilitatea necondiționată a răspunsului. Mai concret, acest lucru a implicat nicio normalizare pentru sarcinile arc și openbookqa, normalizarea pe token pentru sarcinile hellaswag, piqa și winogrande, și nicio normalizare pentru sarcinile boolq, copa și sciq (adică, sarcini într-un format apropiat de o sarcină de predicție a unui singur token).

Următoarea figură arată progresul scorului de precizie pentru cele nouă sarcini de bază. Se poate deduce că există o tendință generală de creștere a numărului de precizie pentru toate sarcinile, cu excepția OBQA, pe măsură ce OLMo-7B este antrenat pe mai mulți tokeni. O creștere bruscă a preciziei pentru multe sarcini între ultimul și penultimul pas arată beneficiul reducerii liniare a LR la 0 în ultimii 1000 de pași de antrenare. De exemplu, în cazul evaluărilor intrinseci, Paloma argumentează prin intermediul unei serii de analize, de la inspectarea performanței în fiecare domeniu separat până la rezultate mai rezumate peste combinații de domenii. Raportăm rezultate la două niveluri de granulație: performanța agregată peste 11 din cele 18 surse din Paloma, precum și rezultate mai fine peste fiecare dintre aceste surse individual.

Gânduri Finale

În acest articol, am discutat despre OLMo, un model de limbaj de ultimă generație și deschis, care oferă dezvoltatorilor un cadru pentru a construi, studia și avansa dezvoltarea modelelor de limbaj, precum și pentru a oferi cercetătorilor acces la codul de antrenare și evaluare, metodologia de antrenare, datele de antrenare, jurnalele de antrenare și punctele de control ale modelului intermediar. Modelele de top existente au diferite grade de deschidere, în timp ce modelul OLMo a lansat întregul cadru, de la antrenare la date și la unelte de evaluare, reducând astfel diferența de performanță în comparație cu modelele de top, cum ar fi modelul LLaMA2.

"Un inginer de profesie, un scriitor din inimă". Kunal este un scriitor tehnic cu o dragoste și o înțelegere profundă a inteligenței artificiale și a învățării automate, dedicat simplificării conceptelor complexe din aceste domenii prin documentația sa captivantă și informativă.