ciot Înțelegerea reglajului LLM: adaptarea modelelor lingvistice mari la cerințele dvs. unice - Unite.AI
Conectează-te cu noi

Inginerie promptă

Înțelegerea reglajului fin LLM: adaptarea modelelor de limbă mari la cerințele dvs. unice

mm
Actualizat on
LLM Reprezentare reglaj fin - Midjourney

În septembrie 2023, peisajul modelelor lingvistice mari (LLM) este încă martor la creșterea modelelor, inclusiv Alpaca, Falcon, Lama 2, GPT-4 și multe altele.

Un aspect important al valorificării potențialului acestor LLM constă în procesul de reglare fină, o strategie care permite personalizarea modelelor pre-instruite pentru a răspunde sarcinilor specifice cu precizie. Prin această reglare fină, aceste modele se pot alinia cu adevărat la cerințele individualizate, oferind soluții atât inovatoare, cât și adaptate nevoilor unice.

Cu toate acestea, este esențial să rețineți că nu toate căile de reglare fină sunt create egale. De exemplu, accesarea capabilităților de reglare fină ale GPT-4 vine cu o primă, necesitând un abonament plătit care este relativ mai scump în comparație cu alte opțiuni disponibile pe piață. Pe de altă parte, domeniul open-source este plin de alternative care oferă o cale mai accesibilă pentru valorificarea puterii modelelor mari de limbaj. Aceste opțiuni open-source democratizează accesul la tehnologia AI avansată, încurajând inovația și incluziunea în peisajul AI care evoluează rapid.

De ce este importantă reglarea LLM?

Reglarea fină a LLM este mai mult decât o îmbunătățire tehnică; este un aspect crucial al dezvoltării modelului LLM care permite o aplicare mai specifică și mai rafinată în diverse sarcini. Reglarea fină ajustează modelele pre-antrenate pentru a se potrivi mai bine cu anumite seturi de date, îmbunătățind performanța acestora în anumite sarcini și asigurând o aplicație mai direcționată. Dezvăluie capacitatea remarcabilă a LLM-urilor de a se adapta la date noi, arătând flexibilitate care este vitală în interesul tot mai mare pentru aplicațiile AI.

Reglarea fină a modelelor lingvistice mari deschide o mulțime de oportunități, permițându-le să exceleze în sarcini specifice, de la analiza sentimentelor până la recenzii ale literaturii medicale. Prin reglarea modelului de bază la un anumit caz de utilizare, deblochăm noi posibilități, sporind eficiența și acuratețea modelului. Mai mult, facilitează o utilizare mai economică a resurselor sistemului, deoarece reglarea fină necesită mai puțină putere de calcul în comparație cu antrenarea unui model de la zero.

Pe măsură ce vom aprofunda acest ghid, vom discuta despre complexitățile reglajului LLM, oferindu-vă o privire de ansamblu cuprinzătoare, care se bazează pe cele mai recente progrese și cele mai bune practici în domeniu.

Reglaj fin bazat pe instrucțiuni

Faza de reglare fină în AI generativă ciclul de viață, ilustrat în figura de mai jos, este caracterizat de integrarea intrărilor și ieșirilor de instrucțiuni, cuplate cu exemple de raționament pas cu pas. Această abordare facilitează modelul în generarea de răspunsuri care nu sunt doar relevante, ci și precis aliniate cu instrucțiunile specifice introduse în acesta. În această fază, modelele pre-instruite sunt adaptate pentru a rezolva sarcini și cazuri de utilizare distincte, utilizând seturi de date personalizate pentru a le îmbunătăți funcționalitatea.

Ciclul de viață generativ AI - reglaj fin, inginerie promptă și RLHF

Ciclul de viață generativ AI – Reglare fină

Reglare fină pentru o singură sarcină

