Low-Rank Adaptation (LoRA) (NL)
Low-Rank Adaptation (LoRA) — is een methode voor parameterefficiënt fine-tunen (PEFT) waarmee grote taalmodellen (LLM's) met minimale rekenkosten aan nieuwe taken kunnen worden aangepast. De technologie werd voor het eerst gepresenteerd in het werk van Edward Hu en zijn collega's in 2021[1].
Volledig fine-tunen (full fine-tuning) van grote modellen zoals LLaMA of GPT vereist enorme middelen, waardoor het voor de meeste onderzoekers en ontwikkelaars ontoegankelijk is. LoRA lost dit probleem op door slechts een klein deel van de modelparameters te fine-tunen, met behoud van hoge kwaliteit en prestaties die vergelijkbaar zijn met volledig fine-tunen[2].
Werkingsprincipe
Het basisidee van LoRA is om de oorspronkelijke gewichten van het voorgetrainde model niet te wijzigen, maar er een kleine "correctiematrix" aan toe te voegen. In plaats van de enorme gewichtenmatrix `W` rechtstreeks te trainen, stelt LoRA de wijziging ervan voor als het product van twee kleine matrices met een lage rang.
Formeel geldt: als de oorspronkelijke gewichtenmatrix van een laag `W_0` de dimensie `d × k` heeft, wordt de update weergegeven als `ΔW = BA`, waarbij `B` een matrix is met dimensie `d × r` en `A` een matrix met dimensie `r × k`. De rang `r` is een hyperparameter en is aanzienlijk kleiner (`r << d, k`). Tijdens het fine-tunen worden de oorspronkelijke gewichten `W_0` bevroren en worden alleen de matrices `A` en `B` getraind. De resulterende gewichtenmatrix wordt berekend als `W = W_0 + BA`.
Hierdoor kan het aantal trainbare parameters duizenden keren worden verminderd. Zo vermindert LoRA bij het fine-tunen van GPT-3 (175 miljard parameters) het aantal trainbare parameters 10.000 keer en verlaagt het de vereisten voor GPU-geheugen met een factor 3[1].
Belangrijkste voordelen
- Besparing van middelen: Het aantal trainbare parameters wordt sterk verminderd (tot 90% of meer), wat het verbruik van videogeheugen (VRAM) aanzienlijk verlaagt en het trainingsproces versnelt.
- Geen vertraging tijdens inferentie (inference): Na het trainen kunnen de matrices `B` en `A` worden "samengevoegd" met de hoofdmatrix `W_0` door `W = W_0 + BA` te berekenen. Tijdens het gebruik van het model worden er dus geen extra berekeningen of vertragingen toegevoegd[1].
- Modulariteit en snelle taakoverschakeling: Getrainde LoRA-adapters zijn kleine bestanden (enkele megabytes). Hierdoor is het eenvoudig om tientallen adapters voor verschillende taken op te slaan en er snel tussen te wisselen zonder het basismodel te wijzigen[3].
Beperkingen en modificaties
Hoewel LoRA zeer effectief is, kan de lage-rang-eigenschap een beperking vormen voor taken die het onthouden van grote hoeveelheden nieuwe informatie vereisen. Om dit en andere problemen op te lossen zijn er verschillende modificaties voorgesteld.
QLoRA
QLoRA (Quantized Low-Rank Adaptation) — een van de populairste modificaties, voorgesteld in 2023. Het combineert LoRA met 4-bits kwantisering van het basismodel[4]. Hierdoor worden de geheugenvereisten nog verder verlaagd, waardoor het fine-tunen van modellen met tientallen miljarden parameters (bijv. 65B-modellen) op één consumenten-GPU mogelijk wordt. Op basis van QLoRA werd onder andere het model Guanaco ontwikkeld, dat resultaten behaalde die vergelijkbaar zijn met ChatGPT.
Andere modificaties
- MoRA (High-Rank Updating): Voorgesteld voor taken waarbij LoRA onvoldoende prestaties levert vanwege de rangbeperking. MoRA maakt gebruik van methoden waarmee gewichten met een hoge rang kunnen worden bijgewerkt, met behoud van parameterefficiëntie[5].
Implementatie en toepassing
De LoRA-technologie heeft brede verspreiding gekregen dankzij haar efficiëntie en eenvoudige integratie. De bibliotheek PEFT (Parameter-Efficient Fine-Tuning) van het bedrijf Hugging Face heeft een sleutelrol gespeeld in de popularisering ervan. PEFT biedt een uniforme interface voor het toepassen van LoRA en andere PEFT-methoden op modellen uit het Transformers-ecosysteem[6].
LoRA wordt actief gebruikt voor:
- Het aanpassen van chatbots en dialoogsystemen (bijv. fine-tunen van LLaMA, Mistral).
- Het ontwikkelen van modellen voor tekstclassificatie en tekstgeneratie in sterk gespecialiseerde vakgebieden.
- Het personaliseren van modellen voor een specifieke stijl of gegevensindeling.
Verwijzingen
- Officiële documentatie van de PEFT-bibliotheek van Hugging Face
Literatuur
- 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.
Noten
- ↑ 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]