Conectează-te cu noi

Inteligența artificială

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

mm

Dezvoltarea și progresul modelelor de limbaj din ultimii câțiva ani și-au marcat prezența 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 modele lingvistice a împiedicat, într-o anumită măsură, creșterea comunității. Acest lucru se datorează faptului că majoritatea modelelor de ultimă generație și capabile sunt închise în spatele interfețelor proprietare, ceea ce face imposibil ca comunitatea de dezvoltare să acceseze detalii vitale ale arhitecturii, datelor și proceselor de dezvoltare ale acestora. Acum este de netăgăduit faptul că aceste detalii structurale și de formare sunt cruciale pentru studiile de cercetare, inclusiv accesul la riscurile și părtinirile lor potențiale, creând astfel o cerință pentru comunitatea de cercetare de a avea acces la un model lingvistic cu adevărat deschis și puternic.

Pentru a îndeplini această cerință, dezvoltatorii au creat OLMo, un cadru de model de limbaj de ultimă generație, cu adevărat deschis. Acest cadru permite cercetătorilor să folosească OLMo pentru a construi și a studia modele lingvistice. Spre deosebire de majoritatea modelelor de limbaj de ultimă generație, care au lansat doar codul de interfață și ponderea modelului, cadrul OLMo este cu adevărat open source, cu cod de evaluare, metode de antrenament și date de antrenament accesibile publicului. Scopul principal al OLMo este de a împuternici și de a stimula comunitatea deschisă de cercetare și dezvoltarea continuă a modelelor lingvistice.

În acest articol, vom discuta în detaliu cadrul OLMo, examinând arhitectura, metodologia și performanța acestuia în comparație cu cadrele actuale de ultimă generație. Asadar, haideti sa începem.

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

Modelul de limbaj a fost, fără îndoială, cea mai populară tendință din ultimii ani, nu numai în cadrul comunității AI și ML, ci și în întreaga industrie tehnologică, datorită capacităților sale remarcabile de a îndeplini sarcini din lumea reală cu performanțe asemănătoare oamenilor. ChatGPT este un prim exemplu al potențialelor modele lingvistice deținute, jucătorii majori din industria tehnologiei explorând integrarea modelelor lingvistice cu produsele lor.

NLP, sau procesarea limbajului natural, este una dintre industriile care a folosit pe scară largă modele de limbaj în ultimii câțiva ani. Cu toate acestea, de când industria a început să folosească adnotarea umană pentru aliniere și pregătire prealabilă la scară largă, modelele lingvistice au fost martorii unei îmbunătățiri rapide a viabilității lor comerciale, rezultând în majoritatea cadrelor de limbaj și NLP de ultimă generație restricționând interfețe proprietare, comunitatea de dezvoltare neavând acces la detalii vitale.

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

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

OLMo : Model și Arhitectură

Modelul OLMo adoptă o arhitectură de transformator numai de decodor bazată pe sistemele de procesare a informațiilor neuronale și oferă două modele cu 1 miliard și, respectiv, 7 miliarde de parametri, cu un model de 65 de miliarde de parametri în prezent în curs de dezvoltare. 

Arhitectura cadrului OLMo oferă mai multe îmbunătățiri față de cadre, inclusiv componenta transformatorului vanilie în arhitectura lor, inclusiv stadiul actual al tehnicii modele lingvistice mari precum OpenLM, Falcon, LLaMA și PaLM. Următoarea figură compară modelul OLMo cu 7 miliarde de parametri cu LLM-urile recente care operează pe un număr aproape egal de parametri. 

Cadrul OLMo selectează hiperparametrii prin optimizarea modelului pentru randamentul de antrenament pe hardware, minimizând în același timp riscul de divergență lentă și vârfuri de pierdere. Acestea fiind spuse, modificările principale implementate de cadrul OLMo care se distinge de arhitectura transformatorului vanilie sunt următoarele:

Fără părtiniri

Spre deosebire de Falcon, PaLM, LLaMA și alte modele de limbaj, cadrul OLMo nu include nicio părtinire în arhitectura sa pentru a îmbunătăți stabilitatea antrenamentului. 

Normă de straturi non-parametrice

Cadrul OLMo implementează formularea neparametrică a normei de strat în arhitectura sa. Norma de strat non-parametrică nu oferă nicio transformare afină în cadrul normei, adică nu oferă niciun câștig adaptiv sau părtinire. Normele de straturi non-parametrice nu numai că oferă mai multă securitate decât Normele de straturi parametrice, dar sunt și mai rapide. 

Funcția de activare SwiGLU

La fel ca majoritatea modelelor de limbaj precum PaLM și LLaMA, cadrul OLMo include funcția de activare SwiGLU în arhitectura sa în loc de funcția de activare ReLU și crește dimensiunea de activare ascunsă la cel mai apropiat multiplu de 128 pentru a îmbunătăți debitul. 

Frânghie sau înglobare pozițională rotativă

Modelele OLMo urmează modelele LLaMA și PaLM și schimbă înglobările poziționale absolute cu înglobările poziționale RoPE sau Rotary. 