Reglajul fin pentru o singură sarcină se concentrează pe perfecționarea experienței modelului într-o anumită sarcină, cum ar fi rezumarea. Această abordare este deosebit de benefică în optimizarea fluxurilor de lucru care implică documente substanțiale sau fire de conversație, inclusiv documente juridice și bilete de asistență pentru clienți. În mod remarcabil, această reglare fină poate obține îmbunătățiri semnificative de performanță cu un set relativ mic de exemple, variind de la 500 la 1000, un contrast cu miliardele de jetoane utilizate în faza de pre-antrenament.

Ilustrație exemplu de reglare fină pentru o singură sarcină

Ilustrație exemplu de reglare fină pentru o singură sarcină

 

Fundamentele LLM Fine-Tuning LLM: Transformer Architecture and Beyond

Călătoria de înțelegere a reglajului LLM începe cu o înțelegere a elementelor fundamentale care constituie LLM. În centrul acestor modele se află arhitectura transformatorului, o rețea neuronală care folosește mecanismele de autoatenție pentru a acorda prioritate contextului cuvintelor față de proximitatea lor într-o propoziție. Această abordare inovatoare facilitează o înțelegere mai profundă a relațiilor îndepărtate dintre jetoane din intrare.

Pe măsură ce navigăm prin complexitățile transformatoarelor, întâlnim un proces în mai mulți pași care începe cu codificatorul. Această fază inițială implică tokenizarea intrării și crearea de vectori de încorporare care reprezintă intrarea și poziția acesteia în propoziție. Etapele ulterioare presupun o serie de calcule folosind matrici cunoscute ca Întrebare, Valoare, și Cheie, culminând cu un scor de autoatenție care dictează concentrarea asupra diferitelor părți ale propoziției și a diferitelor simboluri.

Arhitectura transformatoarelor

Arhitectura transformatoarelor

Reglarea fină reprezintă o fază critică în dezvoltarea LLM-urilor, un proces care presupune efectuarea de ajustări subtile pentru a obține rezultate mai dorite. Această etapă, deși esențială, prezintă un set de provocări, inclusiv cerințele de calcul și stocare ale manipulării unui număr mare de parametri. Parameter Efficient Fine-Tuning (PEFT) oferă tehnici de reducere a numărului de parametri care trebuie ajustați, simplificând astfel procesul de antrenament.

Pre-Training LLM: Stabilirea unei baze puternice

În etapele inițiale ale dezvoltării LLM, pre-formarea este centrală, utilizând transformatoare supra-parametrizate ca arhitectură de bază. Acest proces implică modelarea limbajului natural în diferite moduri, cum ar fi bidirecțional, autoregresiv sau secvență-la-secvență pe corpuri nesupravegheate la scară largă. Obiectivul aici este de a crea o bază care poate fi reglată mai târziu pentru sarcini specifice din aval prin introducerea de obiective specifice sarcinii.

Pre-antrenament, reglaj fin

Pre-antrenament, reglaj fin

O tendință demnă de remarcat în această sferă este creșterea inevitabilă a scarii LLM-urilor pre-instruite, măsurată prin numărul de parametri. Datele empirice arată în mod constant că modelele mai mari cuplate cu mai multe date oferă aproape întotdeauna performanțe mai bune. De exemplu, GPT-3, cu cei 175 de miliarde de parametri ai săi, a stabilit un punct de referință în generarea unui limbaj natural de înaltă calitate și în îndeplinirea cu competență a unei game largi de sarcini zero-shot.

Ajustare fină: calea către adaptarea modelului

În urma pregătirii preliminare, LLM este supus unei perfecționări pentru a se adapta la sarcini specifice. În ciuda performanței promițătoare arătate de învățarea în context în LLM-uri pre-instruite, cum ar fi GPT-3, reglarea fină rămâne superioară în setările specifice sarcinii. Cu toate acestea, abordarea predominantă a reglajului complet al parametrilor prezintă provocări, inclusiv solicitări mari de calcul și memorie, în special atunci când se ocupă de modele la scară largă.

