Trefon.
← Wszystkie notatki 11 min

RL dla LLM: PPO, DPO i GRPO, funkcje celu obok siebie

Co optymalizuje uczenie ze wzmocnieniem po fine-tuningu, zapisane wprost jako funkcje celu: przycięta funkcja zastępcza PPO na smyczy KL, funkcja straty DPO na preferencjach bez modelu nagrody i przewaga GRPO liczona względem grupy, bez krytyka. Do tego policzony przykład GRPO i to, dlaczego weryfikowalne nagrody zmieniły reguły gry w kodowaniu.

Jacek Trefon
  • deep dive
  • RL
  • GRPO
  • DPO
  • trening

Nadzorowany fine-tuning (SFT) uczy model naśladować przykłady. Uczenie ze wzmocnieniem uczy go preferować wyniki: odpowiedzi, które przechodzą testy, które wybrałby recenzent, które trzymają się formatu. Trzy funkcje celu pokrywają większość tego, czego używa się dziś. Poniżej jako matematyka, a nie marketing.

Wspólna rama

Model to polityka π_θ, która na prompt x daje odpowiedź y. Nagroda r(x, y) ocenia tę odpowiedź. Chcemy odpowiedzi z wyższą nagrodą, ale bez dryfowania tak daleko od modelu startowego, czyli referencyjnego π_ref, żeby model zapomniał języka albo znalazł tani sposób na ogranie nagrody. Dlatego prawie każda metoda optymalizuje:

maksymalizuj   E[ r(x, y) ]  −  β · KL( π_θ ‖ π_ref )

Metody różnią się tym, skąd bierze się r i jak szacuje się gradient.

PPO: przycięta funkcja zastępcza

PPO (Schulman i in., 2017) to metoda, której używało klasyczne RLHF (Ouyang i in., 2022). Model nagrody trenuje się na ludzkich parach preferencji ze stratą Bradleya–Terry’ego, P(y_w ≻ y_l) = σ(r(y_w) − r(y_l)). Potem politykę optymalizuje się pod tę nagrodę, pomniejszoną o karę KL względem modelu referencyjnego, naliczaną na każdy token. Aktualizacja jest przycinana, żeby jedna partia nie mogła przesunąć polityki za daleko:

ratio_t = π_θ(a_t | s_t) / π_old(a_t | s_t)
L = E[ min( ratio_t · A_t ,  clip(ratio_t, 1 − ε, 1 + ε) · A_t ) ]      ε ≈ 0,2

A_t, czyli przewaga, mówi, o ile token okazał się lepszy, niż oczekiwano. Do jej oszacowania potrzebny jest krytyk (model wartości). W pamięci są więc cztery modele: polityka, model referencyjny, model nagrody i krytyk. To potężne podejście, ale drogie i kapryśne w strojeniu.

DPO: bez modelu nagrody, bez próbkowania

DPO (Rafailov i in., 2023) pokazuje, że funkcja celu z regularyzacją KL ma optymalną politykę w postaci zamkniętej. Dzięki temu możesz całkowicie pominąć model nagrody i trenować bezpośrednio na parach preferencji, czyli na odpowiedzi preferowanej y_w i odrzuconej y_l:

L = −log σ( β · [ log π_θ(y_w|x)/π_ref(y_w|x)  −  log π_θ(y_l|x)/π_ref(y_l|x) ] )

To trening w stylu nadzorowanym na stałym zbiorze danych: bez próbkowania w trakcie treningu, bez krytyka, tylko polityka i zamrożony model referencyjny. Jest tani i stabilny. Ograniczenie polega na tym, że działa offline: uczy się z par, które masz, a nie z nowych prób samego modelu, i potrzebuje dobrych danych o preferencjach.

GRPO: przewaga względem grupy, bez krytyka

GRPO (Shao i in., 2024, wprowadzone razem z DeepSeekMath i użyte w DeepSeek-R1) zachowuje próbkowanie online, ale rezygnuje z krytyka. Dla każdego promptu próbkuje grupę G odpowiedzi, ocenia każdą z nich i używa samej grupy jako punktu odniesienia:

