Refresh

This website www.unite.ai/sl/lora-qlora-and-qa-lora-efficient-adaptability-in-large-language-models-through-low-rank-matrix-factorization/ is currently offline. Cloudflare's Always Online™ shows a snapshot of this web page from the Internet Archive's Wayback Machine. To check for the live version, click Refresh.

škrbina LoRa, QLoRA in QA-LoRA: Učinkovita prilagodljivost v velikih jezikovnih modelih s faktorizacijo matrike nizkega ranga - Unite.AI
Povežite se z nami

Umetna inteligenca

LoRa, QLoRA in QA-LoRA: Učinkovita prilagodljivost v modelih velikih jezikov s faktorizacijo matrike nizkega ranga

mm

objavljeno

 on

LoRA: Nizka prilagoditev velikih jezikovnih modelov

Veliki jezikovni modeli (LLM) so ustvarili edinstveno tržno nišo in ponujajo neprimerljive zmožnosti razumevanja in ustvarjanja besedila, podobnega človeku. Moč LLM-jev je mogoče izslediti v njihovi ogromni velikosti, ki ima pogosto milijarde parametrov. Medtem ko ta ogromen obseg spodbuja njihovo uspešnost, hkrati povzroča izzive, zlasti ko gre za prilagoditev modela za posebne naloge ali področja. Konvencionalne poti upravljanja LLM-jev, kot je natančna nastavitev vseh parametrov, predstavljajo velik računalniški in finančni davek, kar predstavlja veliko oviro za njihovo široko uporabo v aplikacijah v resničnem svetu.

V prejšnji članek, smo se poglobili v natančno nastavitev velikih jezikovnih modelov (LLM), da bi jih prilagodili posebnim zahtevam. Raziskali smo različne metodologije natančnega uravnavanja, kot so fino uravnavanje na podlagi navodil, fino uravnavanje z eno nalogo in učinkovito fino uravnavanje parametrov (PEFT), od katerih ima vsaka svoj edinstven pristop k optimizaciji LLM-jev za različne naloge. V središču razprave je bila arhitektura transformatorja, ki je hrbtenica LLM-jev, in izzivi, ki jih predstavljajo računalniške in pomnilniške zahteve pri ravnanju z ogromnim številom parametrov med finim nastavljanjem.

Parametri v LLM

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

Zgornja slika predstavlja lestvico različnih velikih jezikovnih modelov, razvrščenih po številu parametrov. Zlasti: PaLM, BLOOM, in tako naprej

Od tega leta je prišlo do napredka, ki vodi do še večjih modelov. Vendar je prilagoditev tako ogromnih odprtokodnih modelov na standardne sisteme neizvedljiva brez specializiranih tehnik optimizacije.

Microsoft je v tem uvedel prilagoditev nizkega ranga (LoRA). papirja, s ciljem ublažiti te izzive in narediti LLM bolj dostopne in prilagodljive.

Bistvo LoRA je v njegovem pristopu k prilagajanju modela brez poglabljanja v zapletenosti ponovnega usposabljanja celotnega modela. Za razliko od tradicionalne natančne nastavitve, kjer se lahko vsak parameter spremeni, LoRA sprejme pametnejšo pot. Zamrzne vnaprej pripravljene uteži modela in uvede matrike dekompozicije rangov, ki jih je mogoče učiti, v vsako plast arhitekture Transformer. Ta pristop drastično zmanjša število parametrov, ki jih je mogoče učiti, kar zagotavlja učinkovitejši proces prilagajanja.

Razvoj strategij prilagajanja LLM

Če razmišljamo o poti uglaševanja LLM, lahko prepoznamo več strategij, ki so jih praktiki uporabljali skozi leta. Sprva je bil v središču pozornosti natančno prilagajanje vnaprej pripravljenih modelov, strategija, ki vključuje celovito spremembo parametrov modela, da ustrezajo določeni nalogi. Ko pa so modeli rasli v velikosti in kompleksnosti, so se povečale tudi računske zahteve tega pristopa.

Naslednja strategija, ki se je uveljavila, je bila fina nastavitev podmnožic, bolj zadržana različica predhodnice. Tukaj je natančno nastavljena le podmnožica parametrov modela, kar do neke mere zmanjša računsko obremenitev. Kljub svojim prednostim fino uravnavanje podmnožic še vedno ni moglo slediti stopnji rasti velikosti LLM.

Ko so se izvajalci lotili raziskovanja učinkovitejših poti, se je popolna fina nastavitev pojavila kot strog, a nagrajujoč pristop.

Uvod v LoRA

Rang matrike nam daje vpogled v dimenzije, ki jih ustvarijo njeni stolpci, ki jih določa število edinstvenih vrstic ali stolpcev, ki jih ima.

  • Matrika polnega ranga: njen rang se ujema z manjšim številom med njenimi vrsticami ali stolpci.
  • Matrika nizkega ranga: z rangom, ki je precej manjši od števila vrstic in stolpcev, zajame manj funkcij.