Pentru modelele de limbaj mari cu peste un miliard de parametri, gestionarea eficientă a RAM-ului GPU este esențială. Un singur parametru de model la o precizie completă de 32 de biți necesită 4 octeți de spațiu, ceea ce înseamnă o cerință de 4 GB de RAM GPU doar pentru a încărca un model de 1 miliard de parametri. Procesul propriu-zis de antrenament necesită și mai multă memorie pentru a găzdui diverse componente, inclusiv stări și gradienți de optimizare, potențial necesitând până la 80 GB de RAM GPU pentru un model de această scară.

Pentru a naviga prin limitările RAM GPU, se folosește cuantizarea, care este o tehnică care reduce precizia parametrilor modelului, scăzând astfel cerințele de memorie. De exemplu, modificarea preciziei de la 32 de biți la 16 de biți poate reduce la jumătate memoria necesară atât pentru încărcarea, cât și pentru antrenamentul modelului. Mai târziu în acest articol. vom afla despre Qlora care folosește conceptul de cuantizare pentru reglare.

Cerințe de memorie LLM GPU wrt. numărul de parametri și precizia

Cerințe de memorie LLM GPU wrt. numărul de parametri și precizia

 

Explorarea categoriilor de metode PEFT

În procesul de reglare completă a modelelor de limbaj mari, este important să existe o configurație de calcul care să poată gestiona eficient nu doar greutățile substanțiale ale modelului, care pentru cele mai avansate modele ating acum dimensiuni de sute de gigaocteți, dar și să gestioneze o serie de alte elemente critice. Acestea includ alocarea de memorie pentru stările de optimizare, gestionarea gradienților, activările înainte și facilitarea memoriei temporare în timpul diferitelor etape ale procedurii de antrenament.

Metoda aditivă

Acest tip de reglare poate mări modelul pre-antrenat cu parametri sau straturi suplimentare, concentrându-se pe antrenarea doar a parametrilor nou adăugați. În ciuda creșterii numărului de parametri, aceste metode îmbunătățesc timpul de antrenament și eficiența spațiului. Metoda aditivă este împărțită în continuare în subcategorii:

  • Adaptoare: Încorporează substraturi mici de rețele complet conectate post transformator, cu exemple notabile fiind AdaMix, KronA, și Compactor.
  • Indemnuri soft: Reglarea fină a unui segment al înglobărilor de intrare ale modelului prin coborâre în gradient, cu IPT, prefix-acordare, iar WARP fiind exemple proeminente.
  • Alte abordări aditive: Includeți tehnici precum LeTS, AttentionFusion și Ladder-Side Tuning.

Metoda selectivă

PEFT-urile selective reglează fin un număr limitat de straturi superioare pe baza tipului de strat și a structurii modelului intern. Această categorie include metode precum BitFit și LN tuning, care se concentrează pe reglarea unor elemente specifice, cum ar fi prejudecățile modelului sau anumite rânduri.

Metoda bazată pe reparametrizare

Aceste metode utilizează reprezentări de rang scăzut pentru a reduce numărul de parametri antrenabili, cei mai renumiti fiind Adaptarea de rang scăzut sau LoRA. Această metodă folosește o descompunere simplă a matricei de rang scăzut pentru a parametriza actualizarea greutății, demonstrând o reglare fină eficientă în subspații de rang scăzut.

1) LoRA (adaptare la rang scăzut)

LoRA a apărut ca o tehnică revoluționară PEFT, introdusă într-o lucrare de Edward J. Hu și alții în 2021. Funcționează în cadrul categoriei de reparametrizare, înghețând greutățile originale ale LLM și integrând noi matrici de rang scăzut antrenabile în fiecare strat al arhitecturii Transformer. Această abordare nu numai că reduce numărul de parametri antrenabili, dar și timpul de antrenament și resursele de calcul necesare, prezentând astfel o alternativă mai eficientă la reglarea fină completă.

Pentru a înțelege mecanica LoRA, trebuie să revizuiți arhitectura transformatorului în care promptul de intrare este supus tokenizării și conversiei în vectori de încorporare. Acești vectori traversează segmentele de codificator și/sau decodor ale transformatorului, întâmpinând rețele de autoatenție și feed-forward ale căror greutăți sunt pre-antrenate.

