Direct Preference Optimization (DPO) pozwala programistom na dotrenowywanie dużych modeli językowych bez konieczności trenowania osobnego modelu nagrody (reward model) czy uruchamiania pętli uczenia ze wzmocnieniem (RL), co znacząco redukuje koszty obliczeniowe oraz niestabilność, która często dotyka tradycyjne potoki (pipelines) RLHF (Reinforcement Learning from Human Feedback).

Dlaczego RLHF wydaje się zbyt obciążające

Standardowy proces RLHF składa się z trzech etapów. Najpierw model bazowy jest dotrenowywany na starannie dobranym zbiorze danych. Następnie model nagrody uczy się przewidywać ludzkie preferencje między parami wyników. Na koniec praktycy uruchamiają Proximal Policy Optimization (PPO) – klasyczny algorytm RL – aby skłonić politykę (policy) do dążenia do wyższych przewidywanych nagród, zachowując jednocześnie bliskość względem oryginalnego modelu.

Taka konfiguracja trzech modeli zajmuje pamięć jednocześnie i wymusza kosztowną pętlę RL, która przy każdej aktualizacji pobiera próbki (samples) nowego tekstu. Zespoły często obserwują, że polityka uczy się „oszukiwać” system nagród, generując wyniki, które dobrze wypadają w modelu zastępczym (proxy), ale nie spełniają oczekiwanej jakości. Rezultatem jest potok, który jest drogi, kruchy i trudny do skalowania.

Algebrański skrót DPO

DPO całkowicie pomija model nagrody. Kluczową obserwacją jest to, że cel RLHF – maksymalizacja oczekiwanej nagrody przy jednoczesnym karaniu rozbieżności względem modelu referencyjnego – posiada wyrażenie w postaci zamkniętej. Poprzez przekształcenie matematyczne, nagroda dla dowolnego tokenu staje się różnicą między logarytmem prawdopodobieństwa przypisanym przez politykę a tym przypisanym przez model referencyjny.

W praktyce oznacza to, że „nagroda” znajduje się wewnątrz samej polityki. Trenowanie sprowadza się do pojedynczej funkcji straty klasyfikacji na parach preferencji: biorąc pod uwagę wybraną odpowiedź oraz odpowiedź odrzuconą, model jest nakłaniany do przypisania wyższego prawdopodobieństwa wybranemu tekstowi. Bez próbkowania, bez aktualizacji PPO, bez dodatkowego modelu do przechowywania.

Jak wygląda nowa funkcja straty

Funkcja straty porównuje logarytm prawdopodobieństwa preferowanej odpowiedzi w ramach obecnej polityki z logarytmem prawdopodobieństwa w modelu referencyjnym, skalowanym przez hiperparametr β działający podobnie do temperatury. Wysoka wartość β zmusza politykę do pozostania blisko modelu referencyjnego, co zachowuje płynność i bezpieczeństwo. Niska wartość β pozwala polityce na większe odchylenie, wyostrzając jej preferencję dla wybranej odpowiedzi.

Korzyści istotne dla programistów

  • Brak modelu nagrody – eliminuje potrzebę zbierania dodatkowych informacji zwrotnych od ludzi dla osobnego predyktora.
  • Brak próbkowania podczas trenowania – model nigdy nie generuje nowego tekstu w celu obliczenia gradientów, co drastycznie skraca czas pracy GPU.
  • Stabilność – standardowa funkcja straty binary cross-entropy zastępuje gradienty RL o wysokiej wariancji, które często powodują rozbieżność.
  • Efektywność – wystarczy pojedynczy krok gradientu dla każdej pary preferencji; trenowanie zbiega się w znacznie mniejszej liczbie epok niż w przypadku PPO.

Wczesne eksperymenty pokazują, że DPO dorównuje lub przewyższa wydajność PPO na benchmarkowych zbiorach danych preferencji, zużywając przy tym ułamek budżetu obliczeniowego. Ta przewaga kosztowa wyjaśnia, dlaczego wiele projektów open-source już przyjęło DPO lub jego bliską wariację jako domyślną metodę wyrównywania (alignment).

Kompromisy

DPO pracuje na stałym zestawie par preferencji. Ponieważ podczas trenowania nigdy nie pobiera nowych uzupełnień (completions), nie może eksplorować przestrzeni odpowiedzi, których nie było w oryginalnych danych. W przeciwieństwie do tego, działanie PPO w trybie online może odkrywać nowe, dające wyższą nagrodę zachowania poprzez ciągłe badanie modelu.

Jeśli β zostanie ustawione zbyt nisko lub trenowanie będzie trwało zbyt wiele kroków, polityka może odchylić się od modelu referencyjnego na tyle, że straci płynność lub wprowadzi niepożądane artefakty.

Podsumowanie

Direct Preference Optimization zastępuje trójmodelowy, obciążony RL stos RLHF pojedynczą, stabilną funkcją straty, która uczy się bezpośrednio z ludzkich par preferencji. Rezultatem jest tańsza i bardziej przewidywalna droga do wyrównywania (alignment) modeli językowych — pod warunkiem, że dane treningowe oddają pożądane zachowania, a parametr dryfu pozostaje pod kontrolą.