Direct Preference Optimization (DPO) (PL)

From Systems analysis Wiki
Jump to navigation Jump to search

Direct Preference Optimization (DPO) — to metoda wyrównywania dużych modeli językowych (LLM) z ludzkimi preferencjami, zaproponowana jako prostsza i bardziej stabilna alternatywa dla Uczenia ze wzmocnieniem na podstawie opinii ludzi (RLHF). Metoda została przedstawiona w 2023 roku przez grupę badaczy ze Uniwersytetu Stanforda pod kierownictwem Rafaela Rafailova[1].

Kluczowa różnica DPO polega na tym, że bezpośrednio optymalizuje model językowy pod kątem zgodności z ludzkimi preferencjami, omijając konieczność jawnego trenowania oddzielnej modelu nagrody (reward model) oraz złożonego etapu uczenia ze wzmocnieniem (RL), co sprawia, że proces dostrajania LLM jest znacznie prostszy, szybszy i bardziej stabilny[2].

Prehistoria: Ograniczenia RLHF

Standardowa metoda Reinforcement Learning from Human Feedback (RLHF) składa się z trzech głównych etapów:

  1. Supervised Fine-Tuning (SFT): Podstawowe dostrajanie modelu na przykładach wysokiej jakości.
  2. Trenowanie modelu nagrody: Tworzenie oddzielnego modelu, który uczy się przypisywać „ocenę" odpowiedziom na podstawie parowych porównań dostarczonych przez ludzi (np. odpowiedź A jest lepsza od odpowiedzi B).
  3. Optymalizacja polityki za pomocą RL: Dostrajanie głównego modelu z wykorzystaniem algorytmów RL (np. PPO), aby generował odpowiedzi maksymalizujące ocenę modelu nagrody.

Pomimo swojej skuteczności, RLHF jest procesem złożonym, kosztownym i niestabilnym. Jest podatny na takie problemy jak reward hacking (gdy model „oszukuje" model nagrody) i wymaga starannego doboru wielu hiperparametrów[1]. DPO został opracowany w celu przezwyciężenia tych ograniczeń.

Zasada działania DPO

Metoda DPO zastępuje wieloetapowy potok RLHF jednym etapem uczenia, który można traktować jako dostrajanie z nadzorem.

  1. Zbieranie danych preferencji. Podobnie jak w RLHF, gromadzony jest zestaw danych, w którym dla każdego zapytania `x` dostępne są dwie odpowiedzi: preferowana (`y_w`, winning) i odrzucona (`y_l`, losing).
  2. Bezpośrednia optymalizacja. Zamiast trenować model nagrody, DPO bezpośrednio wykorzystuje te dane do aktualizacji samego modelu językowego. Celem optymalizacji jest zwiększenie prawdopodobieństwa generowania preferowanej odpowiedzi `y_w` przy jednoczesnym zmniejszeniu prawdopodobieństwa generowania odrzuconej odpowiedzi `y_l`.

Matematycznie sprowadza się to do minimalizacji funkcji straty opartej na regresji logistycznej, stosowanej do różnicy logarytmicznych prawdopodobieństw odpowiedzi. Aby model nie „zapominał" swojej pierwotnej wiedzy, DPO, podobnie jak RLHF, wykorzystuje model referencyjny (reference model, zazwyczaj wersję SFT) do regularyzacji, zapobiegając zbyt silnemu odchyleniu od wyjściowego rozkładu odpowiedzi[2].

Zalety w porównaniu z RLHF

  • Prostota i stabilność: DPO eliminuje konieczność trenowania oddzielnego modelu nagrody i złożonego dostrajania RL. Proces staje się prostszy, bardziej przewidywalny i mniej podatny na błędy[3].
  • Wydajność i szybkość: Wyeliminowanie dwóch etapów znacząco redukuje koszty obliczeniowe (godziny GPU) oraz czas potrzebny do dostrojenia modelu. Według niektórych szacunków DPO jest o 50–60% bardziej ekonomiczny niż RLHF[4].
  • Jakość wyników: Eksperymenty wykazały, że DPO nie ustępuje RLHF pod względem jakości, a w niektórych zadaniach, na przykład w kontroli tonu odpowiedzi, nawet go przewyższa. Modele wytrenowane za pomocą DPO wykazują lepszą zgodność z ludzkimi preferencjami[1].
  • Brak degradacji podstawowych umiejętności: Dostrajanie DPO minimalnie wpływa na ogólne zdolności modelu (np. wiedzę faktograficzną lub logikę), w odróżnieniu od RLHF, który czasami może pogarszać podstawowe metryki[5].

Zastosowanie i upowszechnienie

Dzięki swojej wydajności i prostocie DPO szybko zyskał szerokie zastosowanie. Został zaimplementowany w wiodących bibliotekach open-source, takich jak Hugging Face TRL i OpenRLHF.

Wiele udanych otwartych modeli zostało dostrojonych za pomocą DPO, w tym Zephyr-7B i TÜLU 2. Modele te osiągnęły wysoką wydajność na benchmarkach oceny jakości odpowiedzi, potwierdzając skuteczność DPO dla modeli dużej skali[5].

Liderzy branżowi również wdrożyli DPO na swoich platformach. Na przykład Microsoft dodał obsługę dostrajania DPO do swojego serwisu Azure OpenAI, umożliwiając użytkownikom dostosowywanie modeli, w tym GPT-4, na własnych danych preferencji[6].

Ograniczenia

Pomimo zalet, DPO dziedziczy pewne ograniczenia charakterystyczne dla samego podejścia uczenia na preferencjach:

  • Wrażliwość na dane: Jakość i różnorodność zebranych danych preferencji mają kluczowe znaczenie. Jeśli dane są jednostronne (np. zawierają tylko jeden język lub styl), model może ulec przeuczeniu i obniżyć swoją wydajność w innych obszarach[7].
  • Statyczność uczenia: Podobnie jak RLHF, DPO jest uczony na statycznym zbiorze danych i nie zakłada dynamicznej interakcji z otoczeniem. Metoda ta dobrze nadaje się do jednoetapowego wyrównywania, ale nie do zadań wymagających uczenia poprzez sekwencyjne działania.

Odnośniki

  • Dokumentacja DPO w bibliotece Hugging Face TRL
  • Przegląd analityczny RLHF i 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.

Przypisy

  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]