Connect with us

GPT-3 : Învățarea cu puține exemple pentru modelul de limbaj?

Inteligență artificială

GPT-3 : Învățarea cu puține exemple pentru modelul de limbaj?

mm

În ultimii câțiva ani, industria AI și ML a asistat la o creștere meteorică a dezvoltării și aplicării sistemelor NLP, deoarece cercetătorii au reușit să implementeze practicile NLP în moduri foarte flexibile și independente de sarcină pentru sarcinile de transfer în aval.

Inițial, s-a folosit reprezentarea cu un singur strat, care utiliza vectori de cuvinte și apoi a fost alimentată cu arhitectura specifică sarcinii. Apoi, a fost arhitectura RNN care a utilizat reprezentări multistrat și starea contextuală pentru a forma reprezentări mai bune. Și, mai recent, avem modelele de limbaj de transfer sau modelele recurente pre-antrenate care au eliminat complet nevoia de arhitecturi specifice sarcinii prin reglarea fină a acestor rețele.

Modelele de limbaj de transfer s-au dovedit a fi un punct de cotitură major în industria NLP, deoarece au dus la progrese uriașe în sarcini dificile, cum ar fi răspunsurile la întrebări, înțelegerea textului sau a blocurilor de text, implicarea textuală și multe altele.

Cu toate acestea, în ciuda avantajelor lor, modelele de limbaj de transfer au o limitare majoră, deoarece necesită reglare fină specifică sarcinii sau un set de date specific sarcinii pentru a atinge performanța dorită într-o sarcină. Mai mult, modelele de limbaj de transfer necesită, de asemenea, ca dezvoltatorii să regleze fin seturile de date pentru sute de mii de exemple specifice unei anumite sarcini.

Este evident că eliminarea necesității unui set de date specifice sarcinii și a reglării fine specifice sarcinii va fi deosebit de dorită și benefică pentru industria NLP, din mai multe motive.

Probleme cu modelele de limbaj de transfer pre-antrenate existente sau modelele recurente

  • Limitarea practicității și aplicabilității

Mai întâi și mai presus de toate, necesitatea unui set de date mare cu date etichetate pentru fiecare sarcină limitează aplicabilitatea și practicitatea modelelor de limbaj. Modelele de limbaj își găsesc aplicațiile într-o varietate largă de sarcini, de la generarea unei povestiri scurte, la corectarea erorilor gramaticale, la generarea de exemple pentru un concept. Uneori, poate fi o sarcină dificilă să se colecteze un set de date supravegheat mare cu date etichetate, mai ales atunci când procesul trebuie să fie repetat pentru fiecare sarcină individuală.

  • Exploatării corelațiilor spurii în datele de antrenare

Limitările și îngustimea distribuției de antrenare, împreună cu expresivitatea modelului, pot duce la o creștere fundamentală a potențialului de a explota corelații spurii în datele de antrenare. Potențialul de a explota datele de antrenare poate duce la probleme în timpul reglării fine și pre-antrenării, deoarece modelele de limbaj de transfer sunt proiectate pentru a absorbi o cantitate mare de informații în timpul pre-antrenării.

Mai mult, lucrările anterioare asupra modelelor anterioare au indicat că modelele mari nu duc întotdeauna la rezultate mai bune în afara distribuției, în fiecare caz. Mai mult, s-a indicat, de asemenea, că generalizarea realizată în acest paradigma poate duce la o performanță slabă, în principal pentru că modelul este foarte specific datelor de antrenare și nu poate performa bine în situații dincolo de scopul datelor de antrenare.

  • Compararea cu învățarea umană

În final, atunci când sunt comparate cu modelele de limbaj de transfer, oamenii nu necesită un set de date mare de antrenare atunci când vine vorba de învățarea majorității sarcinilor de limbaj. De obicei, o directivă scurtă în limba naturală a unei persoane sau o demonstrație mică a sarcinii de limbaj este suficientă pentru ca un om să înțeleagă și să execute o sarcină de limbaj cu un anumit nivel de competitivitate.

Capacitatea omului de a se adapta are numeroase avantaje practice, deoarece le permite să treacă de la o serie de abilități la alta sau să le combine pentru a performa mai bine în timpul unui dialect, ceea ce este dincolo de capacitățile actualelor sisteme NLP.

