Keď firma rozhoduje o fine-tuningu vlastného LLM, prvá otázka zvyčajne nie je "ako?" ale "máme na to HW?". Odpoveď závisí od toho, ktorú metódu zvolíte. Rozdiel medzi full fine-tuningom a QLoRA môže byť pre 7B model viac ako desaťnásobok potrebnej VRAM — čo rozhoduje o tom, či tréning prebehne na jednej RTX 4090 alebo vyžaduje prenajatý A100 klaster.
Tento článok prechádza tromi hlavnými prístupmi — LoRA, QLoRA a full fine-tuning — z pohľadu praktického nasadenia. Dostanete konkrétne čísla, rozhodovací rámec a upozornenia na situácie, kde lacnejšia metóda nestačí.
Základné pojmy pre tých, čo začínajú
Než prejdeme k číslam, krátke zakotvenie:
Full fine-tuning aktualizuje všetky váhy modelu. Pre 7B model to znamená trénovať 7 miliárd parametrov — a udržiavať v pamäti aj gradienty a optimizer states.
LoRA (Low-Rank Adaptation) zmrazí pôvodné váhy a pridá malé "adaptérové" matice s nízkou hodnosťou (rank). Tréning sa dotýka len týchto adaptérov, ktoré sú rádovo menšie ako pôvodný model.
QLoRA (Quantized LoRA) ide o krok ďalej: zmrazené váhy base modelu sa kvantizujú na 4-bit, čím sa radikálne zníži ich pamäťová stopa. LoRA adaptéry pritom zostávajú vo vyššej presnosti (BF16). Tréning prebieha na dequantizovaných hodnotách — čo prináša mierne spomalenie, ale obrovskú úsporu VRAM.
Čísla, ktoré rozhodujú: VRAM podľa metódy
Toto sú overené čísla pre dense modely (teda nie MoE architektúry ako Llama 4 alebo Qwen3, kde sú nároky výrazne vyššie kvôli načítaniu všetkých expertov):
Pre 7B model v FP16/BF16: - Full fine-tuning: ~67 GB VRAM - LoRA: ~15 GB VRAM - QLoRA 8-bit: ~9 GB VRAM - QLoRA 4-bit: ~5 GB VRAM
Pre 13B model: - Full fine-tuning: ~125 GB VRAM - LoRA: ~28 GB VRAM - QLoRA 8-bit: ~17 GB VRAM - QLoRA 4-bit: ~9 GB VRAM
Pre 70B model: - Full fine-tuning: ~672 GB VRAM — prakticky mimo dosahu pre single-node setup - LoRA: ~146 GB VRAM — minimálne 2× A100 80GB - QLoRA 8-bit: ~88 GB VRAM — jeden A100 80GB s tesnými rezervami - QLoRA 4-bit: ~46 GB VRAM — jeden A100 80GB pohodlne
Pravidlo palca pre full FT: počítajte zhruba s 10–16 GB VRAM na 1 miliardu parametrov — spodný koniec rozsahu (~10 GB, zodpovedá tabuľke vyššie) platí pri 8-bit optimizeri a gradient checkpointingu, horný (~16 GB) pri klasickom 32-bit Adame. Číslo zahŕňa optimizer states, gradienty a aktivácie.
Jeden dôležitý detail: fine-tuning potrebuje rádovo viac pamäte ako inferencia toho istého modelu. 7B model beží na inferenciu na 8 GB, ale LoRA tréning na ňom potrebuje ~15 GB. Toto je zdroj najčastejšieho prekvapenia v praxi — "veď ten model mi beží, prečo tréning havaruje?"
Kde ktorá metóda dáva zmysel
QLoRA 4-bit je štartovací bod pre každého, kto nemá dedikovaný tréningový server. 7B model v QLoRA 4-bit pohodlne beží na RTX 3090 alebo RTX 4090 (24 GB) a s gradient checkpointingom (ďalšia úspora ~30% VRAM za cenu +2% pomalšieho tréningu) zvládne aj RTX 3060 12 GB. Pre exploratory prácu, proof-of-concept a inštrukčné ladenie na malých datasetoch (tisíce príkladov) je QLoRA 4-bit rozumná voľba.
LoRA v FP16 je krok nahor v kvalite aj v nárokoch. Pre 7B model potrebujete ~15 GB — teda RTX 4090 alebo A100 40GB. Kvalita je orientačne 90–95 % full fine-tuningu. Pre väčšinu doménových úloh (klasifikácia, extrakcia, inštrukčné ladenie na firemnej dokumentácii) je LoRA FP16 optimálny kompromis.
Full fine-tuning odporúčame v troch konkrétnych prípadoch: 1. Reasoning, matematika a kódovanie, kde 5 % rozdiel v kvalite je signifikantný 2. Continual learning — sekvenčné fine-tuningy na viacerých doménach (tu má LoRA systémové slabiny, pozri nižšie) 3. Fundamentálna zmena správania modelu, nie len doménovanie
Pre firemné nasadenia v kategórii "chatbot nad vlastnou dokumentáciou" alebo "klasifikácia hlásení" je full fine-tuning zvyčajne zbytočný a drahý. Videli sme desiatky projektov, kde QLoRA alebo LoRA dosiahli požadovanú kvalitu pri zlomku nákladov.
Rozhodovací rámec v praxi
Otázky v tomto poradí vám skrátia rozhodovacie okno:
1. Aký model plánujete trénovať? Dense 7B alebo 13B: máte flexibilitu. Dense 70B: QLoRA 4-bit na A100 80GB je realistická vstupná brána. MoE modely (napr. Llama 4, Qwen3): VRAM nároky sú výrazne vyššie ako aktívne parametre napovedajú — overujte konkrétne čísla pre každý model pred plánovaním HW.
2. Aký máte cieľ? Inštrukčné ladenie, doménovanie, zmena tónu → LoRA alebo QLoRA. Reasoning, kódovanie, math → zvažujte full FT alebo aspoň vyšší rank LoRA + DoRA. Sekvenčný continual learning → full FT (LoRA tu má preukázané problémy).
3. Máte dostatok dát? Pre supervised fine-tuning (SFT) sú odporúčaným minimom tisíce kvalitných príkladov — pokiaľ ide o pokrytie hlavných tém domény. Tréning na nedostatočných dátach vyrobí model, ktorý confidently odpovedá z medzier. To je horší výsledok ako base model, ktorý vie povedať "neviem". Pred tréningom je data quality gate dôležitejší ako voľba metódy.
4. Aký je plán nasadenia?
QLoRA 4-bit sa používa počas tréningu, nie v produkcii. Po tréningu sa adaptér merguje do base modelu a nasadí v normálnej presnosti (BF16/FP16) — alebo sa znova kvantizuje pre produkčný serving (GGUF pre llama.cpp, AWQ/GPTQ pre vLLM). "QLoRA production model" je misnomer, na ktorý narazíte v dokumentácii aj v projektových plánoch.
LoRA hyperparametre: kde je priestor na optimalizáciu
Rank (r) je hlavná páka. Vyšší rank = viac trénovateľných parametrov = potenciálne lepšia kvalita, ale aj viac pamäte a riziko overfittingu pri malých datasetoch.
Overené odporúčania:
- rank=4 až rank=8: jednoduché úlohy (klasifikácia, šablónové odpovede), malé datasety
- rank=16 až rank=32: komplexnejšie inštrukčné ladenie, doménovanie
- rank=64 a vyššie: len keď máte veľké dáta a HW rezervu; vyšší rank tiež zvyšuje riziko "intruder dimensions" (pozri nižšie)
Alpha (α) sa štandardne nastavuje rovnako ako rank, alebo na 2× rank. Pre rsLoRA variantu je teoreticky podložená hodnota α/√r.
Target modules: odporúčame trénovať na all-linear vrstvách — q_proj, k_proj, v_proj, o_proj plus gate_proj, up_proj, down_proj. Obmedzenie na len attention vrstvy je starší pattern z roku 2023, ktorý nové frameworky prekonali.
DoRA a ďalšie PEFT varianty
DoRA (Weight-Decomposed LoRA) rozkladá weight update na magnitude a smer. V praxi uzatvára ~polovicu kvalitatívnej medzery medzi LoRA a full FT pri overhead len +5–10 % VRAM. Dostupná v PEFT knižnici, Unsloth aj Axolotl. Pre projekty, kde LoRA nestačí ale full FT je cenovo mimo, je DoRA prirodzený nasledujúci krok.
GaLore optimalizuje tréning priamo v gradientovom priestore s nízkou hodnosťou — bez explicitnej adaptérovej matice. Výsledky sú porovnateľné s full FT pri výrazne nižšej pamäti, ale nasadenie je technicky náročnejšie.
Pre bežné firemné projekty odporúčame: začnite s LoRA alebo QLoRA, ak nestačí, skúste DoRA pred tým než preskočíte na full FT.
Čo vieme o kvalite: intruder dimensions
Výskumná práca „LoRA vs Full Fine-tuning: An Illusion of Equivalence" (2024) priniesla dôležité upozornenie: LoRA a full FT dosahujú povrchovo podobné výsledky, ale iným mechanizmom.
LoRA vytvára tzv. "intruder dimensions" — nové high-ranking singulárne vektory, ktoré v base modeli neexistujú. Tieto interferujú s pôvodným reprezentačným priestorom, čo sa prejavuje pri continual learning — teda keď model trénujete sekvenčne na viacerých doménach. LoRA v tomto scenári vykazuje výraznejšie katastrofické zabudnutie ako full FT.
Pre jednorazový fine-tuning na jednej doméne (čo je 90 % firemných prípadov) je toto obmedzenie prakticky irelevantné. Ak ale plánujete model priebežne dolaďovať na nových dátach alebo nových doménach, full FT alebo continual learning s replay buffrom je bezpečnejší prístup.
Súvisiaci článok: SFT, DPO, GRPO — ktorá metóda kedy
Frameworky v roku 2026
Štyri hlavné nástroje pokrývajú celý stack a navzájom si konkurujú v detailoch:
`Unsloth` je najrýchlejší single-GPU framework — 2–5× rýchlejší ako štandardný HuggingFace pipeline pri ~70 % úspore VRAM oproti plnému fine-tuningu. Triton-fused kernels, gradient checkpointing ako default, podpora pre Qwen3, Llama 4 a MoE architektúry. Open-source pre single-GPU; multi-GPU distribuovaný tréning je za Unsloth Pro subscripciou.
`TRL` od HuggingFace je štandard pre alignment metódy — SFT, DPO, GRPO, ORPO v jednej knižnici. Dobre zdokumentovaný, integrovaný do Transformers ekosystému.
`Axolotl` je YAML-driven production pipeline — vhodný pri škálovaní na viacero GPU a pri komplexnejších pipelines (QAT, sequence parallelism, reward modeling). Pre projekty, kde treba opakovateľný, verzionovaný tréningový setup.
`LLaMA-Factory` kombinuje GUI aj CLI a podporuje najširšiu paletu modelov — vhodný pre tímy, kde tréning nespúšťajú len ML inžinieri.
Praktická voľba: pre interný proof-of-concept začnite s Unsloth (najnižší barrier-to-entry, rýchlosť). Pre produkčný pipeline so škálovaním zvážte Axolotl. Pre alignment experimenty (DPO/GRPO) siahnite po TRL.
Viac o evaluácii výsledkov: Ako zmerať, či fine-tuning pomohol
Čo robiť s natrénovaným adaptérom
LoRA adaptér je malý súbor (typicky jednotky až desiatky MB), ktorý sa dá zdieľať a verzionovať nezávisle od base modelu. Pre nasadenie máte dve možnosti:
Merge do base modelu: peft.merge_and_unload() zlúči adaptérové matice s pôvodnými váhami. Výsledok je plnohodnotný model bez runtime overhead. Odporúčané pre produkciu.
Runtime loading: adaptér sa načítava dynamicky pri inferencii. Flexibilné pri experimentiní (viac adaptérov pre rovnaký base model), ale pridáva latency.
Po merge môžete model kvantizovať pre efektívnejší serving — GGUF pre llama.cpp a Ollama, AWQ alebo GPTQ pre vLLM. Toto je štandardný produkčný flow: tréning v QLoRA 4-bit → merge adaptéra → kvantizácia pre serving.
Súvisiace témy: Kvantizácia LLM (GGUF, AWQ, GPTQ) a Malý fine-tuned vs veľký base model
Časté otázky
Je QLoRA len lacnejšia verzia LoRA? Nie celkom. QLoRA kvantizuje zmrazené váhy base modelu na 4-bit, kým LoRA adaptéry zostávajú v BF16. Mechanizmus je odlišný a tréning je ~20–30 % pomalší kvôli dequantizačnému overhead. QLoRA nie je zadarmo — je to trade-off medzi VRAM a rýchlosťou, nie len zľava na kvalite.
Môžem QLoRA 4-bit model priamo nasadiť do produkcie? Nie priamo. QLoRA 4-bit popis sa vzťahuje na tréningový proces, nie na produkčný model. Po tréningu sa adaptér merguje do base modelu a nasadzuje v štandardnej presnosti, prípadne znova kvantizovaný pre efektívny serving (GGUF, AWQ). "QLoRA production model" je misnomer.
Prečo full fine-tuning potrebuje toľko VRAM oproti inferencii? Pretože tréning udržiava v pamäti oveľa viac ako len váhy: gradienty (rovnaká veľkosť ako váhy), optimizer states (pri Adame 2× váhy navyše) a aktivácie pre backpropagation. 7B model na inferenciu beží v 8 GB, LoRA tréning na ňom potrebuje ~15 GB, full FT ~67 GB.
Kedy LoRA nestačí a treba full fine-tuning? V troch prípadoch: (1) reasoning, matematika, kódovanie — kde 5 % rozdiel v kvalite je signifikantný, (2) continual learning so sekvenčnými fine-tuningami na viacerých doménach (LoRA tu vykazuje vyššie katastrofické zabudnutie), (3) fundamentálna zmena správania modelu nad rámec doménovania.
Znamená vyšší rank LoRA vždy lepší výsledok?
Nie automaticky. Vyšší rank zvyšuje pamäť a čas tréningu, ale pri malých datasetoch skôr zvyšuje riziko overfittingu. Vyšší rank tiež produkuje viac "intruder dimensions", čo môže zvyšovať katastrofické zabudnutie. Pre inštrukčné ladenie je rank=16 alebo rank=32 zvyčajne dostatočný.
Záver
*Voľba medzi LoRA, QLoRA a full fine-tuningom je v prvom rade HW rozhodnutie — a až v druhom rade otázka kvality. Pre drvivú väčšinu firemných prípadov (doménové chatboty, klasifikácia, extrakcia z dokumentov) LoRA alebo QLoRA dosiahnu požadovanú kvalitu pri zlomku nákladov. Full fine-tuning rezervujte pre situácie, kde na tých piatich percentách skutočne záleží. V MP Industrial Solutions pomáhame firmám urobiť túto voľbu na základe konkrétnych dát — od analýzy datasetu cez výber HW až po nasadenie. Ak zvažujete prvý fine-tuning alebo chcete preveriť, či váš súčasný setup dáva zmysel, radi sa pozrieme na váš prípad.*
