Modele și platforme AI
GLM-130B: Un model de limbaj deschis și pre-antrenat bilingv

Framework-ul GLM-130B este un model de limbaj mare pre-antrenat bilingv cu peste 130 de miliarde de parametri, capabil să genereze ieșiri de text atât în engleză, cât și în chineză. Framework-ul GLM-130B este o încercare de a deschide sursa unui model de limbaj la scară de peste 100 de miliarde de parametri și de a discuta modul în care astfel de framework-uri de scară largă pot fi pre-antrenate, deoarece, în prezent, antrenarea unui model de o asemenea scară este adesea însoțită de probleme precum divergența și salturile de pierdere.
În acest articol, vom discuta despre framework-ul GLM-130B, care încearcă să conceapă o metodă pentru a pre-antrena eficient modele de limbaj mari cu sute de miliarde de parametri. Vom face o analiză mai profundă a funcționării și arhitecturii framework-ului GLM-130B, precum și a procesului de antrenare și a alegerilor de proiectare care nu numai că ajută la creșterea eficienței, dar și la creșterea stabilității. Experimentele inițiale efectuate pentru a testa funcționarea framework-ului GLM-130B pe o gamă largă de benchmark-uri în limba engleză au arătat că modelul GLM-130B depășește framework-ul GPT-3 actual, care este în prezent cel mai bun, cu o marjă considerabilă. Așadar, să începem și să explorăm cum framework-ul GLM-130B oferă rezultate atât de consistente, precise și stabile.
Introducere în framework-ul GLM-130B
Modelele de limbaj mari capabile să funcționeze în regimuri de few-shot și zero-shot, în special cele cu peste 100 de miliarde de parametri, prezintă legi de scalare atractive, dintre care framework-ul GPT-3 este unul dintre cele mai bune performanțe care oferă upgrade-uri considerabile de performanță față de predecesorul său, framework-ul BERT. Cu toate acestea, în ciuda popularității framework-ului GPT-3 și a aplicațiilor sale largi, procesul de antrenare și, în unele moduri, framework-ul GPT-3 în sine a fost nepublic pentru public. Mai mult, enumerarea empirică a tuturor posibilelor proiectări pentru antrenarea modelelor de limbaj mari cu peste 100 de miliarde de parametri este computațional nefavorabilă, ceea ce face și mai critică găsirea unei metode de pre-antrenare pentru framework-urile de limbaj mari.
Punctul de mai sus face ca partajarea funcționării și a procesului de antrenare a framework-urilor de limbaj mari de înaltă calitate, cum ar fi GPT-3, să fie de o valoare critică, și, ținând cont de preocupările etice, framework-ul GLM-130B este o încercare de a pre-antrena un model de limbaj deschis și precis cu peste 100 de miliarde de parametri. În timpul încercării lor, echipa de dezvoltare a framework-ului GLM-130B a observat că pre-antrenarea unui framework de limbaj mare este adesea însoțită de o serie de provocări tehnice și inginerești în ceea ce privește stabilitatea pre-antrenării, eficiența și convergența.
Mai exact, GLM-130B este un framework dens bilingv și bidirecțional, cu peste 130 de miliarde de parametri, pre-antrenat pe 400 de miliarde de tokeni pe un cluster de 96 de noduri GPU NVIDIA DGX-A100, timp de aproape două luni. Mai mult, în loc să opteze pentru arhitectura GPT-style, framework-ul GLM-130B utilizează algoritmul General Language Model (GLM), un model de limbaj bazat pe transformatori care încearcă să valorifice obiectivele de umplere a golurilor autoregresive și atenția bidirecțională. Tabelul următor compară framework-ul GLM-130B cu alte modele cu peste 100 de miliarde de parametri, inclusiv GPT, BLOOM-176B și OPT-175B.

Conceptele de inginerie și dezvoltare implicate în framework-ul GLM-130B depășesc aproape toate framework-urile de limbaj mare, inclusiv GPT-3 și PaLM 540B, cu peste 500 de miliarde de parametri, în multe cazuri și pe o gamă largă de benchmark-uri. Figura următoare compară performanța framework-ului GLM-130B cu modele cu peste 100 de miliarde de parametri, și, așa cum se poate vedea, framework-ul GLM-130B are o toxicitate și o polarizare semnificativ mai mică decât omologii săi.

