Inteligență artificială
MoRA: Actualizare de înalt rang pentru PEFT
Datorită performanței sale robuste și a aplicabilității sale largi în comparație cu alte metode, LoRA sau adaptarea de rang scăzut este una dintre cele mai populare metode PEFT sau de finisare eficientă a parametrilor pentru finisarea unui model de limbaj mare. Framework-ul LoRA utilizează două matrice de rang scăzut pentru a descompune și a aproxima greutățile actualizate în FFT sau finisarea completă, iar framework-ul LoRA modifică aceste parametri antrenabili în consecință, ajustând rangul matricelor. Principalul beneficiu al implementării acestui proces este că facilitează framework-ului LoRA să combine aceste matrice fără întârzierea inferenței după finisare. Mai mult, deși modelele de limbaj mare recente oferă o performanță remarcabilă la sarcinile de învățare în context, anumite scenarii necesită încă finisare și pot fi împărțite în mod larg în trei tipuri. Primul tip, reglarea instrucțiunilor, are ca scop alinierea LLM-urilor mai bine cu sarcinile finale și preferințele utilizatorilor, fără a îmbunătăți cunoștințele și capacitățile LLM-urilor, o abordare care simplifică procesul de a face față unor sarcini variate și instrucțiuni complexe. Al doilea tip include sarcini de raționament complex, cum ar fi rezolvarea problemelor matematice. În cele din urmă, al treilea tip este preantrenarea continuă, o abordare care încearcă să îmbunătățească capacitățile generale de domeniu specifice ale modelelor de limbaj mare.
În acest articol, vom discuta despre MoRA, o nouă metodă care realizează actualizarea de înalt rang, menținând același număr de parametri antrenabili, prin utilizarea unei matrice pătrate. Pentru a realiza acest lucru, framework-ul MoRA reduce dimensiunea de intrare și crește dimensiunea de ieșire pentru matricea pătrată, introducând operatori neparametrizați corespunzători. Mai mult, acești operatori asigură că greutatea poate fi combinată înapoi în LLM-uri, ceea ce face ca framework-ul MoRA să fie utilizabil ca LoRA.
Acest articol are ca scop să acopere framework-ul MoRA în profunzime și explorăm mecanismul, metodologia, arhitectura framework-ului, împreună cu comparația cu framework-urile de ultimă generație. Deci, să începem.
MoRA: Actualizare de înalt rang pentru PEFT
Pe măsură ce dimensiunea și capacitățile modelelor de limbaj cresc, PEFT sau finisarea eficientă a parametrilor devine una dintre cele mai populare și eficiente metode de adaptare a LLM-urilor la sarcini specifice de aval. În comparație cu FFT sau finisarea completă, care actualizează toți parametrii, PEFT modifică doar o fracțiune din parametrii totali, astfel încât, pe unele sarcini, poate realiza o performanță similară cu FFT, actualizând mai puțin de 1% din parametrii totali, reducând astfel semnificativ cerințele de memorie pentru optimizer și facilitând stocarea și implementarea modelelor. Mai mult, printre toate metodele PEFT existente, LoRA este cea mai populară astăzi, în special pentru LLM-uri. Unul dintre motivele principale pentru care metodele LoRA oferă o performanță mai bună în comparație cu metodele PEFT, cum ar fi adaptoarele sau reglarea prompturilor, este că LoRA utilizează matrice de rang scăzut pentru a actualiza parametrii, având controlul de a combina aceste matrice cu parametrii modelului original, fără a adăuga la cerințele computaționale în timpul inferenței. Deși există numeroase metode care încearcă să îmbunătățească LoRA pentru modelele de limbaj mare, majoritatea acestor metode se bazează pe GLUE pentru a-și valida eficiența, fie prin necesitatea unor parametri antrenabili mai puțini, fie prin realizarea unei performanțe mai bune.
Mai mult, experimentele efectuate pe LoRA pe o gamă largă de sarcini, incluzând preantrenarea continuă, raționamentul matematic și reglarea instrucțiunilor, indică faptul că, deși framework-urile bazate pe LoRA demonstrează o performanță similară pe aceste sarcini și oferă o performanță comparabilă cu metodele FFT pe sarcinile de reglare a instrucțiunilor, modelele bazate pe LoRA nu au putut reproduce performanța pe sarcinile de preantrenare continuă și raționament matematic. O posibilă explicație pentru această lipsă de performanță poate fi dependența LoRA de actualizarea matricelor de rang scăzut, deoarece matricea de actualizare de rang scăzut poate lupta pentru a estima actualizările de rang complet în FFT, în special în sarcinile care necesită memorizarea cunoștințelor specifice de domeniu, cum ar fi preantrenarea continuă. Deoarece rangul matricei de actualizare de rang scăzut este mai mic decât rangul complet, limitează capacitatea de a stoca informații noi prin finisare. Pe baza acestor observații, MoRA încearcă să maximizeze rangul în matricea de actualizare de rang scăzut, menținând același număr de parametri antrenabili, prin utilizarea unei matrice pătrate, în locul utilizării matricelor de rang scăzut în modelele tradiționale bazate pe LoRA.

