Jak model vzniká

Pretraining, instrukční ladění, RLHF.

Co se naučíš: Budeš znát tři fáze vzniku modelu a pochopíš, odkud se bere znalostní uzávěrka.

6 min čtení + cvičeníNavazuje na:🤖 Co je LLM

Model se nenaprogramuje, ale vytrénuje, a to ve třech krocích, které dělají tři různé věci. Nejdřív se naučí jazyk a svět z obrovské hromady textu, pak se naučí poslouchat instrukce a nakonec se doladí, aby odpovídal způsobem, který lidem vyhovuje. Když víš, který krok za co může, líp odhadneš, proč se model chová, jak se chová.


🔧 Mechanika učení, loss, gradient, optimizer a rozvrh learning rate, má vlastní kapitoly loss a gradient a optimizer. Tahle kapitola je o fázích.

1. Pretraining, naučit se svět z textu

Modelu se předloží obří množství textu (weby, knihy, kód) a jediný úkol: doplň další token. Miliardkrát dokola. Za každou chybu se vahy trošku poopraví.

vstup:     "Hlavní město Francie je"
model řekne: " Berlín"      ← špatně
správně:     " Paříž"
             ↓
        uprav vahy o kousek

Odsud pochází všechno, co model „umí“: gramatika, fakta, styl, schopnost psát kód. Taky odsud pochází jeho znalostní uzávěrka (cut-off), o událostech po datu tréninku neví nic.

Tenhle krok stojí miliony dolarů a trvá týdny na tisících GPU. Nikdy ho nebudeš dělat.


2. Instrukční ladění, naučit se odpovídat

Po pretrainingu model umí pokračovat v textu, ale nechová se jako asistent. Na otázku „Jak upéct chleba?“ klidně odpoví seznamem dalších otázek, protože tak to na internetu často vypadá.

Proto následuje instruction tuning: dotrénování na dvojicích instrukce → dobrá odpověď, kterých jsou statisíce a jsou z velké části psané lidmi.

"Shrň tenhle text do tří bodů: ..."   →   "• ...\n• ...\n• ..."
"Přelož do češtiny: Hello"            →   "Ahoj"

Tady se z „doplňovače textu“ stává asistent, který rozumí zadání.


3. Zpětná vazba od lidí (RLHF)

Poslední fáze řeší, jak odpovídat. Lidé (nebo jiný model) porovnávají dvojice odpovědí a říkají, která je lepší. Z těch preferencí se model doladí, aby byl užitečnější, srozumitelnější a bezpečnější.

Odsud pramení i pár známých vlastností:

  • Přílišná ochota souhlasit. Když uživateli oponuješ, málokdy to ohodnotí jako lepší odpověď, model se tak naučil spíš přisvědčovat. Proto ho vyplatí explicitně vyzvat: „Když se mýlím, řekni to.“
  • Ukecanost. Delší odpověď působí důkladněji, takže vyhrávala v hodnocení. Stručnost si musíš vyžádat.
  • Odmítání. Model se učí odmítat nebezpečné požadavky; občas odmítne i neškodné, když „vypadají“ podobně.

Kde v tom je fine-tuning a RAG

Tyhle dva pojmy se pletou nejčastěji:

Co to jeKdy sáhnout
Fine-tuningDoladění vah na tvých datechChceš změnit chování a styl (formát výstupu, tón, doménový žargon)
RAGVyhledání podkladů a vložení do promptuChceš dodat znalosti a fakta, hlavně měnící se

Nejčastější omyl je fine-tunovat model, aby „znal firemní dokumentaci“. Dokumentace se mění, fine-tuning je drahý a fakta se do vah zapíšou nespolehlivě. Znalosti patří do kontextu, ne do vah, podrobněji ve fine-tuningu a RAG.


Co znamená „model se učí z mých promptů“

Zpravidla neučí. Běžné volání API vahy modelu nemění, ty jsou zmrazené. Tvoje data můžou posloužit k tréninku jen tehdy, když to poskytovatel dělá a ty to máš ve smlouvě povolené (u firemních tarifů to bývá vypnuté). Chování „pamatuje si, co jsem psal minule“ v chatovacích aplikacích není učení, ale paměť konverzace: historie se posílá znovu v kontextu.

⚠️ Praktický důsledek: model se sám nezlepší z toho, že mu opakuješ, co dělá špatně. Musíš to zapsat do promptu, do systémových instrukcí nebo do podkladů, jinak to příští volání neví.


Cvičení

  1. Model tvrdí, že neví nic o událostech z posledního měsíce. Ve které fázi vzniku modelu je příčina a dá se to opravit doladěním?
  2. Proč po pretrainingu následuje instrukční ladění? Co model po prvním kroku ještě neumí?
Náčrt řešení: rozbal, až si cvičení zkusíš sám
  1. Příčina je v pretrainingu a doladěním se to rozumně opravit nedá. Znalosti pocházejí z textů, na kterých model trénoval, a ty mají datum uzávěrky. Fine-tuning mění chování a styl, ne fakta; nacpat do vah týdně se měnící informace je drahé, pomalé a nespolehlivé. Správná odpověď je dodat fakta do kontextu, tedy RAG nebo vyhledávací nástroj.
  2. Umí pokračovat v textu, ale ne odpovídat na otázku. Po pretrainingu je model doplňovač: na „Jak se dělá čaj?“ může klidně navázat další otázkou, protože v datech se otázky často vyskytují ve skupinách. Instrukční ladění ho naučí, že po zadání má následovat splnění zadání, a teprve preferenční fáze ho doladí k tomu, aby odpovídal užitečně a bezpečně.

Shrnutí

  • Pretraining = naučit se svět doplňováním textu; odtud znalosti i znalostní uzávěrka.
  • Instrukční ladění = z doplňovače textu udělat asistenta, který poslouchá zadání.
  • RLHF = doladit styl podle lidských preferencí; odtud ukecanost i sklon souhlasit.
  • Znalosti dodávej kontextem (RAG), chování laď fine-tuningem a nepleť si to.
Model tvrdí něco, co platilo loni, ale dnes už ne. Proč a co s tím?

Model zná svět jen po datum své znalostní uzávěrky z pretrainingu. Novější informace nemá odkud vzít. Řešení je dodat aktuální data do kontextu (RAG nebo nástroj na vyhledávání), ne doufat, že to model „ví“.

Chceš, aby model odpovídal podle vaší firemní dokumentace, která se každý měsíc mění. Fine-tuning, nebo RAG?

RAG. Fine-tuning mění chování, ne spolehlivě znalosti, a při každé změně dokumentace bys musel trénovat znovu. Vyhledání relevantní pasáže a vložení do promptu je levnější, aktuální a navíc umí odkázat na zdroj.

Proč má model sklon souhlasit s uživatelem, i když uživatel nemá pravdu?

Vzniklo to při ladění na lidských preferencích: hodnotitelé častěji označovali za lepší odpovědi, které jim neodporovaly. Když potřebuješ kritický pohled, musíš si ho výslovně vyžádat v instrukci.