LoRA folosește conceptul de Descompunerea valorii unice (SVD). În esență, SVD disectează o matrice în trei matrici distincte, dintre care una este o matrice diagonală care conține valori singulare. Aceste valori singulare sunt esențiale, deoarece evaluează semnificația diferitelor dimensiuni din matrice, valorile mai mari indicând o importanță mai mare, iar cele mai mici indicând o semnificație mai mică.

Descompunerea valorii singulare (SVD) a unei matrice dreptunghiulare m × n

Descompunerea valorii singulare (SVD) a matricei m × n

Această abordare permite LoRA să mențină caracteristicile esențiale ale datelor, reducând în același timp dimensionalitatea, optimizând astfel procesul de reglare fină.

LoRA intervine în acest proces, înghețând toți parametrii originali ai modelului și introducând o pereche de „matrice de descompunere a rangului” alături de ponderile inițiale. Aceste matrici mai mici, denumite A și B, sunt supuse unui antrenament prin învățare supravegheată.

Elementul pivot al acestei strategii este parametrul numit rang ('r'), care dictează dimensiunea matricelor de rang scăzut. O selecție meticuloasă a lui „r” poate produce rezultate impresionante, chiar și cu o valoare mai mică, creând astfel o matrice de rang scăzut cu mai puțini parametri de antrenat. Această strategie a fost implementată eficient folosind biblioteci open-source, cum ar fi HuggingFace Transformers, facilitând reglajul fin LoRA pentru diverse sarcini cu o eficiență remarcabilă.

2) QLoRA: creșterea eficienței LoRA

Bazându-se pe bazele puse de LoRA, QLoRA minimizează și mai mult cerințele de memorie. Introdus de Tim Dettmers și alții în 2023, combină adaptarea de rang scăzut cu cuantizarea, utilizând un format de cuantizare pe 4 biți numit NormalFloat or nf4. Cuantizarea este în esență un proces care face tranziția datelor de la o reprezentare informațională superioară la una cu mai puține informații. Această abordare menține eficacitatea metodelor de reglare fină pe 16 biți, decuantificând greutățile de 4 biți la 16 biți, așa cum este necesar în timpul proceselor de calcul.

Compararea metodelor de reglare fină: QLORA îmbunătățește LoRA cu cuantizare de precizie de 4 biți și optimizatori paginați pentru gestionarea vârfurilor de memorie

Compararea metodelor de reglare fină: QLORA îmbunătățește LoRA cu cuantizare de precizie de 4 biți și optimizatori paginați pentru gestionarea vârfurilor de memorie

QLoRA folosește NumericFloat4 (nf4), vizând fiecare strat din arhitectura transformatorului și introduce conceptul de cuantizare dublă pentru a micșora și mai mult amprenta memoriei necesară pentru reglarea fină. Acest lucru se realizează prin efectuarea cuantizării pe constantele deja cuantificate, o strategie care previne vârfurile tipice ale punctului de control al gradientului prin utilizarea optimizatoarelor paginate și gestionarea unificată a memoriei.

guanaco, care este un ansamblu reglat de QLORA, stabilește un punct de referință în soluțiile de chatbot open-source. Performanța sa, validată prin evaluări umane sistematice și automate, subliniază dominația și eficiența sa în domeniu.

Versiunile 65B și 33B ale lui Guanaco, reglate fin folosind o versiune modificată a OASST1 setul de date, apar ca concurenți formidabili la modele renumite precum Chat GPT și chiar GPT-4.

Ajustare fină folosind Învățarea prin întărire din feedbackul uman

Reinforcement Learning from Human Feedback (RLHF) intră în joc atunci când ajustați modelele de limbaj pre-antrenate pentru a se alinia mai strâns cu valorile umane. Acest concept a fost introdus de Open AI în 2017, punând bazele pentru o rezumare îmbunătățită a documentelor și dezvoltarea de InstructGPT.

