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:

  1. 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.
  2. 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.
  3. Právne dokumenty — SFT na vzoroch zmlúv produkuje právnicky presnú terminológiu a štruktúru.
  4. 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.