Zdaj veliki modeli dojemajo široko razumevanje svoje domene, kot je jezik v jezikovnih modelih. Toda njihovo natančno prilagajanje za posebne naloge pogosto zahteva le poudarjanje majhnega dela teh razumevanj. Tu blesti LoRA. Nakazuje, da je lahko matrika, ki prikazuje te prilagoditve teže, nizkega ranga in tako zajame manj funkcij.

LoRA pametno omeji rang te posodobitvene matrike tako, da jo razdeli na dve manjši matriki ranga. Torej, namesto da bi spremenil celotno matriko teže, spremeni le njen del, zaradi česar je naloga natančnega prilagajanja učinkovitejša.

Uporaba LoRA za transformatorje

LoRA pomaga minimizirati vadbeno obremenitev nevronskih mrež z osredotočanjem na posebne matrike teže. Pod arhitekturo Transformerja so nekatere matrike teže povezane z mehanizmom samopozornosti, in sicer Wq, Wk, Wv in Wo, poleg še dveh v modulu Multi-Layer Perceptron (MLP).

Transformatorji-arhitektura

Transformerjeva arhitektura

 

transformatorske pozornosti glave

Transformatorske glave za pozornost

Matematična razlaga za LoRA

Razčlenimo matematiko za LoRA:

  1. Vnaprej pripravljena matrica teže :
    • Začne se z vnaprej pripravljeno matrico teže dimenzij . To pomeni, da ima matrika vrstice in stolpcev.
  2. Nizka razgradnja:
    • Namesto neposrednega posodabljanja celotne matrike , ki je lahko računsko draga, metoda predlaga pristop razgradnje nizkega ranga.
    • Posodobitev do lahko predstavimo kot produkt dveh matrik: in .
      • ima dimenzije
      • ima dimenzije
    • Ključna točka pri tem je uvrstitev je veliko manjši od obeh in , ki omogoča računsko učinkovitejšo predstavitev.
  3. usposabljanje:
    • Med procesom usposabljanja, ostane nespremenjena. To se imenuje "zamrznitev" uteži.
    • Po drugi strani pa in so parametri, ki jih je mogoče trenirati. To pomeni, da se med treningom matrice prilagajajo in za izboljšanje delovanja modela.
  4. Množenje in seštevanje:
    • oba in posodobitev (ki je produkt in ) se pomnožijo z istim vhodom (označeno kot ).
    • Izhodi teh množenj se nato seštejejo.
    • Ta proces je povzet v enačbi: Tu predstavlja končni rezultat po uporabi posodobitev za vhod .

Skratka, ta metoda omogoča učinkovitejši način posodabljanja velike matrike uteži s predstavitvijo posodobitev z uporabo razčlenitve nizkega ranga, kar je lahko koristno v smislu računalniške učinkovitosti in uporabe pomnilnika.

LORA Animacija

LORA

Inicializacija in skaliranje:

Pri modelih usposabljanja lahko način inicializacije parametrov pomembno vpliva na učinkovitost in uspešnost učnega procesa. V kontekstu naše posodobitve matrike uteži z uporabo in :

  1. Inicializacija matrik in :
    • Matrix : Ta matrika je inicializirana z naključnimi Gaussovimi vrednostmi, znanimi tudi kot normalna porazdelitev. Utemeljitev za uporabo Gaussove inicializacije je prekinitev simetrije: različni nevroni v isti plasti se bodo naučili različnih lastnosti, če bodo imeli različne začetne uteži.
    • Matrix : Ta matrika je inicializirana z ničlami. S tem posodobitev začne kot nič na začetku treninga. Zagotavlja, da na začetku ni nenadnih sprememb v obnašanju modela, kar omogoča, da se model postopoma prilagaja se med treningom nauči ustreznih vrednot.
  2. Skaliranje izhoda iz :
    • Po izračunu posodobitve , se njegova proizvodnja poveča s faktorjem Kje je stalnica. S skaliranjem se nadzoruje obseg posodobitev.
    • Lestvica je še posebej pomembna pri rangu spremembe. Na primer, če se odločite povečati rang za večjo natančnost (za ceno izračuna), skaliranje zagotovi, da vam med postopkom ni treba prilagajati številnih drugih hiperparametrov. Zagotavlja raven stabilnosti modela.

Praktični vpliv LoRA

LoRA je pokazala svoj potencial za učinkovito prilagajanje LLM-jev specifičnim umetniškim slogom s strani ljudi iz skupnosti umetne inteligence. To se je zlasti pokazalo pri prilagoditvi modela za posnemanje umetniškega sloga Greg Rutkowski.

Kot je poudarjeno v dokumentu z GPT-3 175B kot primer. Imeti posamezne primerke natančno nastavljenih modelov s 175B parametri je precej drago. Toda z LoRA se parametri, ki jih je mogoče učiti, zmanjšajo za 10,000-krat, uporaba pomnilnika GPE pa je zmanjšana na tretjino.

Vpliv LoRa na GPT-3 Tuning

Vpliv LoRa na GPT-3 Fine Tuning

