Moderní trénink

Data, SFT, RLHF → DPO/GRPO, syntetická data, distilace.

Co se naučíš: Budeš znát rozdíl mezi pretrainingem, SFT a RLHF a co dnes nahradilo klasické RLHF.

6 min čtení + cvičeníNavazuje na:🗂️ Trénovací data

Jak model vzniká popsalo tři fáze zhruba. Tady jde o to, jak se to dělá dnes: jak vypadá datová pipeline, proč RLHF z velké části vystřídalo DPO a GRPO, co jsou syntetická data a proč je destilace nejlevnější způsob, jak získat dobrý malý model.


Data: kde se dnes rozhoduje

Pretraining stojí a padá s korpusem. Cesta od syrového webu k trénovacím tokenům:

web crawl (petabajty)
  → odstranění HTML, boilerplate, navigace
  → jazyková detekce a filtrování
  → kvalitní filtr (klasifikátor: vypadá to jako užitečný text?)
  → deduplikace (přesná i přibližná, MinHash)
  → odstranění osobních údajů a toxického obsahu
  → dekontaminace: pryč s texty, které jsou v testovacích sadách
  → mix domén (web, knihy, kód, vědecké texty, konverzace)

Poslední krok je důležitější, než se zdá: skladba domén výrazně mění schopnosti. Vyšší podíl kódu zlepšuje i logické uvažování v přirozeném jazyce, jeden z nejzajímavějších empirických poznatků posledních let.

⚠️ Dekontaminace je důvod k opatrnosti při čtení benchmarků. Když se testovací otázky dostanou do tréninku, model je zná nazpaměť a skóre nic neznamená.


Curriculum a fáze

Netrénuje se rovnoměrně. Běžný postup: nejdřív obrovský objem běžného textu, ke konci se přepne na pečlivě vybraná vysoce kvalitní data (učebnice, dokumentace, ověřený kód) a delší kontexty. Poslední procenta tréninku mají na výsledné chování nepoměrně velký vliv.


Po pretrainingu: SFT

Supervised fine-tuning na dvojicích instrukce → ideální odpověď. Dnes jich bývají statisíce a velká část je syntetická: silnější model vygeneruje odpovědi, lidé (nebo klasifikátory) je profiltrují. Ruční psaní všeho by bylo neúnosně drahé.

Tady se rozhoduje formát, tón, délka odpovědí a to, jak model reaguje na nejasné zadání.


Zarovnání: od RLHF k DPO a GRPO

RLHF (klasika). Tři kroky: nasbírej lidské preference → natrénuj z nich reward model → posilovaným učením (PPO) uprav jazykový model, aby dostával vysokou odměnu. Funguje, ale je to křehké a drahé: trénuješ dva modely a RL se rádo rozjede.

DPO (direct preference optimization). Ukázalo se, že reward model není potřeba. Z dvojic lepší / horší odpověď jde optimalizovat přímo jazykový model jednoduchou ztrátovou funkcí. Levnější, stabilnější, s podobným výsledkem, proto to dnes používá většina otevřených modelů.

GRPO a příbuzné. Novější přístupy pro úlohy, kde jde odpověď objektivně ověřit (matematika, kód, který buď projde testy, nebo ne). Model vygeneruje víc pokusů, ty se ohodnotí automaticky a porovnají mezi sebou ve skupině. Odměnu tedy nedává člověk ani reward model, ale realita a právě tohle stojí za skokem ve schopnosti uvažovat.

Constitutional AI. Místo lidského hodnocení každé odpovědi dostane model sadu psaných zásad a kritizuje a přepisuje sám sebe podle nich. Škáluje to líp než lidské anotace a zásady jsou čitelné a auditovatelné.


Destilace

Velký učitelský model vygeneruje data (odpovědi, mezikroky uvažování) a menší studentský model se je učí napodobovat. Výsledek často výrazně překonává stejně velký model trénovaný běžně.

Skoro každý dnešní „malý, ale překvapivě chytrý“ model je destilát. Je to nejlevnější cesta ke kvalitě a zároveň důvod, proč jsou licenční podmínky u výstupů modelů tak ostře sledované.


Co z toho plyne pro tebe

  • Kvalita dat > velikost modelu. Platí to i pro tvůj fine-tuning: sto pečlivých příkladů porazí tisíc nekonzistentních.
  • Syntetická data jsou legitimní nástroj, ale musí projít filtrem, jinak se model naučí i chyby.
  • Když srovnáváš modely, ptej se na fázi zarovnání. Model po pouhém SFT se chová jinak než model po DPO a úplně jinak než reasoning model po RL.

Cvičení

  1. Seřaď podle množství potřebných dat: pretraining, instrukční ladění, preferenční ladění. O kolik řádů se to liší?
  2. Proč se od klasického RLHF s odměňovacím modelem přechází k metodám typu DPO?
Náčrt řešení: rozbal, až si cvičení zkusíš sám
  1. Pretraining biliony tokenů, instrukční ladění statisíce až miliony příkladů, preferenční ladění desítky až stovky tisíc porovnání. Mezi prvním a posledním krokem je rozdíl zhruba šesti řádů. Odtud plyne dělba práce: v pretrainingu se model naučí svět, v dalších fázích se jen dolaďuje chování. Proto taky nemá smysl pokoušet se doladěním doplnit znalosti.
  2. Protože klasické RLHF má o jeden pohyblivý díl navíc. Nejdřív se z lidských preferencí natrénuje odměňovací model a teprve podle něj se posiluje. Ten mezikrok se dá obejít: DPO optimalizuje přímo na dvojicích lepší a horší odpověď, je jednodušší, stabilnější a nemá jak přeoptimalizovat na chyby odměňovacího modelu.

Shrnutí

  • Pretraining je dnes hlavně datová práce: filtrování, deduplikace, dekontaminace, skladba domén.
  • SFT dělá z modelu asistenta a z velké části stojí na syntetických datech.
  • RLHF vystřídalo DPO (bez reward modelu) a u ověřitelných úloh RL s automatickou odměnou.
  • Destilace z většího modelu je nejlevnější způsob, jak získat silný malý model.
Čím se DPO liší od klasického RLHF a proč se ujalo?

RLHF potřebuje natrénovat reward model a pak jazykový model upravovat posilovaným učením, což je drahé a nestabilní. DPO optimalizuje jazykový model přímo z dvojic lepší/horší odpověď jedinou ztrátovou funkcí, je levnější, stabilnější a dává srovnatelný výsledek.

Proč se u matematiky a kódu dá použít RL s automatickou odměnou, ale u psaní e-mailů ne?

Protože u nich jde výsledek objektivně ověřit, příklad má správný výsledek, kód buď projde testy, nebo ne. Odměnu tak dává realita, ne člověk. U volného textu žádné takové objektivní kritérium neexistuje, proto se tam pořád opírá o lidské preference.

Co je dekontaminace tréninkových dat a proč je důležitá při čtení benchmarků?

Odstranění textů, které se překrývají s testovacími sadami. Bez ní se model naučí testovací otázky nazpaměť a jeho skóre neměří schopnost, ale zapamatování, proto se veřejným benchmarkům nedá věřit bez znalosti toho, jak pečlivě byla data čištěná.