În imaginea de mai sus, (a) reprezintă LoRA, iar (b) reprezintă MoRA. W este greutatea înghețată din model, M este matricea antrenabilă în MoRA, A și B sunt matrice de rang scăzut antrenabile în LoRA, iar r reprezintă rangul în LoRA și MoRA. Așa cum se poate observa, framework-ul MoRA demonstrează o capacitate mai mare decât modelele bazate pe LoRA, cu un rang mare. Mai mult, framework-ul MoRA dezvoltă operatori neparametrizați corespunzători pentru a reduce dimensiunea de intrare și a crește dimensiunea de ieșire pentru matricea antrenabilă M. Mai mult, framework-ul MoRA oferă flexibilitatea de a utiliza o matrice de actualizare de rang scăzut pentru a înlocui matricea antrenabilă M și operatorii, asigurând că metoda MoRA poate fi combinată înapoi în modelul de limbaj mare, ca LoRA.

MoRA: Metodologie și Arhitectură
Influența Actualizării de Rang Scăzut
Principiul cheie al modelelor bazate pe LoRA este de a estima actualizările de rang complet în FFT, utilizând actualizări de rang scăzut. În mod tradițional, pentru o matrice de parametri preantrenați, LoRA utilizează două matrice de rang scăzut pentru a calcula actualizarea greutății. Pentru a asigura că actualizările greutății sunt 0 atunci când începe antrenarea, framework-ul LoRA initializează una dintre matricele de rang scăzut cu o distribuție Gaussiană, iar cealaltă cu 0. Actualizarea generală a greutății în LoRA prezintă un rang scăzut în comparație cu finisarea în FFT, deși actualizarea de rang scăzut în LoRA oferă o performanță similară cu actualizarea de rang complet pe anumite sarcini, incluzând reglarea instrucțiunilor și clasificarea textului. Cu toate acestea, performanța framework-ului LoRA începe să se deterioreze pentru sarcini cum ar fi preantrenarea continuă și raționamentul complex. Pe baza acestor observații, MoRA propune că este mai ușor să se utilizeze capacitățile și cunoștințele originale ale LLM-ului pentru a rezolva sarcini utilizând actualizări de rang scăzut, dar modelul luptă pentru a realiza sarcini care necesită îmbunătățirea capacităților și cunoștințelor modelului de limbaj mare.
Metodologie
Deși LLM-urile cu învățare în context oferă o îmbunătățire semnificativă a performanței în comparație cu abordările anterioare, există încă contexte care se bazează pe finisare, care pot fi împărțite în mod larg în trei categorii. Există LLM-uri de reglare a instrucțiunilor, prin alinierea cu sarcinile și preferințele utilizatorilor, fără a îmbunătăți semnificativ cunoștințele și capacitățile LLM-urilor, o abordare care simplifică procesul de a lucra cu multiple sarcini și de a înțelege instrucțiuni complexe. Un alt tip este despre sarcini de raționament complex, cum ar fi rezolvarea problemelor matematice, pentru care reglarea instrucțiunilor generale nu este suficientă pentru a face față raționamentului simbolic multi-pașilor. Cea mai mare parte a cercetărilor sunt dedicate îmbunătățirii capacităților de raționament ale LLM-urilor și necesită fie proiectarea seturilor de date de antrenare corespunzătoare, bazate pe modele mai mari de profesori, cum ar fi GPT-4, fie reformularea întrebărilor corespunzătoare raționamentului de-a lungul unui drum de raționament. Al treilea tip, preantrenarea continuă, este proiectată pentru a îmbunătăți capacitățile de domeniu specifice ale LLM-urilor. În contrast cu reglarea instrucțiunilor, finisarea este necesară pentru a îmbogăți cunoștințele și abilitățile specifice de domeniu.
Cu toate acestea, majoritatea variantelor LoRA utilizează în mod almost exclusiv sarcini de reglare a instrucțiunilor sau clasificare a textului din GLUE pentru a evalua eficiența lor în contextul LLM-urilor. Deoarece finisarea pentru reglarea instrucțiunilor necesită cele mai puține resurse în comparație cu alte tipuri, poate nu reprezintă o comparație adecvată între variantele LoRA. Adăugarea sarcinilor de raționament pentru a evalua mai bine metodele lor a devenit o practică comună în lucrările mai recente. Cu toate acestea, de obicei, utilizăm seturi de antrenare mici (chiar și la 1M de exemple, care este destul de mare). LLM-urile luptă pentru a învăța un raționament adecvat din exemple de această dimensiune. De exemplu, unele abordări utilizează GSM8K, cu doar 7,5K episoade de antrenare. Cu toate acestea, aceste numere sunt inferioare metodei SOTA, care a fost antrenată pe 395K exemple, și fac dificilă evaluarea capacității acestor metode de a învăța puterea de raționament a NLP.
Pe baza observațiilor despre influența actualizării de rang scăzut, framework-ul MoRA propune o nouă metodă pentru a mitigă efectele negative ale actualizării de rang scăzut. Principiul de bază al framework-ului MoRA este de a utiliza aceiași parametri antrenabili în cel mai mare grad posibil pentru a atinge un rang mai mare în matricea de actualizare de rang scăzut. După ce se iau în considerare greutățile preantrenate, framework-ul LoRA utilizează două matrice de rang scăzut, A și B, cu parametri antrenabili totali pentru rangul r. Cu toate acestea, pentru același număr de parametri antrenabili, o matrice pătrată poate atinge rangul cel mai mare, iar framework-ul MoRA realizează acest lucru prin reducerea dimensiunii de intrare și creșterea dimensiunii de ieșire pentru matricea antrenabilă pătrată. Mai mult, acești doi operatori ar trebui să fie operatori neparametrizați și ar trebui să se execute în timp liniar, corespunzător dimensiunii.
MoRA: Experimente și Rezultate
Pentru a evalua performanța sa, framework-ul MoRA este evaluat pe o gamă largă de sarcini pentru a înțelege influența actualizării de rang înalt pe trei sarcini: memorizarea perechilor UUID, sarcinile de finisare și preantrenarea.
Memorizarea Perechilor UUID
Pentru a demonstra îmbunătățirile în performanță, framework-ul MoRA este comparat cu FFT și LoRA pe sarcina de memorizare a perechilor UUID. Pierderea de antrenare din experiment este reflectată în imaginea de mai jos.

