Povežite se s nama

Umjetna inteligencija

LoRa, QLoRA i QA-LoRA: Učinkovita prilagodljivost u modelima velikih jezika putem faktorizacije matrice niskog ranga

mm
LoRA: Adaptacija niskog ranga velikih jezičnih modela

Veliki jezični modeli (LLM) stvorili su jedinstvenu nišu, nudeći neusporedive mogućnosti razumijevanja i generiranja teksta nalik ljudskom. Snaga LLM-ova može se pratiti unatrag do njihove ogromne veličine, koja često ima milijarde parametara. Dok ova ogromna skala potiče njihovu izvedbu, ona istovremeno stvara izazove, posebno kada je u pitanju prilagodba modela za specifične zadatke ili domene. Konvencionalni putovi upravljanja LLM-ovima, kao što je fino podešavanje svih parametara, predstavljaju veliki računski i financijski danak, stoga predstavljaju značajnu prepreku njihovom širokom usvajanju u aplikacijama u stvarnom svijetu.

U prethodni članak, zadubili smo se u fino podešavanje velikih jezičnih modela (LLM) kako bismo ih prilagodili specifičnim zahtjevima. Istražili smo različite metodologije finog podešavanja kao što su fino podešavanje temeljeno na uputama, fino podešavanje jednog zadatka i parametrski učinkovito fino podešavanje (PEFT), svaka sa svojim jedinstvenim pristupom optimizaciji LLM-ova za različite zadatke. Središnja tema rasprave bila je arhitektura transformatora, okosnica LLM-a, i izazovi koje postavljaju računalni i memorijski zahtjevi za rukovanje ogromnim brojem parametara tijekom finog podešavanja.

Parametri u LLM

https://huggingface.co/blog/hf-bitsandbytes-integration

Gornja slika predstavlja ljestvicu različitih velikih jezičnih modela, poredanih po broju parametara. Posebno: Dlan, CVATANJE, i tako dalje

Od ove godine, došlo je do napretka koji je doveo do još mnogo većih modela. Međutim, podešavanje takvih gigantskih modela otvorenog koda na standardnim sustavima neizvedivo je bez specijaliziranih tehnika optimizacije.

Enter Low-Rank Adaptation (LoRA) uveo je Microsoft u ovo papir, s ciljem ublažavanja ovih izazova i učiniti doktorske studije pristupačnijim i prilagodljivijim.

Srž LoRA-e leži u njegovom pristupu prilagodbi modela bez ulaženja u zamršenosti ponovnog osposobljavanja cijelog modela. Za razliku od tradicionalnog finog podešavanja, gdje je svaki parametar podložan promjenama, LoRA usvaja pametniju rutu. Zamrzava unaprijed obučene težine modela i uvodi matrice dekompozicije ranga koje je moguće obučiti u svaki sloj Transformerove arhitekture. Ovaj pristup drastično smanjuje broj parametara koji se mogu trenirati, osiguravajući učinkovitiji proces prilagodbe.

Evolucija LLM strategija podešavanja

Razmišljajući o putu ugađanja LLM-a, može se identificirati nekoliko strategija koje su koristili praktičari tijekom godina. U početku je fokus bio na finom podešavanju unaprijed obučenih modela, strategiji koja uključuje sveobuhvatnu promjenu parametara modela kako bi odgovarali specifičnom zadatku koji se radi. Međutim, kako su modeli rasli u veličini i složenosti, tako su rasli i računalni zahtjevi ovog pristupa.

Sljedeća strategija koja je postala popularna bilo je fino ugađanje podskupa, suzdržanija verzija svog prethodnika. Ovdje je samo podskup parametara modela fino podešen, čime se u određenoj mjeri smanjuje računski teret. Unatoč svojim zaslugama, fino podešavanje podskupa još uvijek nije moglo pratiti stopu rasta veličine LLM-a.

Kako su se praktičari odvažili istražiti učinkovitije puteve, potpuno fino podešavanje se pojavilo kao rigorozan, ali nagrađivan pristup.

Uvod u LoRA

Rang matrice daje nam uvid u dimenzije koje stvaraju njezini stupci, budući da je određen brojem jedinstvenih redaka ili stupaca koje ima.

  • Matrica punog ranga: njen rang odgovara manjem broju između redaka ili stupaca.
  • Matrica niskog ranga: s rangom znatno manjim od broja redaka i stupaca, bilježi manje značajki.

Sada veliki modeli shvaćaju široko razumijevanje svoje domene, poput jezika u jezičnim modelima. Ali njihovo fino ugađanje za specifične zadatke često zahtijeva samo isticanje malog dijela tih razumijevanja. Evo gdje LoRA blista. To sugerira da matrica koja prikazuje te prilagodbe težine može biti niskog ranga, pa tako obuhvaća manje značajki.

