Direct Preference Optimization (DPO) (HU)
Direct Preference Optimization (DPO) — ez egy módszer a nagy nyelvi modellek (LLM) emberi preferenciákhoz való igazítására, amelyet a Reinforcement Learning from Human Feedback (RLHF) egyszerűbb és stabilabb alternatívájaként javasoltak. A módszert 2023-ban mutatták be a Stanford Egyetem kutatóinak egy csoportja, Rafael Rafailov vezetésével[1].
A DPO legfőbb különlegessége, hogy közvetlenül optimalizálja a nyelvi modellt az emberi preferenciáknak megfelelően, anélkül hogy külön jutalommodellt (reward model) kellene betanítani, illetve mellőzi az összetett megerősítéses tanulási (RL) fázist, ami az LLM-ek hangolását jelentősen egyszerűbbé, gyorsabbá és stabilabbá teszi[2].
Előzmények: Az RLHF korlátai
A szabványos Reinforcement Learning from Human Feedback (RLHF) módszer három fő lépésből áll:
- Supervised Fine-Tuning (SFT): A modell alapszintű finomhangolása minőségi példákon.
- Jutalommodell betanítása: Egy külön modell létrehozása, amely megtanulja „pontszámot" adni a válaszoknak emberek által megadott páros összehasonlítások alapján (például az A válasz jobb, mint a B válasz).
- Politikaoptimalizálás RL segítségével: Az alapmodell további finomhangolása RL-algoritmusok (pl. PPO) alkalmazásával, hogy a modell olyan válaszokat generáljon, amelyek maximalizálják a jutalommodell által adott pontszámot.
Hatékonysága ellenére az RLHF bonyolult, költséges és instabil folyamat. Olyan problémákra hajlamos, mint a reward hacking (amikor a modell „becsapja" a jutalommodellt), és számos hiperparaméter gondos hangolását igényli[1]. A DPO-t ezeknek a korlátoknak a leküzdésére fejlesztették ki.
A DPO működési elve
A DPO módszer az RLHF többlépéses folyamatát egyetlen tanítási fázisra váltja fel, amely felügyelt finomhangolásként is felfogható.
- Preferencia-adatok gyűjtése. Az RLHF-hez hasonlóan összeáll egy adathalmaz, amelyben minden `x` kérdéshez két válasz tartozik: az előnyben részesített (`y_w`, winning) és az elutasított (`y_l`, losing).
- Közvetlen optimalizálás. Jutalommodell betanítása helyett a DPO közvetlenül ezeket az adatokat használja magának a nyelvi modellnek a frissítéséhez. Az optimalizálás célja az előnyben részesített `y_w` válasz generálásának valószínűségét növelni, miközben az elutasított `y_l` válasz generálásának valószínűségét csökkenti.
Matematikailag ez a veszteségfüggvény minimalizálására vezethető vissza, amely a válaszok logaritmikus valószínűségeinek különbségére alkalmazott logisztikus regresszión alapul. Hogy a modell ne „felejtse el" eredeti tudását, a DPO – az RLHF-hez hasonlóan – egy referencia modellt (reference model, általában az SFT-verzió) alkalmaz regularizációra, megakadályozva, hogy a modell túlságosan eltérjen az eredeti válaszeloszlástól[2].
Az RLHF-fel való összehasonlítás előnyei
- Egyszerűség és stabilitás: A DPO megszünteti a külön jutalommodell betanításának és az összetett RL-hangolásnak a szükségességét. A folyamat egyszerűbbé, kiszámíthatóbbá és kevésbé hibalehetőséggel teli lesz[3].
- Hatékonyság és sebesség: Két fázis elhagyása jelentősen csökkenti a számítási igényt (GPU-órák) és a modell hangolásához szükséges időt. Egyes becslések szerint a DPO 50–60%-kal gazdaságosabb az RLHF-nél[4].
- Eredmények minősége: A kísérletek azt mutatják, hogy a DPO minőségben nem marad el az RLHF mögött, és egyes feladatokban – például a válasz tónusának szabályozásában – még felül is múlja azt. A DPO segítségével betanított modellek jobb megfelelést mutatnak az emberi preferenciákhoz[1].
- Az alapkészségek romlásának hiánya: A DPO-hangolás minimális hatással van a modell általános képességeire (például ténybeli tudás vagy logika), ellentétben az RLHF-fel, amely néha ronthatja az alapmutatókat[5].
Alkalmazás és elterjedés
Hatékonysága és egyszerűsége révén a DPO gyorsan széles körben elterjedt. Megvalósításra került vezető open-source könyvtárakban, mint a Hugging Face TRL és az OpenRLHF.
Számos sikeres nyílt modellt hangoltak finomra DPO segítségével, köztük a Zephyr-7B-t és a TÜLU 2-t. Ezek a modellek magas teljesítményt mutattak a válaszminőséget értékelő benchmark-okon, igazolva a DPO hatékonyságát nagy méretarányú modelleken[5].
Az iparági szereplők szintén beépítették a DPO-t saját platformjaikba. Például a Microsoft DPO-alapú finomhangolási támogatást adott hozzá az Azure OpenAI szolgáltatásához, lehetővé téve a felhasználók számára, hogy modelleiket – köztük a GPT-4-et – saját preferencia-adataikon hangolják[6].
Korlátok
Az előnyök ellenére a DPO örököl bizonyos korlátokat magától a preferencia-alapú tanítás megközelítésétől:
- Adatérzékenység: Az összegyűjtött preferencia-adatok minősége és sokfélesége kritikusan fontos. Ha az adatok egyoldalúak (például csak egyetlen nyelvet vagy stílust tartalmaznak), a modell túltanulhat és más területeken romolhat a teljesítménye[7].
- Tanítás statikussága: Az RLHF-hez hasonlóan a DPO is statikus adathalmazon tanít, és nem feltételez dinamikus interakciót a környezettel. Ez a módszer jól alkalmazható egylépéses igazításra, de nem alkalmas szekvenciális cselekvéseken keresztüli tanulást igénylő feladatokra.
Hivatkozások
- A DPO dokumentációja a Hugging Face TRL könyvtárban
- Az RLHF és DPO elemző áttekintése az ICLR 2024 Blogposts keretében
Irodalom
- 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.
Megjegyzések
- ↑ 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]