DPO: Tréning AI na ľudské preferencie bez odmeňovacieho modelu
Direct Preference Optimization (DPO) je technika alignment jazykových modelov, ktorá nahrádza zložitý dvojstupňový proces RLHF priamejším matematickým prístupom — a dnes je de facto štandardom pre väčšinu open-source modelov na Hugging Face.
1. Prečo nestačí RLHF a čo DPO mení
Aby bol jazykový model nielen schopný, ale aj bezpečný a úprimný, musí sa naučiť, čo ľudia skutočne preferujú. Tradičné riešenie — Reinforcement Learning from Human Feedback (RLHF) — funguje, no má niekoľko závažných problémov:
- Odmeňovací model: najprv treba natrénovať samostatný model, ktorý hodnotí kvalitu každej odpovede
- Nestabilita RL: samotný tréning cez PPO (Proximal Policy Optimization) je citlivý na hyperparametre a náchylný na kolaps
- Vysoké výpočtové nároky: treba udržiavať viaceré modely naraz v pamäti GPU
- Reward hacking: model sa naučí maximalizovať skóre odmeňovacieho modelu namiesto skutočnej kvality odpovedí
DPO, publikované Rafailom a kol. zo Stanfordu v roku 2023, objavilo matematicky ekvivalentný spôsob, ktorý celý tento mechanizmus obchádza. Namiesto odmeňovacieho modelu DPO priamo pracuje s dátami preferencií — pármi odpovedí, kde jedna je označená ako „lepšia" a druhá ako „horšia".
2. Ako DPO funguje krok za krokom
Kľúčový insight: odmeňovací model v RLHF a samotný jazykový model sú matematicky prepojené. DPO toto prepojenie využíva a eliminuje potrebu samostatného RL kroku.
Postup trénovania:
- Zbierka párových dát: pre každú otázku existujú dve odpovede —
y_chosen(preferovaná hodnotiteľmi) ay_rejected(menej preferovaná) - Referenčný model: zamrazí sa kópia modelu pred DPO tréningom — slúži ako záchranná kotva, ktorá zabraňuje, aby model zabudol čo vedel
- DPO loss: model sa trénuje maximalizovať pravdepodobnosť
y_chosena minimalizovaťy_rejected, pričom sa nesmie príliš odkloniť od referenčného modelu (regularizácia β)
Zjednodušená intuícia: model dostane signál — „toto je dobrá odpoveď, toto je zlá — prispôsob sa tak, aby si prirodzene generoval viac takých, ako tá prvá." Celý tréning prebieha ako štandardné supervised fine-tuning — žiadny RL, žiadny reward model, oveľa stabilnejší a lacnejší proces.
3. DPO vs RLHF — priame porovnanie
| Vlastnosť | RLHF (PPO) | DPO |
|---|---|---|
| Odmeňovací model | Nutný | Nie |
| Stabilita trénovania | Nízka | Vysoká |
| Výpočtová náročnosť | Veľmi vysoká | Stredná |
| Pamäťové nároky | 3–4× veľkosť modelu | ~2× veľkosť modelu |
| Typ tréningových dát | Párové preferencie | Párové preferencie |
| Implementačná zložitosť | Vysoká | Nízka |
| Riziko reward hackingu | Výrazné | Obmedzené |
| Výsledná kvalita | Vysoká | Porovnateľná alebo lepšia |
4. Kde sa DPO používa dnes
DPO sa stalo štandardnou technikou alignment pre open-source komunitu. Niekoľko príkladov:
Modely natrénované pomocou DPO alebo jeho variantov:
- Zephyr 7B (HuggingFace) — jeden z prvých verejne zdokumentovaných DPO modelov, ktorý prekonával oveľa väčšie modely pri chat benchmarkoch
- Llama 3 Instruct (Meta) — kombinuje SFT s DPO/rejection sampling v alignment pipeline
- Mistral Instruct — DPO ako štandartná súčasť trénovacej pipeline
- Qwen Instruct varianty — Alibaba využíva DPO vo svojich alignment pipeline
- Väčšina moderných 7B–70B open-source modelov dostupných na Hugging Face
Typický pipeline pri trénovaní vlastného modelu:
- Základný (base) model — napr. Llama 3.1 8B
- Supervised Fine-Tuning (SFT) na inštrukčných dátach
- DPO na párových preferenciách (napr. z datasetu Ultrafeedback alebo vlastných hodnotení)
- Voliteľne: ďalší cyklus zberu spätnej väzby a DPO
Dostupné open-source nástroje:
TRL(Hugging Face) — knižnica s priamouDPOTrainerimplementáciou, niekoľko riadkov kóduaxolotl— populárny fine-tuning framework s plnou DPO podporouLLaMA-Factory— grafické aj príkazové rozhranie pre DPO a ďalšie techniky
5. Variácie DPO a limity metódy
Od pôvodného DPO vzniklo niekoľko vylepšení, každé riešiace konkrétny nedostatok:
IPO (Identity Preference Optimization, 2023): opravuje teoretický problém, kde DPO môže prefit-ovať na párových dátach. IPO pridáva regularizáciu zachovávajúcu distribúciu modelu.
ORPO (Odds Ratio Preference Optimization, 2024): eliminuje potrebu referenčného modelu — tréning prebieha v jednom kroku bez zmrazenej kópie. Výsledok: rýchlejší tréning, menšia spotreba pamäte.
SimPO (Simple Preference Optimization, 2024): podobne bez referenčného modelu, navyše pridáva „length penalty" — model nie je odmeňovaný za dlhé odpovede len kvôli ich dĺžke.
KTO (Kahneman-Tversky Optimization, 2024): nevyžaduje párovanie odpovedí — stačí označiť každú odpoveď binárne ako „dobrá" alebo „zlá" bez priameho porovnania párov. Praktickejšie pri reálnom zbere dát.
GRPO (Group Relative Policy Optimization): použité napríklad v DeepSeek-R1, optimalizuje reasoning schopnosti cez skupinové porovnávania, čím otvára cestu k trénovaniu reasoning modelov bez supervised dát.
| Metóda | Ref. model | Párové dáta | Výpočet | Typické použitie |
|---|---|---|---|---|
| DPO | Áno | Áno | Stredný | Alignment inštrukcií |
| IPO | Áno | Áno | Stredný | Stabilnejší DPO |
| ORPO | Nie | Áno | Nízky | Rýchly fine-tuning |
| SimPO | Nie | Áno | Nízky | Krátke, presné odpovede |
| KTO | Voliteľne | Nie | Nízky | Škálovateľný zber dát |
| GRPO | Čiastočne | Áno | Vysoký | Reasoning modely |
Limity DPO: kvalita výsledkov závisí priamo od kvality párových dát — zlé alebo zaujaté hodnotenia sa prenesú priamo do modelu. DPO taktiež nezaručuje elimináciu škodlivého správania pri adversariálnych vstupoch; je to len jeden krok v komplexnom alignment procese.
Zhrnutie: DPO zjednodušilo alignment jazykových modelov odstraňením odmeňovacieho modelu a nestabilného RL trénovania — preto je dnes štandardom v open-source AI a odrazovým mostíkom pre pokročilejšie metódy ako ORPO, SimPO či GRPO, ktoré posúvajú hranice toho, čo je možné trénovať aj bez rozsiahleho infraštruktúrneho zázemia.