Prompt engineering
Înțelegerea reglării fine a LLM: Personalizarea modelelor de limbaj mari pentru cerințele dvs. unice

Pe măsură ce ne aflăm în septembrie 2023, peisajul modelelor de limbaj mari (LLM) este încă martorul apariției unor modele precum Alpaca, Falcon, Llama 2, GPT-4 și multe altele.
Un aspect important al utilizării potențialului acestor LLM constă în procesul de reglare fină, o strategie care permite personalizarea modelelor pre-antrenate pentru a se potrivi unor sarcini specifice cu precizie. Prin această reglare fină, aceste modele pot fi cu adevărat aliniate cu cerințele individualizate, oferind soluții inovatoare și personalizate pentru nevoi unice.
Cu toate acestea, este esențial să se observe că nu toate căile de reglare fină sunt create egal. De exemplu, accesul la capacitățile de reglare fină ale GPT-4 vine la un preț, 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 a valorifica puterea modelelor de limbaj mari. Aceste opțiuni open-source democratizează accesul la tehnologia avansată de inteligență artificială, promovând inovația și incluziunea în peisajul în evoluție rapidă al inteligenței artificiale.
De ce este importantă reglarea fină a 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 rafinată în diverse sarcini. Reglarea fină ajustează modelele pre-antrenate pentru a se potrivi mai bine unor seturi de date specifice, îmbunătățindu-le performanța în sarcini particulare și asigurând o aplicare mai țintită. Aceasta aduce o capacitate remarcabilă a LLM de a se adapta la noi date, demonstrând o flexibilitate vitală în interesul tot mai mare pentru aplicațiile de inteligență artificială.
Reglarea fină a modelelor de limbaj mari deschide o mulțime de oportunități, permițându-le să excelleze în sarcini specifice care variază de la analiza sentimentului la revizuirile literaturii medicale. Prin ajustarea modelului de bază la un anumit caz de utilizare, deblocăm noi posibilități, îmbunătățind eficiența și acuratețea modelului. Mai mult, aceasta 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 ne adâncim în acest ghid, vom discuta despre complexitățile reglării fine a LLM, oferindu-vă o imagine cuprinzătoare bazată pe cele mai recente avansări și cele mai bune practici în domeniu.
Reglarea fină bazată pe instrucțiuni
Faza de reglare fină în ciclul de viață al inteligenței artificiale generative, ilustrată în figura de mai jos, se caracterizează prin integrarea intrărilor și ieșirilor instrucțiunilor, împreună cu exemple de raționament pas cu pas. Acest abordare facilitează modelului să genereze răspunsuri care nu numai că sunt relevante, dar și precis aliniate cu instrucțiunile specifice introduse în el. Este în această fază când modelele pre-antrenate sunt adaptate pentru a rezolva sarcini distincte și cazuri de utilizare, utilizând seturi de date personalizate pentru a-și îmbunătăți funcționalitatea.
Reglarea fină pentru o singură sarcin
Reglarea fină pentru o singură sarcin se concentrează pe dezvoltarea expertizei modelului într-o sarcin specifică, cum ar fi rezumarea. Acest abordare este deosebit de benefică în optimizarea fluxurilor de lucru care implică documente substanțiale sau fire de conversație, inclusiv documente legale și bilețele de suport pentru clienți. În mod remarcabil, această reglare fină poate atinge îmbunătățiri semnificative ale performanței cu un set relativ mic de exemple, variind de la 500 la 1000, în contrast cu miliardele de tokeni utilizați în faza de pre-antrenare.
Fundamentele reglării fine a LLM: Arhitectura Transformer și dincolo
Călătoria de înțelegere a reglării fine a LLM începe cu o înțelegere a elementelor fundamentale care constituie LLM. În inima acestor modele se află arhitectura Transformer, o rețea neuronală care utilizează mecanismele de auto-atentie pentru a prioritiza contextul cuvintelor în raport cu proximitatea lor într-o propoziție. Acest abordare inovatoare facilitează o înțelegere mai profundă a relațiilor îndepărtate dintre tokeni în intrare.
Pe măsură ce navigăm prin complexitățile transformerelor, întâlnim un proces în mai multe etape care începe cu encoderul. Această fază inițială implică tokenizarea intrării și crearea vectorilor de încorporare care reprezintă intrarea și poziția sa în propoziție. Etapele ulterioare implică o serie de calcule utilizând matrice denumite Cerință, Valoare și Cheie, culminând cu un scor de auto-atentie care dictează focalizarea pe diferite părți ale propoziției și tokeni diversi.
Reglarea fină reprezintă o etapă critică în dezvoltarea LLM, un proces care implică ajustări subtile pentru a obține ieșiri mai dorite. Această etapă, deși esențială, prezintă o serie de provocări, inclusiv cerințele computaționale și de stocare pentru gestionarea unui număr vast de parametri. Reglarea fină eficientă a parametrilor (PEFT) oferă tehnici pentru a reduce numărul de parametri care trebuie reglați, simplificând astfel procesul de antrenare.
Pre-antrenarea LLM: Stabilirea unei baze solide
În etapele inițiale ale dezvoltării LLM, pre-antrenarea ocupă un loc central, utilizând arhitecturi de transformatori supra-parametrizați ca bază. Acest proces implică modelarea limbajului natural în diverse moduri, cum ar fi bidirecțional, autoregresiv sau secvență-la-secvență, pe corpora mari nesupravegheate. Obiectivul aici este de a crea o bază care poate fi reglată ulterior pentru sarcini specifice prin introducerea unor obiective specifice sarcinii.
O tendință notabilă în acest domeniu este creșterea inevitabilă a dimensiunii modelelor de limbaj mari pre-antrenate, măsurată prin numărul de parametri. Datele empirice arată în mod constant că modelele mai mari, împreună cu mai multe date, conduc aproape întotdeauna la o performanță mai bună. De exemplu, GPT-3, cu cei 175 de miliarde de parametri, a stabilit un punct de referință în generarea de limbaj natural de înaltă calitate și în executarea unei game largi de sarcini zero-shot cu pricepere.
Reglarea fină: Calea către adaptarea modelului
După pre-antrenare, LLM suferă reglarea fină pentru a se adapta la sarcini specifice. În ciuda performanței promițătoare arătate de învățarea în context în modelele pre-antrenate, cum ar fi GPT-3, reglarea fină rămâne superioară în setări specifice sarcinilor. Cu toate acestea, abordarea curentă de reglare fină a tuturor parametrilor prezintă provocări, inclusiv cerințe computaționale și de memorie ridicate, mai ales atunci când se lucrează cu modele la scară largă.
Pentru modele de limbaj mari cu peste un miliard de parametri, gestionarea eficientă a memoriei RAM a GPU este crucială. Un singur parametru al modelului la precizia de 32 de biți necesită 4 octeți de spațiu, ceea ce se traduce prin necesitatea a 4 GB de memorie RAM a GPU doar pentru a încărca un model cu un miliard de parametri. Procesul real de antrenare necesită și mai multă memorie pentru a găzdui diverse componente, inclusiv stări ale optimizatorului și gradientelor, ceea ce poate necesita până la 80 GB de memorie RAM a GPU pentru un model de această scară.
Pentru a naviga în limitările memoriei RAM a GPU, se utilizează cuantificarea, care este o tehnică ce reduce precizia parametrilor modelului, diminuând astfel cerințele de memorie. De exemplu, modificarea preciziei de la 32 de biți la 16 biți poate reduce la jumătate memoria necesară atât pentru încărcarea, cât și pentru antrenarea modelului. Mai târziu, în acest articol, vom învăța despre QLoRA, care utilizează conceptul de cuantificare pentru reglare.
Explorarea categoriilor de metode PEFT
În procesul de reglare fină completă a Modelelor de Limbaj Mari, este important să aveți o configurație computațională care să poată gestiona nu numai greutățile modelului, care pentru modelele avansate ajung acum la dimensiuni de sute de gigabiți, ci și să gestioneze o serie de alte elemente critice. Acestea includ alocarea memoriei pentru stări ale optimizatorului, gestionarea gradientelor, activări înainte și facilitarea memoriei temporare în diverse etape ale procedurii de antrenare.
Metoda aditivă
Acest tip de reglare poate completa modelul pre-antrenat cu parametri sau straturi suplimentare, concentrându-se pe antrenarea numai a parametrilor nou adăugați. În ciuda creșterii numărului de parametri, aceste metode îmbunătățesc timpul și eficiența spațială a antrenării. Metoda aditivă se divide în subcategorii:
- Adaptoare: Incorporarea unor rețele complet conectate mici după straturile sub-transformator, cu exemple notabile fiind AdaMix, KronA și Compactor.
- Prompturi moi: Reglarea unei părți a încorporărilor de intrare ale modelului prin coborâre de gradient, cu IPT, prefix-tuning și WARP fiind exemple proeminente.
- Alte abordări aditive: Includ tehnici precum LeTS, AttentionFusion și Ladder-Side Tuning.
Metoda selectivă
Metodele PEFT selective reglează un număr limitat de straturi superioare în funcție de tipul de strat și structura internă a modelului. Această categorie include metode precum BitFit și LN tuning, care se concentrează pe reglarea unor elemente specifice, cum ar fi biasurile 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, cel mai renumit fiind Adaptarea de Rang Scăzut sau LoRA. Această metodă utilizează o simplă descompunere a matricei de rang scăzut pentru a parametriza actualizarea greutății, demonstrând o reglare fină eficientă în subspațiile de rang scăzut.
1) LoRA (Adaptarea de Rang Scăzut)
LoRA a apărut ca o tehnică PEFT revoluționară, introdusă într-un articol de Edward J. Hu și alții în 2021. Aceasta operează în categoria reparametrizării, înghețând greutățile originale ale LLM și integrând matrice noi antrenabile de rang scăzut în fiecare strat al arhitecturii Transformer. Acest abordare nu numai că reduce numărul de parametri antrenabili, dar și scade timpul de antrenare și resursele computaționale necesare, prezentând astfel o alternativă mai eficientă la reglarea fină completă.
Pentru a înțelege mecanica LoRA, trebuie să revedem arhitectura transformerului, unde promptul de intrare suferă tokenizare și conversie în vectori de încorporare. Acești vectori traversează segmentele de encoder și/sau decoder ale transformerului, întâlnind rețele de auto-atentie și feed-forward ale căror greutăți sunt pre-antrenate.
LoRA utilizează conceptul de Descompunere în Valori Singulare (SVD). Esențial, SVD descompune o matrice în trei matrice distincte, una dintre ele fiind o matrice diagonală care conține valorile singulare. Aceste valori singulare sunt cruciale, deoarece măsoară importanța diferitelor dimensiuni în matrice, valorile mai mari indicând o importanță mai mare și valorile mai mici denotând o importanță mai mică.
Acest abordare permite LoRA să păstreze caracteristicile esențiale ale datelor, reducând în același timp dimensiunea, 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 de rang” lângă greutățile originale. Aceste matrice mai mici, denumite A și B, suferă antrenare prin învățare supravegheată.
Elementul cheie în această strategie este parametrul numit rang (‘r’), care dictează dimensiunea matricelor de rang scăzut. O alegere atentă a ‘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ă cu succes utilizând biblioteci open-source precum HuggingFace Transformers, facilitând reglarea fină LoRA pentru diverse sarcini cu o eficiență remarcabilă.
2) QLoRA: Îmbunătățirea eficienței LoRA
Construind pe fundația pusă de LoRA, QLoRA minimizează și mai mult cerințele de memorie. Introdus de Tim Dettmers și alții în 2023, aceasta combină adaptarea de rang scăzut cu cuantificarea, utilizând un format de cuantificare de 4 biți numit NormalFloat sau nf4. Cuantificarea este esențialmente un proces care trece datele de la o reprezentare cu informații mai mari la una cu mai puține informații. Acest abordare păstrează eficacitatea metodelor de reglare fină de 16 biți, dequantificând greutățile de 4 biți la 16 biți după cum este necesar în timpul proceselor computaționale.

