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:

  1. Zbierka párových dát: pre každú otázku existujú dve odpovede — y_chosen (preferovaná hodnotiteľmi) a y_rejected (menej preferovaná)
  2. 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
  3. DPO loss: model sa trénuje maximalizovať pravdepodobnosť y_chosen a 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:

  1. Základný (base) model — napr. Llama 3.1 8B
  2. Supervised Fine-Tuning (SFT) na inštrukčných dátach
  3. DPO na párových preferenciách (napr. z datasetu Ultrafeedback alebo vlastných hodnotení)
  4. Voliteľne: ďalší cyklus zberu spätnej väzby a DPO

Dostupné open-source nástroje:

  • TRL (Hugging Face) — knižnica s priamou DPOTrainer implementáciou, niekoľko riadkov kódu
  • axolotl — populárny fine-tuning framework s plnou DPO podporou
  • LLaMA-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.