Fine-tuning je doladění existujícího modelu na tvých datech. Zní to jako odpověď na všechno, a proto je to nejčastěji špatně zvolený nástroj v celém oboru. Tahle kapitola je hlavně o tom, kdy to nedělat a co udělat místo toho.
Co fine-tuning umí a co ne
| Umí dobře | Neumí spolehlivě |
|---|---|
| Naučit formát výstupu | Naučit fakta |
| Naučit tón a styl (firemní hlas) | Držet krok s měnícími se daty |
| Zvládnout úzkou opakovanou úlohu levněji | Nahradit vyhledávání v dokumentech |
| Naučit doménový žargon | Zaručit, že něco nezapomene |
Zapamatuj si to jako: fine-tuning mění chování, kontext dodává znalosti.
Rozhodovací postup
Než sáhneš po fine-tuningu, projdi tohle odshora. Většina lidí skončí u prvních dvou bodů:
- Zlepši prompt. Jasné zadání, příklady, formát. Nejlevnější a nejrychlejší.
- Dodej podklady (RAG). Když jde o znalosti, tohle je správná odpověď.
- Zkus větší model. Někdy stačí a je to okamžité.
- Teprve pak fine-tuning, a to jen když máš stovky až tisíce kvalitních příkladů.
⚠️ „Chceme, aby model znal naši dokumentaci“ → RAG, ne fine-tuning. Dokumentace se mění, trénink by se musel opakovat, fakta se do vah zapíšou nespolehlivě a nedají se citovat.
Kdy má smysl
- Pevný formát, který se prompty daří držet jen tak na 95 % a ty potřebuješ víc.
- Specifický styl, který je těžké popsat (firemní tón, styl konkrétního redaktora).
- Úspora: naučíš malý model dělat jednu úlohu tak dobře jako velký a pak platíš desetinu.
- Doménový jazyk, kterému běžný model nerozumí (interní zkratky, obor s vlastní terminologií).
Jak to probíhá
1. posbírej příklady: vstup → ideální výstup (stovky až tisíce)
2. rozděl na trénovací a testovací část
3. spusť fine-tuning (u poskytovatele nebo lokálně přes LoRA)
4. porovnej s původním modelem na testovací sadě
5. nasaď a měř dál
LoRA je dnes běžný způsob: netrénuje celý model, ale malý přídavek k němu. Je to řádově levnější, rychlejší a výsledek jde snadno vyměnit nebo vypnout.
Kde to lidem nevyjde
- Málo dat. Padesát příkladů nestačí; model se naučí je odříkat a jinde selže.
- Nekvalitní data. Model se naučí i tvoje chyby a nekonzistence. Když dva příklady řeší stejnou věc jinak, naučí se hádat.
- Chybí testovací sada. Bez ní nepoznáš, jestli fine-tuning pomohl, nebo model zhoršil.
- Zapomínání. Model doladěný na úzkou úlohu může ztratit obecné schopnosti.
- Údržba. Když poskytovatel vydá novou generaci modelu, tvůj fine-tune zůstane na staré.
Levnější mezikrok
Než začneš trénovat, zkus few-shot s dynamickými příklady: k dotazu vyhledej pár nejpodobnějších už vyřešených případů (přes embeddingy) a vlož je do promptu jako vzory. Dostaneš velkou část efektu fine-tuningu, ale bez tréninku a s možností kdykoli data změnit.
Cvičení
- Ke každému zadání rozhodni fine-tuning, nebo RAG: model má odpovídat firemním tónem; model má znát aktuální ceník; model má vždy vracet JSON v tvém formátu; model má znát interní zkratky z dokumentace.
- Naladíš model na 500 příkladech a na trénovacích datech je skvělý, na nových špatný. Co se stalo?
Náčrt řešení: rozbal, až si cvičení zkusíš sám
- Tón: fine-tuning. Ceník: RAG. Formát JSON: ani jedno, vynuť schématem. Zkratky: RAG, případně obojí. Pravidlo je, že ladění mění chování a styl, zatímco fakta patří do kontextu. Ceník se mění každý týden, takže ho do vah nedostaneš rozumně. U zkratek je RAG první volba, protože definice se dá dohledat a citovat; fine-tuning dává smysl teprve tehdy, když jich jsou tisíce a mají se používat plynule v řeči.
- Přetrénoval jsi ho na malé sadě. Pět set příkladů je málo na to, aby se model naučil obecné pravidlo, takže si zapamatoval konkrétní odpovědi. Poznáš to podle rostoucí mezery mezi trénovací a validační loss, viz když se trénink pokazí. Řešení je míň epoch, nižší learning rate, LoRA s menším rankem a hlavně rozmanitější data. A ověř si, jestli úloha vůbec potřebuje ladění, nebo stačí lepší prompt.
Shrnutí
- Fine-tuning mění chování a styl, ne znalosti. Na fakta je RAG.
- Nejdřív prompt, pak podklady, pak větší model, fine-tuning až nakonec.
- Potřebuje stovky až tisíce konzistentních příkladů a testovací sadu.
- Dynamické few-shot příklady jsou levnější mezikrok s podobným efektem.
Firma chce, aby model odpovídal podle jejich interní wiki, která se každý týden mění. Fine-tuning?
Ne, RAG. Fakta se do vah zapisují nespolehlivě, při každé změně wiki bys musel trénovat znovu a odpovědi by nešlo doložit zdrojem. Vyhledání relevantní pasáže a vložení do promptu je levnější i přesnější.
Kdy dává fine-tuning ekonomický smysl?
Když jím naučíš malý levný model jednu opakovanou úlohu tak dobře, jako ji dělá velký drahý model. Při velkém objemu volání se investice do tréninku vrátí na ceně za tokeny a na latenci.
Máš 60 příkladů a chceš z nich fine-tunovat. Co je lepší udělat?
Použít je jako příklady v promptu, ideálně dynamicky vybírat pár nejpodobnějších k aktuálnímu dotazu. Na fine-tuning je 60 příkladů málo: model by se je naučil odříkávat a jinde by selhal.
