Direct Preference Optimization (DPO) (RO)

From Systems analysis Wiki
Jump to navigation Jump to search

Direct Preference Optimization (DPO) — este o metodă de aliniere a modelelor lingvistice mari (LLM) cu preferințele umane, propusă ca o alternativă mai simplă și mai stabilă la Reinforcement Learning from Human Feedback (RLHF). Metoda a fost prezentată în 2023 de un grup de cercetători de la Universitatea Stanford, sub conducerea lui Rafael Rafailov[1].

Distincția esențială a DPO constă în faptul că optimizează direct modelul lingvistic pentru a corespunde preferințelor umane, eliminând necesitatea antrenării separate a unui model de recompensă (reward model) și a etapei complexe de Reinforcement Learning (RL), ceea ce face procesul de ajustare a LLM-urilor semnificativ mai simplu, mai rapid și mai stabil[2].

Istoricul: Limitările RLHF

Metoda standard Reinforcement Learning from Human Feedback (RLHF) cuprinde trei etape principale:

  1. Supervised Fine-Tuning (SFT): Ajustarea de bază a modelului pe exemple de calitate.
  2. Antrenarea modelului de recompensă: Crearea unui model separat care învață să atribuie un „scor" răspunsurilor pe baza comparațiilor pereche furnizate de oameni (de exemplu, răspunsul A este mai bun decât răspunsul B).
  3. Optimizarea politicii prin RL: Ajustarea modelului principal folosind algoritmi RL (de exemplu, PPO), astfel încât acesta să genereze răspunsuri care maximizează scorul acordat de modelul de recompensă.

În ciuda eficienței sale, RLHF este un proces complex, costisitor și instabil. Acesta este susceptibil la probleme precum reward hacking (când modelul „păcălește" modelul de recompensă) și necesită ajustarea atentă a numeroși hiperparametri[1]. DPO a fost dezvoltat pentru a depăși aceste limitări.

Principiul de funcționare al DPO

Metoda DPO înlocuiește pipeline-ul multietapă al RLHF cu o singură etapă de antrenare, care poate fi considerată un fine-tuning supervizat.

  1. Colectarea datelor de preferință. Ca și în RLHF, se colectează un set de date în care, pentru fiecare interogare `x`, există două răspunsuri: cel preferat (`y_w`, winning) și cel respins (`y_l`, losing).
  2. Optimizarea directă. În loc să antreneze un model de recompensă, DPO utilizează direct aceste date pentru a actualiza modelul lingvistic însuși. Obiectivul optimizării este de a crește probabilitatea de generare a răspunsului preferat `y_w` și de a reduce simultan probabilitatea de generare a răspunsului respins `y_l`.

Din punct de vedere matematic, aceasta se reduce la minimizarea unei funcții de pierdere bazate pe regresia logistică, aplicată diferenței dintre probabilitățile logaritmice ale răspunsurilor. Pentru ca modelul să nu „uite" cunoștințele sale inițiale, DPO, la fel ca RLHF, utilizează un model de referință (reference model, de obicei versiunea SFT) pentru regularizare, prevenind o deviere prea mare de la distribuția inițială a răspunsurilor[2].

Avantaje față de RLHF

  • Simplitate și stabilitate: DPO elimină necesitatea antrenării unui model de recompensă separat și a configurării complexe a RL. Procesul devine mai simplu, mai previzibil și mai puțin predispus la erori[3].
  • Eficiență și viteză: Eliminarea celor două etape reduce semnificativ costurile computaționale (ore-GPU) și timpul necesar pentru ajustarea modelului. Conform unor estimări, DPO este cu 50–60% mai eficient decât RLHF[4].
  • Calitatea rezultatelor: Experimentele au arătat că DPO nu cedează în fața RLHF în ceea ce privește calitatea, iar în unele sarcini, cum ar fi controlul tonului răspunsului, chiar îl depășește. Modelele antrenate cu DPO demonstrează o mai bună aliniere cu preferințele umane[1].
  • Absența degradării abilităților de bază: Ajustarea prin DPO influențează minimal capacitățile generale ale modelului (de exemplu, cunoștințele factuale sau logica), spre deosebire de RLHF, care uneori poate deteriora metricile de bază[5].

Aplicare și răspândire

Datorită eficienței și simplității sale, DPO s-a răspândit rapid pe scară largă. A fost implementat în biblioteci open-source de top, precum Hugging Face TRL și OpenRLHF.

Multe modele deschise de succes au fost ajustate cu ajutorul DPO, inclusiv Zephyr-7B și TÜLU 2. Aceste modele au demonstrat performanțe ridicate pe benchmark-urile de evaluare a calității răspunsurilor, confirmând eficiența DPO pentru modele de scară mare[5].

Liderii din industrie au integrat, de asemenea, DPO în platformele lor. De exemplu, Microsoft a adăugat suport pentru fine-tuning prin DPO în serviciul său Azure OpenAI, permițând utilizatorilor să ajusteze modele, inclusiv GPT-4, pe propriile date de preferință[6].

Limitări

În ciuda avantajelor, DPO moștenește unele limitări ale abordării generale de antrenare pe preferințe:

  • Sensibilitate față de date: Calitatea și diversitatea datelor de preferință colectate sunt esențiale. Dacă datele sunt unilaterale (de exemplu, conțin o singură limbă sau un singur stil), modelul poate suferi de supraajustare și își poate diminua performanța în alte domenii[7].
  • Staticitatea antrenării: Ca și RLHF, DPO se antrenează pe un set de date static și nu presupune o interacțiune dinamică cu mediul. Această metodă este potrivită pentru alinierea într-un singur pas, dar nu pentru sarcini care necesită învățare prin acțiuni secvențiale.

Referințe

  • Documentația DPO în biblioteca Hugging Face TRL
  • Recenzie analitică RLHF și DPO la ICLR 2024 Blogposts

Bibliografie

  • 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.

Note

  1. 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. 2.0 2.1 «Simplifying Alignment: From RLHF to Direct Preference Optimization (DPO)». Hugging Face Blog. [2]
  3. «What is direct preference optimization (DPO)?». SuperAnnotate Blog. [3]
  4. «RLHF vs DPO: A Closer Look into the Process and Methodology». Arbisoft Blog. [4]
  5. 5.0 5.1 «RLHF without RL - Direct Preference Optimization». ICLR Blogposts 2024. [5]
  6. «Direct preference optimization». Azure OpenAI | Microsoft Learn. [6]
  7. «Direct Preference Optimization (DPO): A Lightweight Counterpart to RLHF». Toloka AI Blog. [7]