LoRA pametno ograničava rang ove matrice ažuriranja dijeleći je na dvije manje matrice ranga. Dakle, umjesto da mijenja cijelu matricu težine, mijenja samo dio nje, čineći zadatak finog podešavanja učinkovitijim.

Primjena LoRA na transformatore

LoRA pomaže minimizirati opterećenje vježbanja u neuronskim mrežama fokusiranjem na specifične matrice težine. Pod transformatorskom arhitekturom, određene matrice težine povezane su s mehanizmom samopažnje, naime Wq, Wk, Wv i Wo, osim još dvije u modulu višeslojnog perceptrona (MLP).

Transformatori-arhitektura

Transformers arhitektura

 

transformator pozornost glave

Transformator Attention Heads

Matematičko objašnjenje uz LoRA

Razdvojimo matematiku iza LoRA-e:

  1. Unaprijed uvježbana matrica težine :
    • Počinje s unaprijed uvježbanom matricom težine dimenzija . To znači da matrica ima redovi i stupovi.
  2. Dekompozicija niskog ranga:
    • Umjesto izravnog ažuriranja cijele matrice , što može biti računalno skupo, metoda predlaže pristup dekompozicije niskog ranga.
    • Ažuriranje do može se prikazati kao produkt dviju matrica: međutim .
      • ima dimenzije
      • ima dimenzije
    • Ključna točka ovdje je da rang mnogo je manji od oba međutim , što omogućuje računski učinkovitiji prikaz.
  3. Trening:
    • Tijekom trenažnog procesa, ostaje nepromjenjen. To se naziva "zamrzavanje" utega.
    • S druge strane, međutim su parametri koji se mogu trenirati. To znači da se tijekom treninga matrice prilagođavaju međutim poboljšati performanse modela.
  4. Množenje i zbrajanje:
    • Oboje i ažuriranje (koji je proizvod međutim ) množe se s istim ulazom (označenim kao ).
    • Izlazi tih množenja se zatim zbrajaju.
    • Ovaj proces je sažet u jednadžbu: Ovdje, predstavlja konačni izlaz nakon primjene ažuriranja na ulazu .

Ukratko, ova metoda omogućuje učinkovitiji način ažuriranja velike matrice težine predstavljanjem ažuriranja pomoću dekompozicije niskog ranga, što može biti korisno u smislu računalne učinkovitosti i korištenja memorije.

LORA animacija

Lora

Inicijalizacija i skaliranje:

Kada modeliramo obuku, način na koji inicijaliziramo parametre može značajno utjecati na učinkovitost i djelotvornost procesa učenja. U kontekstu našeg ažuriranja matrice težine pomoću međutim :

  1. Inicijalizacija matrica međutim :
    • Distributori : Ova matrica je inicijalizirana nasumičnim Gaussovim vrijednostima, također poznatim kao normalna distribucija. Obrazloženje iza korištenja Gaussove inicijalizacije je razbijanje simetrije: različiti neuroni u istom sloju naučit će različite značajke kada imaju različite početne težine.
    • Distributori : Ova matrica je inicijalizirana nulama. Radeći to, ažuriranje počinje kao nula na početku treninga. Osigurava da nema nagle promjene u ponašanju modela na početku, dopuštajući modelu da se postupno prilagođava tijekom treninga uči odgovarajuće vrijednosti.
  2. Skaliranje izlaza iz :
    • Nakon izračuna ažuriranja , njegov je izlaz skaliran faktorom od gdje je konstanta. Skaliranjem se kontrolira veličina ažuriranja.
    • Skaliranje je posebno ključno kada rang promjene. Na primjer, ako odlučite povećati rang za veću točnost (po cijenu izračuna), skaliranje osigurava da ne morate prilagođavati mnoge druge hiperparametre u procesu. Omogućuje određenu razinu stabilnosti modela.

Praktični učinak LoRA-e

LoRA je pokazala svoj potencijal za učinkovito prilagođavanje LLM-a određenim umjetničkim stilovima od strane ljudi iz AI zajednice. To je posebno prikazano u prilagodbi modela za oponašanje umjetničkog stila Greg Rutkowski.

Kao što je istaknuto u radu s GPT-3 175B kao primjerom. Imati pojedinačne instance fino podešenih modela sa po 175B parametara prilično je skupo. No, uz LoRA, parametri koji se mogu trenirati padaju 10,000 XNUMX puta, a korištenje GPU memorije smanjeno je na trećinu.

LoRa utjecaj na GPT-3 podešavanje

LoRa utjecaj na GPT-3 fino podešavanje

