LoRA (Low-Rank Adaptation)

LoRA (Low-Rank Adaptation) je technika, ako doladiť veľký model na konkrétnu úlohu tak, že necháš pôvodné váhy „zamrznuté“ a učíš len malé doplnkové vrstvy — výsledkom je lacnejší a praktickejší fine-tuning.

1. Čo to je (definícia + analógia)

  • Jadro: namiesto úpravy miliónov/miliárd parametrov trénuješ malé „adaptéry“, ktoré modelu jemne zmenia správanie.

  • Analógia s okuliarmi: oči (základný model) necháš rovnaké, ale pridáš šošovky (LoRA), ktoré zmenia, ako vidíš detail pre konkrétnu situáciu.

  • Prečo low-rank: zmena správania sa dá často vystihnúť „menšou“ úpravou než plnou maticou váh.

  • Kde sa s tým stretneš: pri prispôsobovaní open-source modelov alebo pri generovaní obrázkov/štýlov, kde sa LoRA používa ako „balíček štýlu“.


2. Ako to funguje

  • Zmrazenie základného modelu: pôvodné váhy sa nemenia, čo znižuje riziko, že „rozbiješ“ všeobecné schopnosti.

  • Pridanie adaptérov: do vybraných vrstiev sa vložia malé trénovateľné matrice.

  • Tréning len adaptérov: učíš menej parametrov, takže:

    • Rýchlejšie trénuješ,

    • potrebuješ menej pamäte,

    • vieš spraviť viac variantov.

  • Použitie v inferencii: LoRA môže byť:

    • Pripojená dynamicky (zapnúť/vypnúť podľa potreby),

    • alebo zliata do váh (podľa implementácie a použitia).

  • Praktický detail: kvalita závisí od toho, kam adaptér vložíš a akú „kapacitu“ (rank) mu dáš.


3. Prečo je to dôležité / kde sa to používa

  • Personalizácia bez obrovských nákladov: firmy aj jednotlivci vedia mať vlastné verzie modelu pre:

    • špecifický štýl komunikácie (support, interné odpovede),

    • doménu (práca s internými dokumentmi, technická terminológia),

    • formát (šablóny, JSON výstupy, konzistentné štruktúry).

  • Ekosystém „malých doplnkov“: namiesto jedného monolitického modelu vzniká knižnica LoRA modulov:

    • rôzne štýly, rôzne úlohy, rôzne jazyky.
  • Experimentovanie: vieš rýchlo porovnať, ktorý adaptér funguje lepšie, bez pretrénovania všetkého.


4. Výhody a obmedzenia

Prístup Výhoda Kedy zlyháva
LoRA Lacný fine-tuning, malé súbory, rýchle iterácie Keď potrebuješ hlbokú zmenu správania naprieč celým modelom
Plný fine-tuning Maximálna flexibilita Drahý, riziko „zabudnutia“ (catastrophic forgetting)
Len promptovanie Nula tréningu, rýchle nasadenie Keď chceš stabilný štýl a prompt je príliš krehký
  • Obmedzená kapacita: malý adaptér nemusí stačiť na komplexnú doménu.

  • Konflikty medzi adaptérmi: viac LoRA naraz môže viesť k nečakanému miešaniu štýlov.

  • Kvalita dát: LoRA ti neodpustí zlé príklady — ak trénuješ na chaotických dátach, dostaneš chaotické správanie.


5. Praktické použitie

  • Pre bežného používateľa: ak používaš nástroje, ktoré ponúkajú „štýlové balíčky“ alebo doménové doplnky, často ide práve o LoRA alebo podobný adaptér.

  • Pre tím, ktorý chce vlastný štýl: LoRA je dobrá voľba, keď chceš:

    • konzistentný tón (napr. stručné odpovede, vždy s bodmi),

    • dodržiavanie formátu (napr. JSON štruktúry),

    • doménové frázy (produktové názvy, interné skratky).

  • Tipy, ktoré šetria nervy:

    • Verzionovanie: označ si, na akých dátach a s akými nastaveniami LoRA vznikla.

    • Test set: maj sadu 30–100 otázok, na ktorých vždy porovnáš starú a novú verziu.

    • Jasné ciele: trénuj na jednu vec (štýl, doména, formát) — miešanie cieľov bez kontroly sa rýchlo pokazí.

  • Kedy to nepoužiť: ak je problém skôr v chýbajúcich informáciách než v správaní, často viac pomôže RAG (pripojenie znalostí) než LoRA.


Zhrnutie

  • LoRA umožní doladiť model tým, že trénuješ malé adaptéry namiesto celých váh.

  • Výhoda je nízka cena, rýchlosť a modularita — vieš mať viac špecializovaných variantov.

  • Limity sú kapacita adaptéra, možné konflikty a veľká závislosť od kvality tréningových dát.

  • V praxi je to ideálne na štýl, formát a doménové doladenie bez extrémnych nákladov.

  • Čo robí: Namiesto úprav všetkých váh modelu pridá malé trénovateľné „adaptéry“ (nízko-rankové matice) do vybraných vrstiev. Trénuješ iba tieto malé prídavné parametre.

  • Prečo „low-rank“: Zmena váh sa aproximuje ako súčin dvoch menších matíc (rank r), takže počet trénovaných parametrov je výrazne menší.

  • Výhody:

    • lacnejšie a rýchlejšie trénovanie (menej VRAM, menej času),

    • vieš mať viac rôznych LoRA pre jeden základný model (štýl, doména, persona…) a len ich prepínať,

    • základný model ostáva nezmenený (dobré na správu verzií).

  • Nevýhody / limity:

    • ak chceš veľkú „zmenu správania“ alebo nové schopnosti, LoRA nemusí stačiť (závisí od dát a ranku),

    • pri zlom datasete vie LoRA ľahko „prestreliť“ (overfit, nežiaduce stereotypy/artefakty).

  • Kde sa používa:

    • LLM: doménové doladenie (napr. právo, medicína), firemný štýl odpovedí, špecifické úlohy,

    • Stable Diffusion a pod.: štýly, postavy, produkty, vizuálne „módy“.

  • Ako sa nasadzuje v praxi: máš base model + LoRA checkpoint (malý súbor). Pri inferencii sa LoRA „primieša“ do vrstiev s nastaviteľnou silou (weight/alpha).