Este demn de remarcat că, pentru același număr de parametri antrenabili, framework-ul MoRA reușește să depășească modelele existente LoRA, indicând faptul că a beneficiat de strategia de actualizare de rang înalt. Raportul de acuratețe la nivel de caracter la diferite pași de antrenare este rezumat în tabela de mai jos.

Așa cum se poate observa, în comparație cu LoRA, framework-ul MoRA necesită mai puțini pași de antrenare pentru a memoriza perechile UUID.
Sarcinile de Finisare
Pentru a evalua performanța sa pe sarcinile de finisare, framework-ul MoRA este evaluat pe trei sarcini de finisare: reglarea instrucțiunilor, raționamentul matematic și preantrenarea continuă, proiectate pentru modele de limbaj mare, împreună cu un set de date de înaltă calitate corespunzător pentru ambele modele MoRA și LoRA. Rezultatele sarcinilor de finisare sunt prezentate în tabela de mai jos.

Așa cum se poate observa, pe sarcinile de raționament matematic și reglare a instrucțiunilor, ambele modele LoRA și MoRA oferă o performanță similară. Cu toate acestea, modelul MoRA se desparte de framework-ul LoRA pe sarcinile de preantrenare continuă, atât pentru domeniul biomedical, cât și pentru cel financiar, beneficiind de abordarea de actualizare de rang înalt pentru a memoriza cunoștințe noi. Mai mult, este esențial să se înțeleagă că cele trei sarcini sunt diferite unele de altele, cu cerințe diferite și capacități de finisare diferite.
Preantrenarea
Pentru a evalua influența actualizării de rang înalt asupra performanței generale, transformatorul din cadrul framework-ului MoRA este antrenat de la zero pe setul de date C4, iar performanța este comparată cu modelele LoRA și ReLoRA. Pierderea de preantrenare, împreună cu complexitatea corespunzătoare pe setul de date C4, sunt demonstrate în figurile de mai jos.


Așa cum se poate observa, modelul MoRA oferă o performanță mai bună pe sarcinile de preantrenare în comparație cu modelele LoRA și ReLoRA, cu același număr de parametri antrenabili.
Mai mult, pentru a demonstra impactul actualizării de rang înalt asupra rangului matricei de actualizare de rang scăzut, framework-ul MoRA analizează spectrul valorilor singulare pentru matricea de actualizare de rang scăzut învățată, prin preantrenarea modelului de 250M, iar rezultatele sunt conținute în imaginea de mai jos.

Gânduri Finale
În acest articol, am discutat despre MoRA, o nouă metodă care realizează actualizarea de înalt rang, menținând același număr de parametri antrenabili, prin utilizarea unei matrice pătrate. Pentru a realiza acest lucru, framework-ul MoRA reduce dimensiunea de intrare și crește dimensiunea de ieșire pentru matricea pătrată, introducând operatori neparametrizați corespunzători. Mai mult, acești operatori asigură că greutatea poate fi combinată înapoi în LLM-uri, ceea ce face ca framework-ul MoRA să fie utilizabil ca LoRA.