Abordarea problemelor cu învățarea meta și GPT-3

O posibilă soluție la provocările de mai sus este utilizarea învățării meta, un concept în ML modern care permite unui model să dezvolte un set mai larg de abilități și capacitatea de a recunoaște modele în timpul antrenării și apoi să utilizeze aceste abilități învățate în timpul interferenței pentru a se adapta rapid sau pentru a recunoaște sarcina necesară.

Învățarea meta este implementată în arhitectura modelului de limbaj prin intermediul unei tehnici numite „învățare în context” care utilizează intrarea textului unui model de limbaj pre-antrenat ca specificație a sarcinii. În acest proces, modelul se condiționează pe o instrucțiune în limba naturală și poate utiliza, de asemenea, câteva demonstrații, iar modelul este apoi așteptat să completeze restul sarcinii prin predicția următorilor pași.

Singura problemă majoră cu învățarea meta este că, deși a arătat potențial pozitiv, este încă inferioară abordării de reglare fină în arhitectura limbajului natural, și are nevoie de îmbunătățiri suplimentare pentru a deveni o metodă practică de depășire a sarcinilor de limbaj.

În plus față de învățarea meta, o altă metodă care câștigă popularitate este creșterea capacității modelelor de limbaj de transfer. În ultimii câțiva ani, modelele de transfer au asistat la o creștere substanțială a capacității lor, cu modelul RNSS18 cu 100 de milioane de parametri, modelul DCLT18 cu 300 de milioane de parametri, modelul RWC19 cu 1,5 miliarde de parametri, modelul SSP19 cu 8 miliarde de parametri, modelul RSR19 cu 11 miliarde de parametri și modelul TUR20 cu 17 miliarde de parametri.

Creșterea capacității modelului sau creșterea numărului de parametri a dus istoric la îmbunătățiri în sinteza textului, iar s-a indicat că pierderea logaritmică, care este corelată cu sarcinile în aval, urmează, de asemenea, o tendință netedă de îmbunătățire odată cu scala.

Acest lucru ne aduce la modelul GPT-3, care are peste 175 de miliarde de parametri, și, atunci când a fost lansat, a fost modelul de limbaj de transfer cu cea mai mare capacitate. Să vorbim acum despre modelul GPT-3.

Prezentarea modelului GPT-3

GPT-3 este un model de limbaj autoagresiv cu peste 175 de miliarde de parametri, lansat de OpenAI în 2020. GPT-3 este, de asemenea, clasificat ca un model de limbaj mare care, la fel ca predecesorul său, modelul GPT-2, este un model de transformator decoder-only care utilizează o arhitectură bazată pe convoluții pentru a genera date text.

Modelul GPT-3 măsoară propriile sale capacități de învățare a contextului și modelul GPT-3 este evaluat pe peste două duzini de seturi de date NLP și multiple sarcini noi. Pentru fiecare sarcină individuală, modelul GPT-3 este evaluat în trei condiții,

  • Învățare cu puține exemple sau învățare în context: În învățarea cu puține exemple, modelul GPT-3 permite atâtea distribuții care pot fi potrivite în fereastra de context a modelului.
  • Învățare cu un singur exemplu: În învățarea cu un singur exemplu, modelul permite doar o demonstrație.
  • Învățare fără exemple: În învățarea fără exemple, nu există demonstrații, și există doar o instrucțiune în limba naturală care este alimentată modelului.

În general, modelul GPT-3 atinge performanța dorită în setările fără exemple și cu un singur exemplu, și în setarea cu puține exemple, depășește modelele de transfer de ultimă generație de cele mai multe ori. Mai mult, modelul GPT-3 performează bine în setările cu un singur exemplu și fără exemple la sarcinile de limbaj natural care necesită testarea raționamentului pe loc sau necesită atenție rapidă, cum ar fi utilizarea unor cuvinte noi după o propoziție, dezordonarea cuvintelor sau efectuarea de operații aritmetice.

Abordarea modelului GPT-3