În cele din urmă, framework-ul GLM-130B a fost proiectat pentru a permite dezvoltatorilor să efectueze studii pe framework-uri cu peste 100 de miliarde de parametri, și există două moduri în care framework-ul GLM-130B realizează acest lucru. În primul rând, în loc să utilizeze peste 175 de miliarde de parametri, cum ar fi BLOOM și OPT, framework-ul GLM-130B utilizează 130 de miliarde de parametri, deoarece dimensiunea modelului permite interferența chiar și pe un singur server A100. În al doilea rând, cerințele de GPU pentru a rula framework-ul GLM-130B sunt mai mici în comparație cu alte framework-uri de limbaj mare, și framework-ul GLM-130B realizează acest lucru prin cuantificarea framework-ului original în precizie INT4. Cuantificarea INT4 utilizată de framework-ul GLM-130B îmbunătățește performanța, menținând o degradare a performanței neglijabilă.
GLM-130B: Arhitectură
Polarizarea inductivă a unui model de învățare automată este descrisă de arhitectura sa, și nu este o surpriză când dezvoltatorii nu pot explora diverse proiectări arhitecturale pentru modele de limbaj mare, având în vedere afordabilitatea și viabilitatea computațională. Cu toate acestea, să aruncăm o privire asupra arhitecturii GLM-130B.
Framework-urile de limbaj mare, cum ar fi PaLM, GPT și altele, cu peste 100 de miliarde de parametri, sunt construite pe arhitectura convențională decoder-only GPT-style pentru modelarea limbajului autoregresiv. Pe de altă parte, framework-ul GLM-130B explorează posibilitatea utilizării unui model de limbaj general bidirecțional (GLM), un model de limbaj bazat pe transformatori care încearcă să valorifice umplerea golurilor autoregresive ca obiectiv de antrenare, ca bază.
Atenția bidirecțională a modelului de limbaj general peste contexte necorupte sau nemascate este ceea ce separă framework-ul GLM-130B de abordarea GPT-style, care utilizează o abordare unidirecțională. Mai mult, pentru a sprijini atât generarea, cât și înțelegerea datelor, modelul GLM combină două strategii de corupere, fiecare indicată de un token de mascare special și unic.
- [MASK]: [MASK] este o strategie de corupere care utilizează goluri scurte în propoziții, lungimile cărora se adună până la un anumit procent din intrare.
- [gMASK]: [gMASK] este o strategie de corupere care utilizează goluri aleatorii la sfârșitul propoziției, cu contexte prefix.
Abordarea urmată de modelul GLM este ceea ce permite framework-ului să înregistreze un scor de acuratețe de peste 80% pe benchmark-ul de modelare a limbajului LAMBADA în regim zero-shot și să depășească atât framework-ul PaLM 540B, cât și framework-ul GPT-3.

