Supervised Fine-Tuning (SFT): Ako naučiť jazykový model počúvať
SFT je technika, ktorá premieňa „surové" jazykové modely na asistentov schopných sledovať inštrukcie — prvý a nevyhnutný krok pred RLHF alebo DPO v každom modernom AI asistentovi.
1. Čo je Supervised Fine-Tuning a prečo existuje?
Základné pretrénované jazykové modely (tzv. base models) sú trénované na obrovských korpusoch textu s jediným cieľom: predpovedať nasledujúci token. Výsledok je model, ktorý dokáže plynulo dopĺňať text, ale nevie „odpovedať na otázky" ani „plniť úlohy" — jednoducho pokračuje v texte podľa štatistických vzorov.
Supervised Fine-Tuning (SFT) rieši tento problém. Pomocou kurátorovaných párov inštrukcia–odpoveď model naučíme, čo znamená byť asistentom:
- Dostane inštrukciu: „Preložte nasledujúci text do angličtiny."
- Naučí sa produkovať očakávanú odpoveď: „Here is the translation: ..."
SFT tvorí prvú vrstvu v klasickom tréningovom pipeline moderných modelov: Pretraining → SFT → RLHF / DPO. Bez SFT by RLHF nedávalo zmysel — model by nemal základný formát odpovede, na ktorom by ľudskí hodnotitelia mohli spätne hodnotiť.
Kľúčové vlastnosti SFT:
- Používa štandardný supervised learning (cross-entropy loss)
- Tréning na dvojiciach (prompt, ideálna odpoveď)
- Rýchlejší a lacnejší než RLHF alebo pretraining
- Základný predpoklad pre všetky ďalšie alignment techniky
2. Ako SFT funguje technicky?
Proces pozostáva z troch fáz.
a) Príprava datasetu
SFT dataset je zbierka dvojíc { inštrukcia, odpoveď }. Každý príklad môže obsahovať aj systémový prompt. Kvalita je kritickejšia ako kvantita — 10 000 starostlivo vybraných príkladov prekoná 100 000 náhodných.
Zdroje dát:
- Ľudskí anotátori (najdrahšie, najkvalitnejšie)
- Syntetické dáta generované iným AI modelom (lacné, škálovateľné)
- Filtrácia z verejných datasetov (napr. OpenAssistant, Dolly)
b) Tréningový proces Model dostane celú konverzáciu (systémový prompt + inštrukcia + odpoveď) a trénuje sa minimalizovať cross-entropy loss výlučne na tokenoch odpovede — nie na vstupnej inštrukcii. Toto zabezpečuje, že model sa učí generovať odpovede, nie papouškovať vstup.
Loss = −Σ log P(tokenᵢ | kontext) pre i ∈ tokeny odpovede
c) Hyperparametre
- Nízky learning rate (1e-5 až 5e-5) — zabraňuje „zabudnutiu" pretrénovaných znalostí
- Malý počet epoch (1–3) — viac epoch vedie k overfittingu
- Gradient checkpointing pre efektívne využitie GPU pamäte
3. SFT vs. príbuzné tréningové techniky
| Technika | Čo optimalizuje | Typ dát | Relatívne náklady | Typické použitie |
|---|---|---|---|---|
| SFT | Predikciu tokenov | Prompt–odpoveď páry | Nízke | Základný formát asistenta |
| RLHF | Ľudskú preferenciu | Porovnania odpovedí | Vysoké | Nuansované hodnotenie kvality |
| DPO | Priamu preferenciu | Zvolená vs. odmietnutá odpoveď | Stredné | Alternatíva k RLHF bez reward modelu |
| LoRA | Efektívnu adaptáciu | Čokoľvek + redukcia pamäte | Veľmi nízke | Fine-tuning na spotrebiteľskom HW |
| Pretraining | Jazykovú modelizáciu | Surový text (trilióny tokenov) | Extrémne vysoké | Tvorba base modelu od nuly |
SFT a LoRA sa bežne kombinujú: LoRA redukuje pamäťové nároky SFT, čím umožňuje fine-tuning veľkých modelov aj na bežnom hardvéri. Táto kombinácia sa dnes považuje za štandardný postup pri domácich experimentoch.
4. Praktické použitie — kedy a ako
Kedy siahnuť po SFT:
- Chcete model špecializovať na konkrétnu doménu (medicína, právo, kódovanie)
- Potrebujete konzistentný formát výstupu (JSON, tabuľky, reporty)
- Máte k dispozícii interné dáta, ktoré nie sú v žiadnom verejnom datasete
- Chcete zmeniť tón alebo štýl komunikácie modelu (on-brand asistent)
Reálne príklady:
- Medicínsky asistent — SFT na databáze klinických prípadov naučí model správne formulovať diferenciálne diagnózy bez halucinácií typických pre všeobecné modely.
- Zákaznícka podpora — SFT na histórii úspešných konverzácií vytvorí chatbota, ktorý komunikuje v tóne a štýle konkrétnej firmy.
- Právne dokumenty — SFT na vzoroch zmlúv produkuje právnicky presnú terminológiu a štruktúru.
- Kódovanie — SFT na repozitároch s komentármi zlepší schopnosť generovania kódu v internom frameworku alebo so špecifickými konvenciami.
Nástroje pre SFT v praxi:
- Hugging Face TRL — populárna knižnica s triedou
SFTTrainer, integrovanou podporou LoRA a PEFT - Axolotl — konfigurácia cez YAML, ideálne pre rýchle experimenty bez písania kódu
- LLaMA-Factory — webové rozhranie aj CLI, vhodné pre tímy bez hlbokej ML expertízy
- Unsloth — optimalizovaný pre rýchlosť a nízku spotrebu pamäte, populárny pri menších modeloch
5. Limity, riziká a čo treba sledovať
Catastrophic forgetting Agresívny fine-tuning môže prepísať znalosti naučené počas pretréningu. Model začne odpovedať dobre na tréningových príkladoch, no stratí všeobecné schopnosti (napr. prestane vedieť riešiť matematiku). Riešenie: veľmi nízky learning rate, regularizácia, technika elastic weight consolidation.
Overfitting na formát Model sa naučí napodobňovať povrchné vzory tréningových dát — napríklad vždy začínať odpoveď frázou „Samozrejme!" — namiesto skutočného porozumenia zadania. Príčina: malý alebo nedostatočne rozmanitý dataset.
Amplifikácia biasov SFT dataset zdedí všetky predsudky svojho zdroja. Ak sú tréningové dáta skreslené, model tieto vzory zosilní — niekedy až do miery, ktorá by sa v base modeli neprejavila.
Benchmark contamination Ak testovacie otázky zo štandardných benchmarkov (napr. MMLU, HumanEval) unikli do SFT datasetu, výsledky hodnotenia sú nerealisticky vysoké. Tento problém je v komunite čoraz diskutovanejší.
Náklady na kvalitné dáta Ľudsky anotované dáta sú drahé. Syntetické dáta sú lacné, ale zavádzajú riziko modelového kolapsu — viď samostatný článok Modelový kolaps. Optimálne je kombinácia: syntetické dáta pre objem, ľudský dohľad pre kvalitu.
Zhrnutie: SFT je nevyhnutný prvý krok pri premene surového jazykového modelu na skutočne použiteľného asistenta — rýchly, relatívne lacný a tvorí základ pre pokročilejšie alignment techniky. Kvalita a diverzita datasetu rozhodujú o výsledku viac než akýkoľvek hyperparameter.