Modelul GPT-3 utilizează o abordare convențională de pre-antrenare care cuprinde modelul, datele și antrenarea și se aseamănă cu procesul de pre-antrenare urmat de modelul de transfer RWC-19. Modelul GPT-3 mărește dimensiunea modelului, dimensiunea setului de date, diversitatea setului de date și crește lungimea perioadei de antrenare.

Modelul utilizează, de asemenea, o abordare de învățare în context care, din nou, se aseamănă cu abordarea modelului RWC-19, dar o modifică puțin prin explorarea sistematică a diferitelor setări pentru învățarea modelelor în contextul setului de date.

Deci, să începem prin a explora aceste setări și să evaluăm modul în care modelul GPT-3 performează în diferite setări.

Reglare fină

Reglarea fină a modelului a fost abordarea convențională în modelele de limbaj de transfer, și această abordare implică actualizarea greutăților unui model pre-antrenat prin antrenarea modelului pe un set de date supravegheat specific sarcinii dorite și sute de mii de exemple etichetate sunt utilizate în acest proces.

Abordarea de reglare fină este benefică deoarece returnează o performanță puternică pe multiple benchmark-uri. Pe de altă parte, principala limitare a utilizării abordării de reglare fină este că necesită un set de date nou și mare pentru fiecare sarcină, are potențialul de a explota caracteristici spurii ale setului de date de antrenare, poate duce la comparații neloiale cu performanța umană și o generalizare slabă pentru datele din afara distribuției.

Scopul actual al modelului GPT-3 nu implementează abordarea de reglare fină din cauza performanței sale agnostice la sarcină, deși reglarea fină poate fi aplicată modelului GPT-3 în viitor.

Puține exemple

Puține exemple este un termen care se referă la setarea în care modelul GPT-3 primește câteva demonstrații ale sarcinii în timpul interferenței ca condiționare, dar greutățile modelului nu sunt actualizate. În setarea cu puține exemple, setul de date are de obicei un exemplu cu un context și o completare dorită (de exemplu, o propoziție în franceză și traducerea ei în engleză).

Setarea cu puține exemple oferă modelului K exemple de context și completare și apoi oferă modelului un context final și se așteaptă ca modelul să furnizeze completarea.

Principalul avantaj al utilizării setării cu puține exemple este că reduce semnificativ nevoia de date specifice sarcinii și reduce, de asemenea, potențialul de a învăța o distribuție îngustă dintr-un set de date mare care este reglat fin în mod îngust.

Pe de altă parte, principala limitare a utilizării învățării cu puține exemple este că rezultatele furnizate în setarea cu puține exemple nu sunt la nivelul așteptat și sunt semnificativ slabe în comparație cu alte modele de ultimă generație care sunt reglate fin.

Un singur exemplu

În setarea cu un singur exemplu, modelul este furnizat cu o singură demonstrație, iar restul este similar cu setarea cu puține exemple. Motivul pentru care setarea cu un singur exemplu este relevantă în modelele de limbaj de transfer este că, dintre toate cele trei setări, setarea cu un singur exemplu este cea care se aseamănă cel mai mult cu modul în care sarcinile sunt comunicate oamenilor.

Este pentru că, în majoritatea sarcinilor, este obișnuit să se furnizeze o demonstrație a sarcinii, altfel poate fi dificil să se înțeleagă contextul sarcinii.

Fără exemple

În setarea fără exemple, nu există demonstrații, iar modelul primește o instrucțiune în limba naturală care descrie sarcina. Metoda fără exemple este cea care oferă maximum de conveniență, este robustă și evită, de asemenea, corelațiile spurii, dar este și cea mai dificilă dintre toate cele trei setări.

Este pentru că, în unele cazuri, poate fi dificil chiar și pentru oameni să înțeleagă contextul unei sarcini fără a vedea o demonstrație mai întâi.

Cu toate acestea, pentru anumite sarcini, setarea fără exemple este cea care se aseamănă cel mai mult cu modul în care oamenii efectuează sarcini de limbaj natural.

Figura de mai sus compară setarea cu puține exemple, setarea cu un singur exemplu și setarea fără exemple atunci când se efectuează o sarcină de limbaj natural care constă în luarea unei propoziții în engleză și traducerea ei în franceză.

Arhitectura modelului GPT-3

