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.
- 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 nagrody | Próbkuje w trakcie treningu | Krytyk | Najlepsze zastosowanie | |
|---|---|---|---|---|
| PPO (RLHF) | tak | tak | tak | ogólne strojenie pod preferencje, gdy Cię na to stać |
| DPO | nie | nie | nie | pary preferencji, które już masz; tanie dopasowanie (alignment) |
| GRPO | nie, jeśli nagroda jest weryfikowalna | tak | nie | kod, matematyka i używanie narzędzi, gdzie możesz sprawdzić odpowiedź |
Zasady, których się trzymam
- Najpierw nadzorowany fine-tuning. RL wyostrza zachowanie, które model już czasem potrafi wytworzyć. Nie wymyśla go.
- Gdzie możesz, rób nagrodę weryfikowalną. Testy wygrywają z sędziami.
- Filtruj prompty pod kątem granicy możliwości modelu. Prompty zawsze zaliczane i zawsze oblewane nie niosą sygnału dla GRPO.
- 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).