Low-Rank Adaptation (LoRA) (RO)
Low-Rank Adaptation (LoRA) — este o metodă de fine-tuning eficientă din punct de vedere parametric (PEFT), care permite adaptarea modelelor lingvistice mari (LLM) la sarcini noi cu costuri computaționale minime. Tehnologia a fost prezentată pentru prima dată în lucrarea lui Edward Hu și a colegilor săi în 2021[1].
Fine-tuning-ul complet (full fine-tuning) al modelelor mari, precum LLaMA sau GPT, necesită resurse imense, ceea ce îl face inaccesibil pentru majoritatea cercetătorilor și dezvoltatorilor. LoRA rezolvă această problemă, permițând antrenarea doar a unei mici părți din parametrii modelului, menținând în același timp o calitate și performanță ridicate, comparabile cu fine-tuning-ul complet[2].
Principiul de funcționare
Ideea principală a LoRA constă în faptul că nu se modifică ponderile originale ale modelului preantrenat, ci se adaugă la acestea o mică matrice „corectivă". În loc să antreneze direct o matrice de ponderi uriașă `W`, LoRA reprezintă modificarea acesteia ca produsul a două matrice mici de rang redus.
Formal, dacă matricea originală de ponderi a stratului `W_0` are dimensiunea `d × k`, actualizarea sa este reprezentată ca `ΔW = BA`, unde `B` este o matrice de dimensiune `d × r`, iar `A` este o matrice de dimensiune `r × k`. Rangul `r` este un hiperparametru și este semnificativ mai mic (`r << d, k`). În procesul de fine-tuning, ponderile originale `W_0` sunt înghețate, iar doar matricele `A` și `B` sunt antrenate. Matricea de ponderi finală se calculează ca `W = W_0 + BA`.
Aceasta permite reducerea numărului de parametri antrenabili de mii de ori. De exemplu, la fine-tuning-ul GPT-3 (175 de miliarde de parametri), LoRA reduce numărul de parametri antrenabili de 10 000 de ori și scade cerințele de memorie GPU de 3 ori[1].
Avantaje cheie
- Economie de resurse: Numărul de parametri antrenabili scade drastic (până la 90% și mai mult), ceea ce reduce semnificativ consumul de memorie video (VRAM) și accelerează procesul de antrenare.
- Absența latenței la inferență (inference): După antrenare, matricele `B` și `A` pot fi „îmbinate" cu matricea principală `W_0`, calculând `W = W_0 + BA`. Astfel, în timpul utilizării modelului nu se adaugă niciun calcul suplimentar sau latență[1].
- Modularitate și schimbare rapidă a sarcinilor: Adaptoarele LoRA antrenate reprezintă fișiere mici (câțiva megabyți). Aceasta permite stocarea ușoară a zeci de adaptoare pentru diferite sarcini și comutarea rapidă între ele, fără a modifica modelul de bază[3].
Limitări și modificări
Deși LoRA este foarte eficientă, natura sa de rang redus poate constitui o limitare pentru sarcinile care necesită memorarea unui volum mare de informații noi. Pentru rezolvarea acestei și a altor probleme au fost propuse diverse modificări.
QLoRA
QLoRA (Quantized Low-Rank Adaptation) — una dintre cele mai populare modificări, propusă în 2023. Aceasta combină LoRA cu cuantizarea pe 4 biți a modelului de bază[4]. Acest lucru permite reducerea și mai mare a cerințelor de memorie, făcând posibil fine-tuning-ul modelelor cu zeci de miliarde de parametri (de exemplu, modele de 65B) pe un singur GPU de consum. Pe baza QLoRA a fost creat, în special, modelul Guanaco, care a demonstrat rezultate comparabile cu ChatGPT.
Alte modificări
- MoRA (High-Rank Updating): Propusă pentru sarcinile în care LoRA prezintă performanțe insuficiente din cauza limitării de rang. MoRA utilizează metode care permit actualizarea ponderilor cu rang ridicat, menținând în același timp eficiența parametrică[5].
Implementare și aplicare
Tehnologia LoRA s-a răspândit pe scară largă datorită eficienței și ușurinței de integrare. Un rol cheie în popularizarea sa l-a jucat biblioteca PEFT (Parameter-Efficient Fine-Tuning) de la compania Hugging Face. PEFT oferă o interfață unificată pentru aplicarea LoRA și a altor metode PEFT la modelele din ecosistemul Transformers[6].
LoRA este utilizată activ pentru:
- Adaptarea chatbot-urilor și a sistemelor de dialog (de exemplu, fine-tuning pentru LLaMA, Mistral).
- Crearea de modele pentru clasificarea și generarea de text în domenii înalt specializate.
- Personalizarea modelelor pentru un anumit stil sau format de date.
Referințe
- Documentația oficială a bibliotecii PEFT de la Hugging Face
Bibliografie
- Hu, E.J. et al. (2021). LoRA: Low-Rank Adaptation of Large Language Models. arXiv:2106.09685.
- Dettmers, T. et al. (2023). QLoRA: Efficient Finetuning of Quantized LLMs. arXiv:2305.14314.
- Zhang, Q. et al. (2023). AdaLoRA: Adaptive Budget Allocation for Parameter-Efficient Fine-Tuning. arXiv:2303.10512.
- Chen, Y. et al. (2023). LongLoRA: Efficient Fine-Tuning of Long-Context Large Language Models. arXiv:2309.12307.
- Mao, K. et al. (2024). A Survey on LoRA of Large Language Models. arXiv:2407.11046.
- Jiang, T. et al. (2024). MoRA: High-Rank Updating for Parameter-Efficient Fine-Tuning. arXiv:2405.12130.
- Liu, Z. et al. (2024). ALoRA: Allocating Low-Rank Adaptation for Fine-Tuning Large Language Models. arXiv:2403.16187.
- Liu, J. et al. (2025). RoRA: Efficient Fine-Tuning of LLM with Reliability Optimization for Rank Adaptation. arXiv:2501.04315.
- Albert, P. et al. (2025). RandLoRA: Full-Rank Parameter-Efficient Fine-Tuning of Large Models. arXiv:2502.00987.
- Tastan, N. et al. (2025). LoFT: Low-Rank Adaptation That Behaves Like Full Fine-Tuning. arXiv:2505.21289.
Note
- ↑ 1.0 1.1 1.2 Hu, E.J., et al. «LoRA: Low-Rank Adaptation of Large Language Models». arXiv:2106.09685. [1]
- ↑ Mao, K., et al. «A Survey on LoRA of Large Language Models». arXiv:2407.11046. [2]
- ↑ Noble, Joshua. «What is LoRA (Low-Rank Adaption)?». IBM Technology. [3]
- ↑ Dettmers, T., et al. «QLoRA: Efficient Finetuning of Quantized LLMs». arXiv:2305.14314. [4]
- ↑ Jiang, Z., et al. «MoRA: High-Rank Updating for Parameter-Efficient Fine-Tuning». arXiv:2405.12130. [5]
- ↑ «LoRA (Low-Rank Adaptation)». Hugging Face LLM Course. [6]