Modelul GPT-3 utilizează aceeași arhitectură ca și cea utilizată în modelul GPT-2 și include pre-normalizarea, inițializarea modificată și tehnici de tokenizare reversibilă, așa cum au fost utilizate pe modelul GPT, cu excepția utilizării unei strategii alternative pentru modele de atenție locale și benzi dense în straturile transformatorului, similare cu Sparse Transformer.

Pentru a studia dependența performanței modelului de dimensiunea modelului, dezvoltatorii au antrenat 8 dimensiuni de modele diferite care variază peste trei ordine de mărime, de la 125 de milioane la peste 175 de miliarde de parametri, ultimul dintre ele fiind numit modelul GPT-3. Lucrările anterioare legate de modelele LLM au indicat că scalarea pierderii de validare cu o cantitate suficientă de date de antrenare ar trebui să fie o putere netedă aproximativă în funcție de dimensiune.

Figura de mai sus compară dimensiunea și arhitectura celor 8 modele diferite utilizate pentru dezvoltarea modelului GPT-3. Aici, n(params) definește numărul total de parametri antrenați, n(layers) definește numărul total de straturi în model, d(model) definește numărul de unități în fiecare strat al gâtului și d(head) definește dimensiunile fiecărei capete de atenție.

Fereastra de context pentru fiecare model este aceeași, cu 2048 de tokeni.

Mai mult, pentru a minimiza transferul de date între noduri, modelul este partiționat pe GPU-uri de-a lungul adâncimii și lățimii dimensiunilor. Parametrii arhitecturali pentru fiecare model au fost aleși pe baza eficienței computaționale și a echilibrării încărcăturii pentru a maximiza precizia în dispunerea modelului pe GPU-uri.

Seturi de date de antrenare

De obicei, modelele de limbaj mare utilizează seturi de date care s-au extins semnificativ odată cu dezvoltările recente și culminează cu setul de date Common Crawl, care constă din peste un trilion de cuvinte diferite.

Dimensiunea setului de date este suficient de mare pentru a antrena modelul GPT-3 fără a actualiza pe aceeași secvență de mai multe ori. Cu toate acestea, studii și analize de performanță indică faptul că versiunile ușor filtrate sau nefiltrate ale setului de date Common Crawl au o calitate scăzută în comparație cu seturile de date mai bine întreținute.

Pentru a aborda problema calității medii a setului de date, dezvoltatorii au luat 3 pași pentru a îmbunătăți calitatea setului de date.

  1. Dezvoltatorii au descărcat și filtrat o versiune a setului de date Common Crawl pe baza unei game similare cu corpurile de referință de înaltă calitate.
  2. Dezvoltatorii au efectuat o duplicare fuzzy la nivel de document în setul de date pentru a păstra integritatea setului de validare ca o măsură eficientă a suprantrenării și pentru a preveni redundanța.
  3. Dezvoltatorii au adăugat, de asemenea, corpurile de referință de înaltă calitate la setul de date de antrenare pentru a îmbunătăți și mai mult diversitatea setului de date.

Figura de mai jos arată proporția finală sau amestecul seturilor de date utilizate pentru antrenarea modelului GPT-3. Setul de date Common Crawl a constat din peste 45 de TB de text simplu înainte de filtrare, care a fost redus la 570 GB de date după filtrare, un echivalent aproximativ de peste 400 de miliarde de tokeni de perechi de byte.

Este important de remarcat că seturile de date din setul de antrenare care sunt considerate a fi de calitate superioară sunt eșantionate cu o frecvență mai mare decât eșantionarea setului de date proporțional cu dimensiunea lor.

O preocupare semnificativă cu modelele de limbaj mare pre-antrenate pe o cantitate mare de date de internet cu capacitatea de a memora și învăța o cantitate mare de conținut este potențialul de contaminare a sarcinilor în aval prin faptul că seturile de date de dezvoltare sau testare sunt văzute în timpul pre-antrenării.

Pentru a reduce o astfel de contaminare potențială, dezvoltatorii au căutat orice suprapuneri cu seturile de test și dezvoltare ale benchmark-urilor studiate pentru GPT-3 și au încercat să le elimine.

Figura de mai sus arată cantitatea totală de computațional utilizată în timpul antrenării modelului GPT-3. Modelul utilizează Legile de scalare pentru modelele de limbaj neural pentru a antrena modele mult mai mari pe mai puține tokeni decât este obișnuit.