Pre Training cu Dolma

Deși comunitatea de dezvoltare are acum acces îmbunătățit la parametrii modelului, ușile pentru a accesa seturile de date pre-antrenament rămân încă închise, deoarece datele pre-antrenament nu sunt lansate împreună cu modelele închise și nici pe lângă modelele deschise. În plus, documentațiile tehnice care acoperă astfel de date lipsesc adesea detaliile vitale necesare pentru înțelegerea și reproducerea completă a modelului. Blocajul îngreunează continuarea cercetării în anumite fire ale model de limbaj cercetare, inclusiv înțelegerea modului în care datele de antrenament afectează capacitățile și limitările modelului. Cadrul OLMo a construit și a lansat setul de date pre-formare, Dolma, pentru a facilita cercetarea deschisă privind pre-formarea modelului lingvistic. Setul de date Dolma este o colecție diversă și multi-sursă de peste 3 trilioane de jetoane din 5 miliarde de documente colectate din 7 surse diferite care sunt utilizate în mod obișnuit de către LLM-uri puternice la scară largă pentru pregătire preliminară și sunt accesibile publicului larg. Compoziția setului de date Dolma este rezumată în următorul tabel. 

Setul de date Dolma este construit folosind o conductă de 5 componente: filtrare de limbă, filtrare de calitate, filtrare de conținut, mixare multi-surse, deduplicare și tokenizare. OLMo a lansat, de asemenea, raportul Dolma, care oferă mai multe informații despre principiile de proiectare și detaliile de construcție, împreună cu un rezumat mai detaliat al conținutului. De asemenea, modelul deschide sursele instrumentelor sale de înaltă performanță de conservare a datelor pentru a permite curatarea ușoară și rapidă a corpurilor de date pre-instruire. Evaluarea modelului urmează o strategie în două etape, începând cu evaluarea online pentru luarea deciziilor în timpul instruirii modelului și o evaluare finală offline pentru o evaluare agregată de la punctele de control al modelului. Pentru evaluarea offline, OLMo utilizează cadrul Catwalk, instrumentul nostru de evaluare disponibil public, care are acces la o mare diversitate de seturi de date și formate de sarcini. Cadrul folosește Catwalk pentru evaluarea în aval, precum și evaluarea modelării limbajului intrinsec pe noul nostru etalon de perplexitate, Paloma. OLMo îl compară apoi cu mai multe modele publice utilizând conducta de evaluare fixă, atât pentru evaluarea în aval, cât și pentru evaluarea perplexității. 

OLMo rulează mai multe măsurători de evaluare despre arhitectura modelului, inițializare, optimizatori, programul ratei de învățare și amestecurile de date în timpul antrenării modelului. Dezvoltatorii o numesc „evaluare online” a OLMo prin faptul că este o iterație în buclă la fiecare 1000 de pași de antrenament (sau ∼4B de jetoane de antrenament) 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 de experiment utilizate pentru evaluarea noastră offline. OLMo își propune nu doar comparații ale OLMo-7B cu alte modele pentru o performanță optimă, ci și să arate modul în care 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. 

Training OLMo

Este important de menționat că modelele din framework-ul OLMo sunt antrenate folosind strategia de optimizare ZeRO, furnizată de framework-ul FSDP prin PyTorch și, în acest fel, reduce substanțial consumul de memorie GPU prin împărțirea ponderilor modelului în funcție de GPU. Cu aceasta, la scara 7B, antrenamentul se poate face cu o dimensiune de micro-loturi de 4096 de jetoane per GPU pe hardware-ul nostru. Framework-ul de antrenament pentru modelele OLMo-1B și -7B utilizează o dimensiune de lot global constantă de aproximativ 4M tokens (2048 de instanțe, fiecare cu o lungime a secvenței de 2048 de jetoane). Pentru modelul OLMo-65B (în prezent în curs de antrenament), dezvoltatorii utilizează o încălzire a dimensiunii lotului care începe de la aproximativ 2M tokens (1024 de instanțe), dublând fiecare 100B de jetoane până la aproximativ 16M tokens (8192 de instanțe). 

Pentru a îmbunătăți debitul, folosim antrenament de precizie mixtă (Micikevicius et al., 2017) prin setările încorporate ale FSDP și modulul de amplificator PyTorch. Acesta din urmă asigură că anumite operațiuni, cum ar fi softmax, rulează întotdeauna cu precizie deplină pentru a îmbunătăți stabilitatea, în timp ce toate celelalte operațiuni rulează la jumătate de precizie cu formatul bfloat16. În cadrul setărilor noastre specifice, greutățile modelului fragmentate și starea optimizatorului local pentru fiecare GPU sunt păstrate cu precizie deplină. Greutățile din fiecare bloc transformator sunt turnate în format bfloat16 numai atunci când parametrii de dimensiune completă sunt materializați pe fiecare GPU în timpul trecerilor înainte și înapoi. Gradientele sunt reduse pe GPU-uri cu precizie deplină. 

Instrumentul de optimizare a