LoRA metodologija ne samo da utjelovljuje značajan korak prema tome da LLM postane pristupačniji, već također naglašava potencijal za premošćivanje jaza između teoretskog napretka i praktičnih primjena u domeni umjetne inteligencije. Ublažavanjem računalnih prepreka i poticanjem učinkovitijeg procesa prilagodbe modela, LoRA je spremna odigrati ključnu ulogu u širem usvajanju i implementaciji LLM-ova u scenarijima stvarnog svijeta.

QLoRA (kvantizirano)

Iako LoRA mijenja pravila u smanjenju potreba za pohranom, još uvijek zahtijeva snažan GPU za učitavanje modela za obuku. Ovdje QLoRA, ili Quantized LoRA, stupa na scenu, spajajući LoRA s Quantization za pametniji pristup.

kvantizacija

kvantizacija

Obično se parametri težine pohranjuju u 32-bitnom formatu (FP32), što znači da svaki element u matrici zauzima 32 bita prostora. Zamislite da iste informacije možemo sabiti u samo 8 ili čak 4 bita. To je temeljna ideja QLoRA-e. Kvantizacija se odnosi na proces preslikavanja kontinuiranih beskonačnih vrijednosti u manji skup diskretnih konačnih vrijednosti. U kontekstu LLM-a, odnosi se na proces pretvorbe težina modela iz tipova podataka veće preciznosti u one niže preciznosti.

Kvantizacija u LLM-u

Kvantizacija u LLM-u

Evo jednostavnijeg prikaza QLoRA-e:

  1. Početna kvantizacija: Prvo, Large Language Model (LLM) je kvantiziran do 4 bita, značajno smanjujući memorijski otisak.
  2. LoRA obuka: Zatim se izvodi LoRA trening, ali u standardnoj 32-bitnoj preciznosti (FP32).

Sada se možda pitate zašto se vratiti na 32 bita za obuku nakon smanjenja na 4 bita? Pa, za učinkovito treniranje LoRA adaptera u FP32, težine modela također se moraju vratiti na FP32. Ovo prebacivanje naprijed-natrag obavlja se na pametan način, korak po korak kako bi se izbjeglo preopterećenje GPU memorije.

LoRA svoju praktičnu primjenu nalazi u Hugging Faceu Parametarsko učinkovito fino podešavanje (PEFT) knjižnice, pojednostavljujući njezino korištenje. Za one koji žele koristiti QLoRA, dostupna je kombinacijom bitsandbytes i PEFT knjižnice. Dodatno, HuggingFace Transformer Reinforcement Learning (TRL) knjižnica olakšava nadzirano fino podešavanje s integriranom podrškom za LoRA. Zajedno, ove tri biblioteke daju osnovni alat za fino podešavanje odabranog prethodno obučenog modela, omogućujući generiranje uvjerljivih i koherentnih opisa proizvoda kada se to od vas zatraži posebnim atributnim uputama.

Nakon finog podešavanja iz QLoRA-e, težine se moraju vratiti u format visoke preciznosti, što može dovesti do gubitka točnosti i nedostaje optimizacije za ubrzavanje procesa.

Predloženo rješenje je grupirati težinsku matricu u manje segmente i primijeniti kvantizaciju i prilagodbu niskog ranga na svaku skupinu pojedinačno. Nova metoda, nazvana QA-LoRA, pokušava pomiješati prednosti kvantizacije i prilagodbe niskog ranga dok istovremeno održava učinkovitost procesa i učinkovitost modela za željene zadatke.

Zaključak

U ovom članku dotakli smo se izazova koje predstavlja njihova ogromna veličina parametara. Zaronili smo u tradicionalne prakse finog podešavanja i njihove povezane računalne i financijske zahtjeve. Suština LoRA-e leži u njegovoj sposobnosti modificiranja prethodno obučenih modela bez njihove potpune ponovne obuke, čime se smanjuju parametri koji se mogu trenirati i čini proces prilagodbe isplativijim.

Također smo se kratko zadubili u kvantiziranu LoRA (QLoRA), mješavinu LoRA i kvantizacije koja smanjuje memorijski otisak modela zadržavajući bitnu preciznost za obuku. Uz ove napredne tehnike, praktičari su sada opremljeni robusnim bibliotekama, olakšavajući lakše usvajanje i implementaciju LLM-ova u nizu scenarija iz stvarnog svijeta.

Distributori

Distributori

Ove su strategije osmišljene kako bi balansirale između prilagođavanja LLM-ova specifičnim zadacima i osiguravanja da procesi finog podešavanja i implementacije nisu pretjerano zahtjevni u smislu računanja i resursa za pohranu.

Proteklih pet godina proveo sam uranjajući u fascinantan svijet strojnog i dubokog učenja. Moja strast i stručnost naveli su me da pridonesem više od 50 različitih projekata softverskog inženjeringa, s posebnim fokusom na AI/ML. Moja stalna znatiželja također me povukla prema obradi prirodnog jezika, polju koje jedva čekam dalje istraživati.