Ca rezultat, atât modelul GPT-3, cât și modelul RoBERTa-Large, care este de 10 ori mai mic decât modelul GPT-3, au necesitat aproximativ 50 de petaflopuri/zi de computațional în timpul pre-antrenării.

Evaluare

Pentru învățarea cu puține exemple, modelul evaluează fiecare exemplu din setul de date de evaluare prin extragerea a K exemple aleatoriu din setul de date de antrenare al sarcinii și delimitarea lor cu 1 sau 2 noi linii, în funcție de sarcină.

Pentru Storycloze și LAMBADA, modelul extrage exemple de condiționare din setul de dezvoltare și le evaluează pe setul de test din cauza lipsei unui set de date de antrenare supravegheat.

Pentru Winograd, există doar un set de date, iar exemplele de condiționare sunt extrase direct din el.

K poate fi orice valoare cuprinsă între 0 și cantitatea maximă permisă de fereastra de context a modelului, care este next = 2048 pentru toate modelele, și de obicei se potrivește cu 10 până la 100 de exemple.

Valori mai mari ale lui K duc adesea la rezultate mai bune, dar nu întotdeauna, ceea ce înseamnă că atunci când modelul are un set de test și un set de dezvoltare separat disponibil, modelul experimentează câteva valori ale lui K pe setul de dezvoltare și, pe baza rezultatelor, rulează cea mai bună valoare pe setul de test.

Mai mult, pe sarcinile care necesită selectarea unei completări corecte din multiple opțiuni, dezvoltatorii oferă K exemple de corecție plus context și completare, și apoi oferă un exemplu de context numai, și sarcinile sunt comparate pe baza probabilității LM a fiecărei completări.

Pentru sarcinile care necesită clasificare binară, modelele oferă adesea opțiuni mai semantice și cu nume mai semnificative și apoi tratează sarcina ca pe o alegere multiplă și, uneori, o structurează similar cu modelul RSR și arhitectura.

Pentru sarcinile care necesită completare liberă, modelul utilizează căutarea cu fascicul cu parametri identici cu cei utilizați în cadrul RSR, cu un fascicul de lungime 4 și o penalizare de 0,6.

Modelul este apoi evaluat utilizând fie scorul de similaritate F1, meciul exact sau BLEU, în funcție de standardul pentru setul de date.

Rezultate

Figura de mai sus afișează curbele de antrenare pentru cele 8 modele utilizate în arhitectura modelului GPT-3, așa cum s-a descris în secțiunile anterioare.

Performanța modelului GPT-3 urmează o lege adecvată atunci când se utilizează computația de antrenare eficient.

Există o ușoară abatere de la lege doar atunci când tendința este extinsă cu două ordine de mărime suplimentare.

S-ar putea să se pară unora că îmbunătățirile în pierderea logaritmică ar putea fi rezultatul modelării detaliilor spurii ale corpusului de antrenare.

Cu toate acestea, îmbunătățirile în pierderea logaritmică duc la câștiguri constante în performanța generală pe o gamă largă de sarcini NLP.

Înainte de a evalua cele 8 modele diferite pe o gamă largă de seturi de date de antrenare, seturile de date sunt grupate în 8 categorii diferite care reprezintă sarcini similare.

Aceste categorii sunt

  1. Evaluarea pe sarcinile de modelare a limbajului tradiționale și sarcinile care se aseamănă cu modelarea limbajului, cum ar fi sarcinile de completare a cuvintelor sau completarea propozițiilor/paragrafelor.
  2. Evaluarea pe sarcinile de răspuns la întrebări „închise”.
  3. Evaluarea capacității modelului de a traduce între limbi (în special în setările cu un singur exemplu și cu puține exemple)
  4. Evaluarea performanței modelului pe sarcinile de tip Winograd.
  5. Evaluarea pe seturile de date care implică raționamentul comun sau răspunsurile la întrebări.
  6. Evaluarea pe sarcinile de înțelegere a textului.
  7. Evaluarea pe setul de benchmark SuperGLUE.
  8. Explorarea NLI.

Modelarea limbajului, completarea și sarcinile de umplere