La baza RLHF se află paradigma de învățare prin consolidare, un tip de tehnică de învățare automată în care an agent învață cum să se comporte într-o mediu inconjurator prin efectuarea acțiuni și primirea recompense. Este o buclă continuă de acțiune și feedback-ul, unde agentul este stimulat să facă alegeri care vor aduce cea mai mare recompensă.

Traducând acest lucru în domeniul modelelor de limbaj, the agent este model însuși, operând în cadrul mediu inconjurator a unei anumite ferestre de context și luarea deciziilor pe baza de stat, care este definit de tokenurile curente în fereastra de context. „spațiu de acțiune” cuprinde toate tokenurile potențiale din care modelul poate alege, cu scopul de a selecta tokenul care se aliniază cel mai bine preferințelor umane.

Procesul RLHF folosește în mod extensiv feedbackul uman, utilizându-l pentru a antrena un model de recompensă. Acest model joacă un rol crucial în ghidarea modelului pre-instruit în timpul procesului de reglare fină, încurajându-l să genereze rezultate care sunt mai aliniate cu valorile umane. Este un proces dinamic și iterativ, în care modelul învață printr-o serie de „lansări”, un termen folosit pentru a descrie succesiunea de stări și acțiuni care conduc la o recompensă în contextul generării limbajului.

Unul dintre potențialele remarcabile ale RLHF este capacitatea sa de a promova personalizarea asistenților AI, adaptându-i astfel încât să rezoneze cu preferințele individuale ale utilizatorilor, fie că este vorba de simțul umorului sau de rutinele zilnice. Acesta deschide căi pentru crearea de sisteme AI care nu sunt doar competente din punct de vedere tehnic, ci și inteligente din punct de vedere emoțional, capabile să înțeleagă și să răspundă la nuanțele comunicării umane.

Cu toate acestea, este esențial să rețineți că RLHF nu este o soluție sigură. Modelele sunt încă susceptibile de a genera rezultate nedorite, o reflectare a datelor vaste și adesea nereglementate și părtinitoare pe care sunt instruiți.

Concluzie

Procesul de reglare fină, un pas critic în valorificarea întregului potențial al LLM-urilor precum Alpaca, Falcon și GPT-4, a devenit mai rafinat și mai concentrat, oferind soluții personalizate pentru o gamă largă de sarcini.

Am văzut reglajul fin cu o singură sarcină, care este specializat în modele în anumite roluri, și metode de reglare fină eficientă în funcție de parametri (PEFT), inclusiv LoRA și QLoRA, care urmăresc să facă procesul de formare mai eficient și mai rentabil. Aceste evoluții deschid porțile către funcționalități AI de nivel înalt pentru un public mai larg.

Mai mult, introducerea Reinforcement Learning from Human Feedback (RLHF) de către Open AI este un pas către crearea de sisteme AI care să înțeleagă și să se alinieze mai strâns cu valorile și preferințele umane, creând terenul pentru asistenții AI care nu sunt doar inteligenți, ci și sensibili la nevoile individuale ale utilizatorului. Atât RLHF, cât și PEFT lucrează în sinergie pentru a îmbunătăți funcționalitatea și eficiența modelelor de limbaj mari.

Pe măsură ce întreprinderile, întreprinderile și persoanele fizice caută să integreze aceste LLM-uri ajustate în operațiunile lor, ele salută în esență un viitor în care AI este mai mult decât un instrument; este un partener care înțelege și se adaptează la contextele umane, oferind soluții inovatoare și personalizate.

Mi-am petrecut ultimii cinci ani scufundându-mă în lumea fascinantă a învățării automate și a învățării profunde. Pasiunea și expertiza mea m-au determinat să contribui la peste 50 de proiecte diverse de inginerie software, cu un accent deosebit pe AI/ML. Curiozitatea mea continuă m-a atras și către Procesarea limbajului natural, un domeniu pe care sunt dornic să îl explorez în continuare.