Normalizarea stratului
Una dintre principalele provocări cu care se confruntă dezvoltatorii atunci când antrenează un framework de limbaj mare este instabilitatea antrenării, și utilizarea unei normalizări a stratului (LN) adecvate poate ajuta la antrenarea modelelor de limbaj mare. Framework-ul GLM-130B utilizează o abordare Post-LN, datorită performanței sale pe sarcinile downstream.
FFN și codificarea pozițională
Rețelele neuronale feedforward (FFN) și codificarea pozițională sunt două abordări adoptate de framework-ul GLM-130B pentru a introduce o performanță de înaltă calitate și o stabilitate a antrenării.
Configurarea pre-antrenării
Obiectivele de pre-antrenare ale framework-ului GLM-130B nu includ doar învățarea multi-task pentru un număr mic de tokeni, ci și includ învățarea autoregresivă a golurilor, cu așteptarea că această abordare va ajuta framework-ul GLM-130B în sarcinile downstream. Cu toate acestea, configurarea pre-antrenării framework-ului GLM-130B arată astfel.
Umplerea golurilor autoregresivă
Așa cum s-a menționat deja, framework-ul GLM-130B utilizează două strategii de corupere, și anume [MASK] și [gMASK], și una dintre aceste strategii este aplicată independent fiecărei secvențe de antrenare, una câte una. Pentru a umple golurile, strategia [MASK] maschează spanuri consecutive în 30% din secvența de antrenare, unde lungimile spanurilor se adună până la 15% din intrare, și urmează o distribuție Poisson. Pentru restul de 70% din secvență, prefixul fiecărei secvențe este păstrat ca context, și strategia [gMASK] ajută la mascarea restului, și lungimea mascată este apoi eșantionată utilizând distribuția uniformă.
Pre-antrenarea instrucțiunilor multi-task
S-a indicat că urmarea unei abordări de învățare multi-task pentru pre-antrenarea modelelor poate oferi rezultate mai bune decât ajustarea, pentru a îmbunătăți transferul de sarcini într-un mediu zero-shot. În consecință, framework-ul GLM-130B propune utilizarea unui set de date de instrucțiuni promptate, inclusiv generarea limbajului, înțelegerea și extragerea informațiilor, în timpul pre-antrenării.
În comparație cu alte abordări de transfer de sarcini zero-shot care utilizează ajustarea multi-task, abordarea de pre-antrenare a instrucțiunilor multi-task urmată de framework-ul GLM-130B reprezintă doar 5% din totalul tokenilor, și este setată în timpul fazei de pre-antrenare, în încercarea de a preveni alterarea altor abilități ale framework-ului de limbaj mare sau, în alte cuvinte, generarea necondiționată liberă.
Strategia paralelă 3D
Există două practici de facto pentru antrenarea modelelor mari cu miliarde de parametri, paralelismul modelului tensor și paralelismul datelor. În încercarea de a minimiza utilizarea GPU și de a gestiona cerințele GPU imense, framework-ul GLM-130B implementează o strategie paralelă 3D care combină paralelismul modelului pipeline cu paralelismul modelului tensor și paralelismul datelor.
GLM-130B: Stabilitatea antrenării
Stabilitatea antrenării este un factor important atunci când se determină calitatea unui model de limbaj mare, și stabilitatea antrenării este influențată în mare măsură de numărul de tokeni pe care îi parcurge. Mai mult, este vital să se stabilească un compromis între stabilitate și eficiență în ceea ce privește formatele cu puncte flotante, având în vedere constrângerile de calcul. De exemplu, formatele cu puncte flotante de joasă precizie îmbunătățesc eficiența calculului, dar adesea rezultă în colapsuri de antrenare, deoarece sunt predispuse la erori de subflux și supraplinare.
Precizie mixtă
În încercarea de a îmbunătăți acuratețea antrenării și de a reduce utilizarea memoriei, framework-ul GLM-130B urmează practica obișnuită de a utiliza precizii mixte, adică FP16 pentru atât operațiunile forward, cât și cele backward, și FP32 pentru atât stările master, cât și cele ale optimizerului. La fel ca și alte framework-uri de limbaj mare populare, inclusiv BLOOM-176B și OPT-175B, faza de antrenare a framework-ului GLM-130B, utilizând strategia de precizie mixtă, se confruntă cu pierderi frecvente de săgeți, și frecvența acestor pierderi de săgeți tinde să crească pe măsură ce modelul continuă să se antreneze.

Mai întâi, scala valorilor ramurii principale a transformatorului poate fi vastă în straturile mai profunde atunci când se utilizează Pre-LN, și în framework-ul GLM-130B, acest lucru este abordat prin utilizarea unei abordări DeepNorm bazate pe Pre-LN, care asigură că scala valorilor rămâne limitată în orice moment. În al doilea rând, pe măsură ce modelul se escaladează, scorurile de atenție cresc până la un punct în care depășesc intervalul FP16.
Reducerea gradientului stratului de încorporare
Dezvoltatorii care lucrează la framework-ul GLM-130B au identificat faptul că norma gradientului poate acționa ca un indicator informativ pentru colapsurile de antrenare, și un colaps de antrenare este, de obicei, precedat de o săgeată a normei gradientului. Cauza acestor săgeți este reprezentată de gradientul anormal al stratului de încorporare, și dezvoltatorii au observat că, în comparație cu norma gradientului altor straturi, norma gradientului stratului de încorporare este mai mare cu mai multe ordine de mărime, și tinde să fluctueze dramatic în timpul antrenării inițiale a framework-ului.