În această secțiune, performanța modelului GPT-3 este evaluată pe sarcinile de modelare a limbajului tradiționale, precum și pe sarcinile care necesită predicția unui singur cuvânt de interes sau completarea unei propoziții sau a unui paragraf, sau completarea unei bucăți de text.

Să discutăm despre ele în detaliu.

Modelarea limbajului

Modelul GPT-3 calculează perplexitatea zero-shot pe setul de date PTB sau baza de date a arborelui Penn.

Modelul omite sarcinile legate de Wikipedia, deoarece acestea sunt deja incluse în setul de date de antrenare al modelului, iar benchmark-ul de un miliard de cuvinte este omis, deoarece cauzează o cantitate semnificativă de frecare a setului de date care se află în setul de date de antrenare.

Cu toate acestea, setul de date PTB abordează aceste probleme, deoarece poate predata internetul modern.

Modelul cel mai mare din arhitectura modelului GPT-3 stabilește un nou record pe setul de date PTB, cu o marjă semnificativă de 15 puncte, și atinge o perplexitate de 20,50.

LAMBADA

Setul de date LAMBADA este utilizat pentru a testa modelarea modelului pe dependențe pe termen lung în paragrafe sau texte.

Acest lucru înseamnă că modelul este solicitat să prevadă ultimul cuvânt al unei propoziții după citirea paragrafului pentru context.

În continuare, scalarea continuă a modelelor de limbaj duce la randamente descrescătoare pe benchmark.

Modelul GPT-3 atinge o acuratețe de 76% pe LAMBADA și are un câștig de peste 8% față de cele mai bune modele anterioare.

Modelul LAMBADA demonstrează, de asemenea, flexibilitatea învățării cu puține exemple, deoarece abordează problema într-un mod care apare în mod clasic cu setul de date.

Completarea unei propoziții în LAMBADA este de obicei ultimul cuvânt al propoziției, dar, ca model de limbaj, nu poate ști asta, atribuie o probabilitate nu numai sfârșitului corect, ci și altor continuări în paragraf.

Mai mult, atunci când exemplele furnizate modelului GPT-3 sunt modificate într-un anumit mod, modelul returnează o acuratețe de peste 86%, o creștere de peste 18% față de modelele anterioare.

Rezultatele au arătat, de asemenea, că performanța modelului într-o setare cu puține exemple crește proporțional cu creșterea dimensiunii modelului.

Deși această strategie reduce modelul cel mai mic din arhitectura GPT-3 cu 20%, îmbunătățește acuratețea modelului GPT-3 principal cu 175 de miliarde de parametri cu 10%.

Răspuns la întrebări închise

Răspunsul la întrebări închise este o încercare de a măsura capacitatea modelului GPT-3 de a răspunde la întrebări pe baza cunoștințelor factuale largi.

Deoarece astfel de întrebări au adesea o cantitate mare de întrebări posibile, sarcina este de obicei realizată utilizând un sistem de recuperare a informațiilor care permite modelului să găsească text relevant în combinație cu modelul care învață să genereze un răspuns la o întrebare dată și textul recuperat.

Figura de mai sus compară rezultatele pentru modelul GPT-3 în comparație cu diferite modele și rulează pe diferite seturi de date.

Pe setul de date TriviaQA, modelul atinge o acuratețe de 64,3% în setarea zero-shot, în timp ce atinge o acuratețe de 68% și 71,2% în setările cu un singur exemplu și cu puține exemple, respectiv.

Este evident că modelul GPT-3 în setarea zero-shot depășește modelul T5-11B reglat fin cu peste 14%.

Figura de mai sus arată că performanța modelului GPT-3 crește neted cu o creștere a dimensiunii modelului.

Performanța sugerează că modelele de limbaj continuă să învețe din setul de date pe măsură ce capacitatea lor crește.

Gânduri finale

Ar fi sigur să spunem că GPT-3 a fost o fază revoluționară în industria LLM, deoarece GPT-3 a ajutat la împingerea limitelor a ceea ce putea face un model de limbaj.

Au fost dezvoltările realizate și obstacolele depășite de GPT-3 care au deschis calea pentru cel mai avansat și precis model de limbaj mare până în prezent, GPT-4.

"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ă.