A_i = ( r_i − mean(r_1..G) ) / std(r_1..G)

Ta przewaga trafia do tej samej przyciętej funkcji zastępczej co w PPO, z członem KL względem modelu referencyjnego. Brak sieci wartości oznacza o jeden model mniej w pamięci i nic do trenowania obok polityki.

Przykład liczbowy. Osiem odpowiedzi na jeden prompt programistyczny, z oceną 1, jeśli testy przechodzą, i 0, jeśli nie:

nagrody       = [1, 0, 0, 1, 1, 0, 0, 0]
mean          = 0,375    std = 0,484
A(zaliczona)  = +1,29    A(niezaliczona) = −0,775

Zaliczone odpowiedzi są podbijane w górę, niezaliczone spychane w dół, względem tego, jak model radzi sobie z tym promptem dziś.

Zwróć uwagę na przypadki brzegowe. Jeśli każda z ośmiu odpowiedzi przechodzi testy albo nie przechodzi ich żadna, odchylenie standardowe wynosi zero i prompt niczego nie uczy. Prompty, z którymi model zawsze sobie radzi albo nigdy sobie nie radzi, to zmarnowane obliczenia, więc użyteczny zbiór treningowy leży na granicy możliwości modelu. Późniejsze prace, takie jak Dr. GRPO (Liu i in., 2025), badają też obciążenia wynikające z normalizacji przez odchylenie standardowe i z uśredniania po długości. Od podstawowej postaci powyżej warto zacząć.

Weryfikowalne nagrody

Wyuczony model nagrody da się ograć: polityka znajduje wyjścia, które podobają się modelowi nagrody, a nie spodobałyby się ludziom. W niektórych dziedzinach nie potrzebujesz go, bo nagroda jest faktem:

  • Kod: czy testy przechodzą?
  • Matematyka: czy ostateczna odpowiedź się zgadza?
  • Format: czy wywołanie narzędzia parsuje się zgodnie ze schematem?

To trening na takich nagrodach (RLVR, uczenie ze wzmocnieniem z weryfikowalnymi nagrodami) umożliwił ostatnie skoki w modelach rozumujących i modelach do kodowania. Tak też wygląda plan dla mojego modelu compass: dostroić małego Qwena do pracy w terminalu i jako agent, zdestylować go, a potem przeprowadzić RL osobno dla każdego języka i stosu, czyli w układzie, w którym o nagrodzie mogą decydować testy.

Wybór

Potrzebuje modelu nagrodyPróbkuje w trakcie treninguKrytykNajlepsze zastosowanie
PPO (RLHF)taktaktakogólne strojenie pod preferencje, gdy Cię na to stać
DPOnienieniepary preferencji, które już masz; tanie dopasowanie (alignment)
GRPOnie, jeśli nagroda jest weryfikowalnatakniekod, matematyka i używanie narzędzi, gdzie możesz sprawdzić odpowiedź

Zasady, których się trzymam

  1. Najpierw nadzorowany fine-tuning. RL wyostrza zachowanie, które model już czasem potrafi wytworzyć. Nie wymyśla go.
  2. Gdzie możesz, rób nagrodę weryfikowalną. Testy wygrywają z sędziami.
  3. Filtruj prompty pod kątem granicy możliwości modelu. Prompty zawsze zaliczane i zawsze oblewane nie niosą sygnału dla GRPO.
  4. Pilnuj KL i długości. Rosnąca nagroda przy puchnących odpowiedziach albo eksplodująca KL zwykle oznacza, że nagroda jest ogrywana.

Źródła: Schulman i in., Proximal Policy Optimization (2017). Ouyang i in., Training language models to follow instructions with human feedback (2022). Rafailov i in., Direct Preference Optimization (2023). Shao i in., DeepSeekMath (2024). DeepSeek-AI, DeepSeek-R1 (2025). Liu i in., Understanding R1-Zero-Like Training (2025).

Masz podobny problem?

Opisz swój problem

30-minutowa rozmowa techniczna z inżynierem, który to buduje. Bez działu sprzedaży, bez slajdów.