GLM-130B: Rezultate și performanță
Pentru a evalua performanța framework-ului GLM-130B pentru sarcinile în limba engleză, acesta implementează aceleași setări urmate de framework-urile de limbaj mare comune, inclusiv PaLM și GPT-3, și, deoarece framework-ul GLM-130B este un framework bilingv, acesta este evaluat și pe o serie de benchmark-uri în limba chineză. Performanța framework-ului GLM-130B va fi măsurată pe multiple benchmark-uri, inclusiv modelarea limbajului, MMLU sau înțelegerea masivă a limbajului, BIG-Bench sau benchmark-ul dincolo de jocul de imitație, și CLUE sau evaluarea înțelegerii limbajului chinez. Așadar, să începem.
Modelarea limbajului
Testul de modelare a limbajului pe framework-ul GLM-130B este efectuat pe două seturi de date: LAMBADA și Pile.
Setul de date LAMBADA este utilizat pentru a testa capacitățile de modelare a cuvântului din urmă ale framework-urilor de limbaj mare, și framework-ul GLM-130B atinge un scor de acuratețe de 80,2 într-un mediu bilingv, și, pe drum, stabilește un nou record de benchmark pe setul de date LAMBADA.
Pe de altă parte, Pile este un set de test care cuprinde o serie de benchmark-uri pentru modelele de limbaj. În medie, în comparație cu GPT-3 și Jurassic-1, framework-ul GLM-130B oferă cea mai bună performanță pe 18 seturi de test comune, în ceea ce privește BPBs ponderate. Rezultatele demonstrează capacitățile puternice de limbaj ale framework-ului GLM-130B, și rezultatele sunt incluse în tabelul de mai jos.

MMLU sau înțelegerea masivă a limbajului
MMLU sau înțelegerea masivă a limbajului este un benchmark divers care cuprinde peste 50 de sarcini de întrebări și răspunsuri multiple, referitoare la inteligența și cunoștințele umane, de la nivelul școlar la nivelul expert, și este lansat după setul de date Pile, și, prin urmare, servește ca un test ideal pentru a evalua capacitățile de învățare în regim zero-shot ale unui model de limbaj mare.

Așa cum se poate vedea, într-un mediu de few-shot (5-shot), performanța framework-ului GLM-130B se apropie de performanța modelului GPT-3 după ce a vizualizat aproximativ 300 de miliarde de tokeni. Performanța continuă să crească pe măsură ce antrenarea progresează, și, atunci când antrenarea se încheie, framework-ul atinge un scor de acuratețe de 44,8 după ce a vizualizat un total de 400 de miliarde de tokeni.
BIG-Bench sau benchmark-ul dincolo de jocul de imitație
BIG-Bench sau benchmark-ul dincolo de jocul de imitație este un benchmark care testează capacitatea unui model de a înțelege cunoștințele, raționamentul și simțul comun. Așa cum se demonstrează în figurile de mai jos, într-un mediu zero-shot, framework-ul GLM-130B depășește atât framework-ul PaLM 540B, cât și framework-ul GPT-3 175B, ceea ce se poate datora MIP și atenției bidirecționale pentru a îmbunătăți performanța framework-ului GLM-130B în sarcinile nevizionate în mediu zero-shot. Mai mult, pe măsură ce numărul de shot-uri crește, performanța framework-ului GLM-130B se îmbunătățește, depășind framework-ul GPT-3 în mod constant.

CLUE sau evaluarea înțelegerii limbajului chinez
Performanța framework-ului GLM-130B în limba chineză în regim zero-shot este evaluată pe benchmark-urile NLP stabilite, inclusiv CLUE și FewCLUE, și este comparată cu framework-ul ERNIE Titan 3.0 260B, cel mai mare model de limbaj chinez existent. Așa cum se poate observa, framework-ul GLM-130B depășește framework-ul ERNIE Titan 3.0 260B în mod constant pe 12 sarcini diferite, și realizează o performanță de aproximativ 260% mai bună decât framework-ul ERNIE pe două seturi de date MRC abstracte.

Concluzii
În acest articol, am discutat despre GLM-130B, un model de limbaj pre-antrenat bilingv care își propune să promoveze cercetarea incluzivă a modelelor de limbaj mare. Arhitectura, ingineria și realizările tehnice își propun să ofere comunității de inteligență artificială o perspectivă mai bună asupra arhitecturii framework-urilor de limbaj mare, eficienței și stabilității antrenării, obiectivelor de pre-antrenare și interferenței accesibile.