Metodologija LoRA ne uteleša le pomembnega napredka v smeri večje dostopnosti LLM-jev, ampak tudi poudarja potencial za premostitev vrzeli med teoretičnim napredkom in praktičnimi aplikacijami na področju umetne inteligence. Z lajšanjem računalniških ovir in spodbujanjem učinkovitejšega procesa prilagajanja modela je LoRA pripravljena igrati ključno vlogo pri širšem sprejemanju in uvajanju LLM-jev v realnih scenarijih.

QLoRA (kvantizirano)

Medtem ko je LoRA sprememba igre pri zmanjševanju potreb po shranjevanju, še vedno zahteva zajeten GPE za nalaganje modela za usposabljanje. Tukaj nastopi QLoRA ali kvantizirana LoRA, ki LoRA združuje s kvantizacijo za pametnejši pristop.

Kvantizacija

Kvantizacija

Običajno so parametri teže shranjeni v 32-bitnem formatu (FP32), kar pomeni, da vsak element v matriki zavzame 32 bitov prostora. Predstavljajte si, če bi lahko iste informacije stlačili v samo 8 ali celo 4 bite. To je glavna ideja za QLoRA. Kvantizacija se nanaša na postopek preslikave zveznih neskončnih vrednosti v manjši niz diskretnih končnih vrednosti. V kontekstu LLM se nanaša na postopek pretvorbe uteži modela iz podatkovnih tipov z višjo natančnostjo v manj natančne.

Kvantizacija v LLM

Kvantizacija v LLM

Tukaj je enostavnejša razčlenitev QLoRA:

  1. Začetna kvantizacija: Prvič, Large Language Model (LLM) je kvantiziran na 4 bite, kar znatno zmanjša pomnilniški odtis.
  2. Usposabljanje LoRA: Nato se izvede usposabljanje LoRA, vendar v standardni 32-bitni natančnosti (FP32).

Zdaj se morda sprašujete, zakaj bi se vrnili na 32 bitov za usposabljanje, potem ko ste jih skrčili na 4 bite? No, za učinkovito usposabljanje adapterjev LoRA v FP32 je treba tudi uteži modela vrniti na FP32. To preklapljanje naprej in nazaj se izvede na pameten način, korak za korakom, da se izognete preobremenitvi pomnilnika GPE.

LoRA najde svojo praktično uporabo v Hugging Face Parameter Efficient Fine Tuning (PEFT) knjižnico, kar poenostavi njeno uporabo. Za tiste, ki želijo uporabljati QLoRA, je dostopen prek kombinacije bitsandbytes in knjižnice PEFT. Poleg tega HuggingFace Knjižnica Transformer Reinforcement Learning (TRL). omogoča nadzorovano natančno nastavitev z integrirano podporo za LoRA. Te tri knjižnice skupaj zagotavljajo bistven nabor orodij za natančno nastavitev izbranega vnaprej usposobljenega modela, ki omogoča generiranje prepričljivih in skladnih opisov izdelkov, ko vas pozovejo posebna navodila za atribute.

Po fini nastavitvi iz QLoRA se morajo uteži vrniti nazaj v visoko natančen format, kar lahko povzroči izgubo natančnosti in pomanjkanje optimizacije za pospešitev postopka.

Predlagana rešitev je združiti utežno matriko v manjše segmente ter uporabiti kvantizacijo in prilagoditev nizkega ranga za vsako skupino posebej. Nova metoda, imenovana QA-LoRA, poskuša združiti prednosti kvantizacije in prilagajanja nizkega ranga, hkrati pa ohranja učinkovitost postopka in učinkovitost modela za želene naloge.

zaključek

V tem članku smo se dotaknili izzivov, ki jih predstavlja njihova ogromna velikost parametrov. Poglobili smo se v tradicionalne prakse natančnega prilagajanja in z njimi povezane računalniške in finančne zahteve. Bistvo LoRA je v njegovi zmožnosti spreminjanja predhodno usposobljenih modelov, ne da bi jih v celoti ponovno usposobili, s čimer se zmanjšajo parametri, ki jih je mogoče učiti, in naredi postopek prilagajanja stroškovno učinkovitejši.

Na kratko smo se poglobili tudi v Quantized LoRA (QLoRA), mešanico LoRA in kvantizacije, ki zmanjša pomnilniški odtis modela, hkrati pa ohranja bistveno natančnost za usposabljanje. S temi naprednimi tehnikami so izvajalci zdaj opremljeni z robustnimi knjižnicami, ki olajšajo lažjo sprejetje in uvajanje LLM-jev v različnih scenarijih iz resničnega sveta.

Matrix

Matrix

Te strategije so oblikovane tako, da uravnotežijo med prilagajanjem LLM-jev za posebne naloge in zagotavljanjem, da procesi natančnega prilagajanja in uvajanja niso preveč zahtevni v smislu računalniških virov in virov za shranjevanje.

Zadnjih pet let sem se potopil v fascinanten svet strojnega in globokega učenja. Moja strast in strokovno znanje sta me pripeljala do tega, da sem prispeval k več kot 50 raznolikim projektom programskega inženiringa, s posebnim poudarkom na AI/ML. Moja nenehna radovednost me je pripeljala tudi do obdelave naravnega jezika, področja, ki ga želim nadalje raziskati.