Cadrul OLMo folosește optimizatorul AdamW cu următorii hiperparametri. 

Pentru toate dimensiunile de model, rata de învățare se încălzește liniar în primii 5000 de pași (~21B de jetoane) până la o valoare maximă și apoi scade liniar cu rădăcina pătrată inversă a numărului pasului până la rata minimă de învățare specificată. După perioada de încălzire, modelul clipește gradienți astfel încât norma l totală a gradienților parametrilor să nu depășească 1.0. Următorul tabel oferă o comparație a setărilor optimizatorului nostru la scara 7B cu cele de la alte LM recente care au folosit și AdamW. 

Date de instruire

Antrenamentul implică tokenizarea instanțelor de antrenament după cuvânt și tokenizer BPE pentru modelul fragmentului de propoziție după adăugarea unui simbol EOS special la sfârșitul fiecărui document, apoi grupăm bucăți consecutive de 2048 de jetoane pentru a forma instanțe de antrenament. Instanțele de antrenament sunt amestecate exact în același mod pentru fiecare cursă de antrenament. Ordinea datelor și compoziția exactă a fiecărui lot de antrenament pot fi reconstruite din artefactele pe care le eliberăm. Toate modelele OLMo lansate au fost antrenate la cel puțin 2T token-uri (o singură epocă peste datele sale de antrenament), iar unele au fost antrenate mai departe, pornind o a doua epocă asupra datelor cu o ordine diferită de amestecare. Având în vedere cantitatea mică de date pe care aceasta se repetă, ar trebui să aibă un efect neglijabil. 

REZULTATE

Punctul de control utilizat pentru evaluarea OLMo-7B este antrenat până la 2.46 T de jetoane pe setul de date Dolma cu programul de decădere a ratei de învățare liniară menționat anterior. Ajustarea 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 mărește și mai mult performanța modelului privind perplexitatea și suitele de evaluare a sarcinilor finale descrise anterior. Pentru evaluarea finală, dezvoltatorii au comparat OLMo cu alte modele disponibile public – LLaMA-7B, LLaMA2-7B, Pythia-6.9B, Falcon-7B și RPJ-INCITE-7B. 

Evaluare în aval

Suita de bază de evaluare în aval este rezumată în tabelul următor. 

Efectuăm evaluarea zero-shot prin abordarea de clasificare a rangului în toate cazurile. În această abordare, candidatul completări de text (de exemplu, diferite opțiuni cu alegere multiplă) sunt clasificate în funcție de probabilitate (normalizate de obicei de un factor de normalizare) și este raportată acuratețea predicției. 

Deși Catwalk utilizează mai multe metode tipice de normalizare a probabilității, cum ar fi normalizarea per token și normalizarea per caracter, strategiile de normalizare aplicate sunt alese separat pentru fiecare set de date și includ probabilitatea necondiționată a răspunsului. Mai concret, aceasta a implicat lipsa normalizării pentru sarcinile arc și openbookqa, normalizarea per token pentru sarcinile hellaswag, piqa și winogrande și lipsa normalizării pentru sarcinile boolq, copa și sciq (adică sarcini într-o formulare apropiată de o sarcină de predicție cu un singur token).

Următoarea figură arată progresul scorului de precizie pentru cele nouă sarcini finale principale. Se poate deduce că există o tendință în general de creștere a numărului de precizie pentru toate sarcinile, cu excepția OBQA, deoarece OLMo-7B este antrenat în continuare pe mai multe jetoane. O bifă puternică în sus a preciziei multor sarcini între ultimul pas și al doilea până la ultimul pas ne arată beneficiul reducerii liniară a LR la 0 în ultimii 1000 de pași de antrenament. De exemplu, în cazul evaluărilor intrinseci, Paloma argumentează printr-o serie de analize, de la inspecția performanței în fiecare domeniu separat până la rezultate mai rezumate pe combinații de domenii. Raportăm rezultate la două niveluri de granularitate: performanța agregată pentru 11 din cele 18 surse din Paloma, precum și rezultate mai precise pentru fiecare dintre aceste surse în mod individual.

Gânduri finale

În acest articol, am vorbit despre OLMo, un model de limbaj cu adevărat deschis de ultimă generație, care oferă dezvoltatorilor un cadru pentru a construi, studia și promova dezvoltarea modelelor lingvistice, împreună cu oferirea cercetătorilor de acces la codul său de instruire și evaluare, metodologia de instruire, date de antrenament, jurnalele de antrenament și puncte de control intermediare ale modelului. Modelele existente de ultimă generație au grade diferite de deschidere, în timp ce modelul OLMo a lansat întregul cadru de la instruire la date la instrumente de evaluare, reducând astfel diferența de performanță în comparație cu modelele de ultimă generație precum modelul LLaMA2. 

„Un inginer de profesie, un scriitor pe de rost”. Kunal este un scriitor tehnic cu o dragoste și o înțelegere profundă a AI și ML, dedicat simplificării conceptelor complexe din aceste domenii prin documentația sa captivantă și informativă.