Direct Preference Optimization (DPO) (CS)
Direct Preference Optimization (DPO) — je metoda zarovnávání velkých jazykových modelů (LLM) s lidskými preferencemi, navržená jako jednodušší a stabilnější alternativa k Reinforcement Learning from Human Feedback (RLHF). Metoda byla představena v roce 2023 skupinou výzkumníků ze Stanfordské univerzity pod vedením Rafaela Rafailova[1].
Klíčový rozdíl DPO spočívá v tom, že přímo optimalizuje jazykový model pro soulad s lidskými preferencemi, bez nutnosti explicitního trénování samostatného modelu odměny (reward model) a složité fáze učení s posilováním (RL), což celý proces ladění LLM výrazně zjednodušuje, urychluje a stabilizuje[2].
Předhistorie: Omezení RLHF
Standardní metoda Reinforcement Learning from Human Feedback (RLHF) sestává ze tří hlavních fází:
- Supervised Fine-Tuning (SFT): Základní doladění modelu na kvalitních příkladech.
- Trénování modelu odměny: Vytvoření samostatného modelu, který se učí přiřazovat „hodnocení" odpovědím na základě párových srovnání poskytnutých lidmi (například odpověď A je lepší než odpověď B).
- Optimalizace politiky pomocí RL: Doladění hlavního modelu pomocí algoritmů RL (například PPO), aby generoval odpovědi maximalizující hodnocení od modelu odměny.
Přes svou účinnost je RLHF složitý, nákladný a nestabilní proces. Je náchylný k problémům, jako je reward hacking (kdy model „podvádí" model odměny), a vyžaduje pečlivé ladění mnoha hyperparametrů[1]. DPO byl vyvinut k překonání těchto omezení.
Princip fungování DPO
Metoda DPO nahrazuje vícefázový pipeline RLHF jedinou fází trénování, kterou lze považovat za doladění s učitelem.
- Sběr dat o preferencích. Stejně jako v RLHF se shromažďuje dataset, kde ke každému dotazu `x` existují dvě odpovědi: preferovaná (`y_w`, winning) a odmítnutá (`y_l`, losing).
- Přímá optimalizace. Namísto trénování modelu odměny DPO tato data přímo využívá k aktualizaci samotného jazykového modelu. Cílem optimalizace je zvýšit pravděpodobnost generování preferované odpovědi `y_w` a zároveň snížit pravděpodobnost generování odmítnuté odpovědi `y_l`.
Matematicky se to redukuje na minimalizaci ztrátové funkce, která je založena na logistické regresi aplikované na rozdíl logaritmických pravděpodobností odpovědí. Aby model „nezapomínal" své původní znalosti, DPO stejně jako RLHF využívá referenční model (reference model, obvykle SFT verzi) pro regularizaci, čímž zabraňuje příliš velkému odchýlení od původního rozdělení odpovědí[2].
Výhody oproti RLHF
- Jednoduchost a stabilita: DPO odstraňuje potřebu trénovat samostatný model odměny a složitě ladit RL. Proces se stává přímočařejším, předvídatelnějším a méně náchylným k chybám[3].
- Efektivita a rychlost: Vyloučení dvou fází výrazně snižuje výpočetní náklady (GPU-hodiny) a čas potřebný k ladění modelu. Podle některých odhadů je DPO o 50–60 % úspornější než RLHF[4].
- Kvalita výsledků: Experimenty ukázaly, že DPO se kvalitou neliší od RLHF, a v některých úlohách, například při řízení tónu odpovědi, ho dokonce překonává. Modely trénované pomocí DPO vykazují lepší soulad s lidskými preferencemi[1].
- Absence degradace základních dovedností: Ladění pomocí DPO minimálně ovlivňuje obecné schopnosti modelu (například faktické znalosti nebo logiku), na rozdíl od RLHF, který může někdy zhoršovat základní metriky[5].
Využití a rozšíření
Díky své efektivitě a jednoduchosti se DPO rychle rozšířilo. Bylo implementováno do předních open-source knihoven, jako jsou Hugging Face TRL a OpenRLHF.
Mnoho úspěšných otevřených modelů bylo doladěno pomocí DPO, včetně Zephyr-7B a TÜLU 2. Tyto modely dosáhly vysokého výkonu na benchmarcích hodnocení kvality odpovědí, čímž potvrdily účinnost DPO pro modely velkého rozsahu[5].
Průmysloví lídři také zavedli DPO do svých platforem. Například Microsoft přidal podporu DPO doladění do své služby Azure OpenAI, čímž uživatelům umožňuje ladit modely, včetně GPT-4, na vlastních datech preferencí[6].
Omezení
Navzdory výhodám DPO dědí některá omezení od samotného přístupu učení na preferencích:
- Citlivost na data: Kvalita a rozmanitost shromážděných dat o preferencích jsou naprosto zásadní. Pokud jsou data jednostranná (například obsahují pouze jeden jazyk nebo styl), model se může přeučit a zhoršit svůj výkon v jiných oblastech[7].
- Statičnost trénování: Stejně jako RLHF se DPO trénuje na statickém datasetu a nepředpokládá dynamickou interakci s prostředím. Tato metoda se dobře hodí pro jednokrokové zarovnávání, ale ne pro úlohy vyžadující učení prostřednictvím sekvenčních akcí.
Odkazy
- Dokumentace DPO v knihovně Hugging Face TRL
- Analytický přehled RLHF a DPO na ICLR 2024 Blogposts
Literatura
- Rafailov, R. et al. (2023). Direct Preference Optimization: Your Language Model is Secretly a Reward Model. arXiv:2305.18290.
- Hong, J.; Lee, N.; Thorne, J. (2024). ORPO: Monolithic Preference Optimization without Reference Model. arXiv:2403.07691.
- Sun, L. et al. (2025). BPO: Revisiting Preference Modeling in Direct Preference Optimization. arXiv:2506.03557.
- Yin, Y. et al. (2024). Self-Augmented Preference Optimization: Off-Policy Paradigms for Language Model Alignment. arXiv:2405.20830.
- Wu, Y. et al. (2024). Self-Play Preference Optimization for Language Model Alignment. arXiv:2405.00675.
- Li, P. et al. (2024). ROPO: Robust Preference Optimization for Large Language Models. arXiv:2404.04102.
- Tunstall, L. et al. (2023). Zephyr: Direct Distillation of LM Alignment. arXiv:2310.16944.
- Wu, F. et al. (2023). Diffusion-DPO: Diffusion Model Alignment Using Direct Preference Optimization. arXiv:2311.12908.
- Lee, H. et al. (2023). RLAIF vs. RLHF: Scaling Reinforcement Learning from Human Feedback with AI Feedback. arXiv:2309.00267.
- Rafailov, R.; Sharma, A.; Mitchell, E.; Manning, C. D.; Finn, C. (2024). Direct Preference Optimization (v3): Enhanced Experiments and Analysis. arXiv:2305.18290v3.
Poznámky
- ↑ 1.0 1.1 1.2 Rafailov, R., et al. «Direct Preference Optimization: Your Language Model is Secretly a Reward Model». arXiv:2305.18290. [1]
- ↑ 2.0 2.1 «Simplifying Alignment: From RLHF to Direct Preference Optimization (DPO)». Hugging Face Blog. [2]
- ↑ «What is direct preference optimization (DPO)?». SuperAnnotate Blog. [3]
- ↑ «RLHF vs DPO: A Closer Look into the Process and Methodology». Arbisoft Blog. [4]
- ↑ 5.0 5.1 «RLHF without RL - Direct Preference Optimization». ICLR Blogposts 2024. [5]
- ↑ «Direct preference optimization». Azure OpenAI | Microsoft Learn. [6]
- ↑ «Direct Preference Optimization (DPO): A Lightweight Counterpart to RLHF». Toloka AI Blog. [7]