Direct Preference Optimization (DPO) (SV)

From Systems analysis Wiki
Jump to navigation Jump to search

Direct Preference Optimization (DPO) — är en metod för att anpassa stora språkmodeller (LLM) till mänskliga preferenser, framtagen som ett enklare och mer stabilt alternativ till Reinforcement Learning from Human Feedback (RLHF). Metoden presenterades 2023 av en forskargrupp från Stanford University under ledning av Rafael Rafailov[1].

Den viktigaste skillnaden med DPO är att den direkt optimerar språkmodellen för att motsvara mänskliga preferenser, utan att behöva träna en separat belöningsmodell (reward model) eller genomföra ett komplext steg med förstärkningsinlärning (RL), vilket gör processen för att finjustera LLM avsevärt enklare, snabbare och mer stabil[2].

Bakgrund: Begränsningar hos RLHF

Den standardiserade metoden Reinforcement Learning from Human Feedback (RLHF) består av tre huvudsteg:

  1. Supervised Fine-Tuning (SFT): Grundläggande finjustering av modellen på högkvalitativa exempel.
  2. Träning av belöningsmodell: Skapandet av en separat modell som lär sig att tilldela ett "betyg" till svar baserat på parade jämförelser från människor (till exempel att svar A är bättre än svar B).
  3. Policyoptimering med RL: Finjustering av huvudmodellen med hjälp av RL-algoritmer (exempelvis PPO) så att den genererar svar som maximerar betyget från belöningsmodellen.

Trots sin effektivitet är RLHF en komplex, kostsam och instabil process. Den är benägen för problem som reward hacking (när modellen "lurar" belöningsmodellen) och kräver noggrann justering av ett stort antal hyperparametrar[1]. DPO utvecklades för att övervinna dessa begränsningar.

Hur DPO fungerar

DPO ersätter RLHF:s flerstegsprocess med ett enda träningssteg som kan betraktas som övervakad finjustering.

  1. Insamling av preferensdata. Precis som i RLHF samlas ett dataset in där det för varje fråga `x` finns två svar: ett föredraget (`y_w`, winning) och ett förkastat (`y_l`, losing).
  2. Direkt optimering. Istället för att träna en belöningsmodell använder DPO dessa data direkt för att uppdatera själva språkmodellen. Optimeringsmålet är att öka sannolikheten att generera det föredragna svaret `y_w` och samtidigt minska sannolikheten att generera det förkastade svaret `y_l`.

Matematiskt reduceras detta till minimering av en förlustfunktion som är baserad på logistisk regression tillämpad på skillnaden i logaritmiska sannolikheter för svaren. För att förhindra att modellen "glömmer" sina ursprungliga kunskaper använder DPO, precis som RLHF, en referensmodell (reference model, vanligtvis SFT-versionen) för regularisering, vilket förhindrar alltför stor avvikelse från den ursprungliga svarsfördelningen[2].

Fördelar jämfört med RLHF

  • Enkelhet och stabilitet: DPO eliminerar behovet av att träna en separat belöningsmodell och av komplex RL-konfiguration. Processen blir enklare, mer förutsägbar och mindre felbenägen[3].
  • Effektivitet och hastighet: Att utesluta två steg minskar beräkningskostnaderna (GPU-timmar) och den tid som krävs för modellinställning avsevärt. Enligt vissa uppskattningar är DPO 50–60 % mer ekonomiskt än RLHF[4].
  • Resultatens kvalitet: Experiment visar att DPO inte är sämre än RLHF vad gäller kvalitet, och i vissa uppgifter, till exempel styrning av svarets ton, till och med överträffar det. Modeller tränade med DPO uppvisar bättre överensstämmelse med mänskliga preferenser[1].
  • Ingen degradering av grundläggande förmågor: DPO-finjustering påverkar minimalt modellens allmänna förmågor (till exempel faktakunskaper eller logik), till skillnad från RLHF som ibland kan försämra grundläggande mätvärden[5].

Tillämpning och spridning

Tack vare sin effektivitet och enkelhet har DPO snabbt fått bred spridning. Det har implementerats i ledande open-source-bibliotek som Hugging Face TRL och OpenRLHF.

Många framgångsrika öppna modeller har finjusterats med hjälp av DPO, bland annat Zephyr-7B och TÜLU 2. Dessa modeller uppvisade hög prestanda på benchmark för utvärdering av svarskvalitet, vilket bekräftade DPO:s effektivitet för storskaliga modeller[5].

Industrins ledande aktörer har också implementerat DPO i sina plattformar. Microsoft lade till exempel till stöd för DPO-finjustering i sin tjänst Azure OpenAI, vilket gör det möjligt för användare att anpassa modeller, inklusive GPT-4, på sina egna preferensdata[6].

Begränsningar

Trots fördelarna ärver DPO vissa begränsningar från själva ansatsen att träna på preferenser:

  • Känslighet för data: Kvaliteten och mångfalden hos de insamlade preferensdata är avgörande. Om data är snedvridna (till exempel innehåller bara ett språk eller en stil) kan modellen överanpassa sig och försämra sin prestanda på andra områden[7].
  • Statisk träning: Precis som RLHF tränas DPO på ett statiskt dataset och förutsätter inte dynamisk interaktion med omgivningen. Denna metod lämpar sig väl för enstegsjustering men inte för uppgifter som kräver inlärning genom sekventiella handlingar.

Länkar

  • Dokumentation för DPO i biblioteket Hugging Face TRL
  • Analytisk översikt av RLHF och DPO på ICLR 2024 Blogposts

Litteratur

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

Noter

  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]