Ga naar de hoofdinhoud
BVDNET
Arnhem · websites & automatiseringBVDNET
Modellen & Architectuur

LoRA (low-rank adaptation)

LoRA is een goedkope manier om een AI-model bij te trainen: het model zelf blijft ongewijzigd en je traint een kleine adapter die het afstemt op jouw taak.

Ook bekend als: low-rank adaptation, LoRA fine-tuning, LoRA-adapter, QLoRA

LoRA (low-rank adaptation) is een goedkope manier om een bestaand AI-model verder te trainen op je eigen voorbeelden. Het model zelf blijft onaangeroerd: LoRA traint een kleine aanvulling, een adapter, die het gedrag van het model bijstuurt. De adapter is een klein, apart bestand. Daardoor is het betaalbaar om één model per taak of per klant een eigen adapter te geven, bijvoorbeeld één voor de huisstijl van elke klant.

Hoe werkt het?

Gewone fine-tuning past elk gewicht van een model aan. LoRA, in 2021 geïntroduceerd door Hu e.a., bevriest de oorspronkelijke gewichten en telt bij een gewichtsmatrix W een update op die bestaat uit twee smalle matrices, B en A: de laag gebruikt dan W + BA. Meet W d × k, dan meet B d × r en A r × k, met een rang r die veel kleiner is dan d en k. Alleen A en B worden getraind. B begint op nul, zodat het model zich aan het begin precies zo gedraagt als het origineel.

Bij grote modellen is de besparing groot. De gewichtsmatrices van GPT-3 175B zijn 12.288 breed, en toch was een rang van 1 of 2 genoeg voor een deel van de taken in het artikel. Vergeleken met volledige fine-tuning van GPT-3 trainde LoRA 10.000 keer minder parameters, daalde het GPU-geheugen tijdens de training van 1,2 TB naar 350 GB en ging de training 25% sneller. Op RoBERTa, DeBERTa, GPT-2 en GPT-3 was de kwaliteit gelijk aan of beter dan bij volledige fine-tuning. Na de training kun je BA bij W optellen, zodat het model even snel antwoordt als voorheen. LoRA hoort bij de PEFT-methoden (parameter-efficient fine-tuning).

Waarom adapters?

  • Ze zijn klein. Voor GPT-3 175B met rang 4 op de query- en value-matrices van de attention-lagen krimpt een checkpoint van 350 GB naar 35 MB. Het artikel rekent voor dat 100 aangepaste modellen dan ongeveer 354 GB innemen in plaats van 35 TB.
  • Eén basismodel kan veel adapters bedienen. Samengevoegde adapters maken het lastig om verzoeken voor verschillende taken samen te verwerken, dus servingsystemen houden ze apart: S-LoRA (Sheng e.a., 2023) bedient duizenden adapters op één of meer GPU's.
  • Leveranciers brengen functies zo uit. In maart 2026 bracht IBM Granite 4.0 3B Vision uit als LoRA-adapter bovenop zijn taalmodel Granite 4.0 Micro, zodat dezelfde installatie zowel taken met afbeeldingen als taken met alleen tekst afhandelt (IBM).
  • Ze gaan samen met kwantisatie. QLoRA (Dettmers e.a., 2023) traint de adapters bovenop een 4-bitmodel. Het fine-tunen van een model van 65B heeft dan minder dan 48 GB GPU-geheugen nodig in plaats van meer dan 780 GB, en een model van 33B traint op één consumenten-GPU.

Is LoRA even goed als volledige fine-tuning?

Niet altijd. Biderman e.a. (2024) trainden op programmeren en wiskunde, met ongeveer 100.000 instructievoorbeelden of 20 miljard tokens extra pre-training. Met de gebruikelijke lage rangen leerde LoRA duidelijk minder dan volledige fine-tuning, maar behield het meer van wat het basismodel buiten die domeinen kon (minder catastrophic forgetting).

Thinking Machines (september 2025) vond dat LoRA even goed presteerde als volledige fine-tuning op kleine en middelgrote datasets met instructies en redeneertaken, en bij reinforcement learning zelfs met kleine rangen. Het werkte het best op alle gewichtsmatrices, vooral de MLP- en mixture-of-experts-lagen; LoRA op alleen de attention-matrices deed het slechter. De beste learning rate lag ongeveer 10 keer hoger dan bij volledige fine-tuning. De PEFT-bibliotheek van Hugging Face zet LoRA standaard op de query- en value-matrices, en met target_modules="all-linear" op alle lineaire lagen.

Voorbeeld

Stel: een webbureau schrijft productteksten voor twintig webshops, elk met een eigen huisstijl. Het traint per webshop één LoRA-adapter op de goedgekeurde teksten van die shop, allemaal op hetzelfde open basismodel. Met de cijfers uit het artikel voor een model zo groot als GPT-3 nemen twintig adapters 20 × 35 MB = 700 MB in, waar twintig volledig gefinetunede kopieën 20 × 350 GB = 7 TB zouden innemen. De server houdt het basismodel in het geheugen en gebruikt per verzoek de juiste adapter.