Compararea metodelor de reglare fină: QLORA îmbunătățește LoRA cu cuantificare de 4 biți și optimizatori paginați pentru gestionarea vârfurilor de memorie
QLoRA utilizează NumericFloat4 (nf4), țintind fiecare strat din arhitectura transformerului, și introduce conceptul de cuantificare dublă pentru a reduce și mai mult amprenta de memorie necesară pentru reglarea fină. Acest lucru se realizează prin cuantificarea constantelor deja cuantificate, o strategie care evită vârfurile de memorie tipice ale punctelor de verificare a gradientului prin utilizarea optimizatorilor paginați și a gestionării unificate a memoriei.
Guanaco, care este un ansamblu reglat cu QLORA, stabilește un punct de referință în soluțiile de chatbot open-source. Performanța sa, validată prin evaluări sistematice umane și automate, subliniază supremația și eficiența sa în domeniu.
Versiunile de 65B și 33B ale Guanaco, reglate utilizând o versiune modificată a setului de date OASST1, apar ca competitori formidabili pentru modele renumite precum ChatGPT și chiar GPT-4.
Reglarea fină utilizând Învățarea de Consolidare din Feedback Uman
Învățarea de Consolidare din Feedback Uman (RLHF) vine în joc atunci când se reglează 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, stabilind bazele pentru o îmbunătățire a rezumării documentelor și dezvoltarea InstructGPT.
La baza RLHF se află paradigma de învățare de consolidare, o tehnică de învățare automată în care un agent învață să se comporte într-un mediu prin efectuarea de acțiuni și primirea de recompense. Este un ciclu continuu de acțiune și feedback, unde agentul este încurajat să facă alegeri care vor aduce cea mai mare recompensă.
Traducând acest lucru în domeniul modelelor de limbaj, agentul este modelul însuși, care operează în mediul unei ferestre de context date și ia decizii pe baza stării, care este definită de tokenii curenti în fereastra de context. “Spațiul de acțiune” cuprinde toți tokenii potențiali pe care modelul îi poate alege, scopul fiind să selecteze tokenul care se aliniază cel mai strâns cu preferințele umane.
Procesul RLHF utilizează feedbackul uman în mod extensiv, folosindu-l pentru a antrena un model de recompensă. Acest model joacă un rol crucial în ghidarea modelului pre-antrenat în timpul reglării fine, încurajându-l să genereze ieșiri care se aliniază mai strâns cu valorile umane. Este un proces dinamic și iterativ, unde modelul învață prin intermediul unor “derulări”, un termen folosit pentru a descrie secvența de stări și acțiuni care duc la o recompensă în contextul generării de limbaj.
Una dintre capacitățile remarcabile ale RLHF este abilitatea de a promova personalizarea în asistenții AI, adaptându-i pentru a rezona cu preferințele individuale ale utilizatorilor, fie că este vorba de simțul umorului sau de rutinele zilnice. Acest lucru deschide căi pentru crearea de sisteme AI care nu numai că sunt tehnic competente, dar și inteligențe emoționale, capabile să înțeleagă și să răspundă la nuanțele comunicării umane.
Cu toate acestea, este esențial să se observe că RLHF nu este o soluție infailibilă. Modelele sunt încă susceptibile de a genera ieșiri nedorite, reflectând datele vaste și adesea nereglementate și biasate pe care sunt antrenate.
Concluzie
Procesul de reglare fină, o etapă critică în valorificarea potențialului deplin al LLM, cum ar fi Alpaca, Falcon și GPT-4, a devenit mai rafinat și orientat, oferind soluții personalizate pentru o gamă largă de sarcini.
Am văzut reglarea fină pentru o singură sarcin, care specializează modelele în roluri specifice, și metodele PEFT, incluzând LoRA și QLoRA, care vizează să facă procesul de antrenare mai eficient și mai puțin costisitor. Aceste evoluții deschid porți către funcționalități avansate de inteligență artificială pentru o audiență mai largă.
În plus, introducerea Învățării de Consolidare din Feedback Uman (RLHF) de către Open AI este un pas către crearea de sisteme AI care înțeleg și se aliniază mai strâns cu valorile și preferințele umane, stabilind astfel o scenă pentru asistenți AI care nu sunt doar inteligenți, ci și sensibili la nevoile individuale ale utilizatorilor. 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 afacerile, întreprinderile și indivizii caută să integreze aceste LLM reglate fin în operațiunile lor, ei primesc esențialmente un viitor în care inteligența artificială 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.























