Robocikowo>ROBOCIKOWO
Wnioskowanie

GRPO

2024AktywnyOpublikowano: 10 czerwca 2026Aktualizacja: 10 czerwca 2026Opublikowany
Group Relative Policy Optimization (Shao et al., DeepSeek 2024) to algorytm reinforcement learning dla LLM, który usuwa model wartości z PPO. Zamiast uczyć osobnej sieci krytyka, dla każdego promptu generuje grupę N odpowiedzi i liczy advantage jako znormalizowaną nagrodę względną w tej grupie. Stał się standardowym optymalizatorem reasoning RL (DeepSeek-R1, Qwen QwQ).
Kluczowa innowacja
Eliminuje model wartości (krytyk) z PPO, zastępując go względną nagrodą wewnątrz grupy N rolloutów z tego samego promptu jako baseline'em advantage. Redukuje pamięć i koszt RL o ~połowę (brak osobnej sieci value), zachowując stabilność PPO — co umożliwiło tani trening reasoning models.
Kategoria
Wnioskowanie
Poziom abstrakcji
Building block
Poziom operacji
Po-treningTreningModel
Zastosowania
Reasoning RL: DeepSeek-R1 / R1-Zero, Qwen QwQ-32B — główny optymalizatorDeepSeekMath — oryginalne zastosowanie (math reasoning)Open-source reasoning reprodukcje: TinyZero, Open-R1, SimpleRLTani RL fine-tuning bez infrastruktury na model wartości (połowa pamięci PPO)Agentic RL i tool-use z nagrodą za końcowy sukces zadania

Jak działa

Dla każdego promptu x polityka π_θ generuje grupę G = {y_1, …, y_N} (N rolloutów, typowo 8–64). Każdy y_i dostaje skalarną nagrodę r_i od verifiera (rule-based: poprawność, format). GRPO liczy advantage każdego rolloutu jako znormalizowaną nagrodę względną w grupie:

Â_i = (r_i - mean(r_1..r_N)) / std(r_1..r_N)

czyli rollout lepszy niż średnia grupy dostaje dodatni advantage, gorszy ujemny — bez żadnego modelu wartości. Następnie aktualizacja polityki używa surrogate loss w stylu PPO z clippingiem importance ratio:

L = E[ min( ρ_i·Â_i, clip(ρ_i, 1-ε, 1+ε)·Â_i ) ] - β·KL(π_θ || π_ref)

gdzie ρ_i = π_θ(y_i|x)/π_old(y_i|x) to importance ratio, ε to clip (typowo 0.2), β·KL to regularyzacja do polityki referencyjnej (SFT). Kluczowe różnice względem PPO: (1) brak sieci value — baseline z grupy, (2) advantage liczone na poziomie całej sekwencji (outcome reward), nie per-token, (3) KL liczone bezpośrednio jako estymator nieobciążony zamiast w nagrodzie. Wariant GRPO z DeepSeekMath był pierwotnie dla matematyki; DeepSeek-R1 użył go do pełnego reasoning RL.

Rozwiązany problem

Klasyczny PPO w RLHF wymaga czterech sieci równocześnie: polityki (trenowana), modelu referencyjnego (KL), modelu nagrody i modelu wartości (krytyka estymującego value V(s) jako baseline advantage). Model wartości jest tak duży jak polityka, podwaja zużycie pamięci i jest trudny do trenowania (sam wymaga stabilizacji). W zadaniach z nagrodą tylko na końcu sekwencji (math/code: 0/1 za poprawność) krytyk jest szczególnie problematyczny. GRPO zauważa: jeśli wygenerujemy N odpowiedzi na ten sam prompt, ich średnia nagroda jest naturalnym, bezparametrowym baseline'em — nie trzeba uczyć V(s). To usuwa krytyka, halvuje pamięć i upraszcza pipeline.

Komponenty

Group samplingŹródło baseline’u advantage

Generacja N niezależnych odpowiedzi na ten sam prompt. To podstawa GRPO — grupa zastępuje sieć value jako źródło baseline’u.

INN rolloutów z polityki π_θ.
OUTNagrody verifiera dla każdego rolloutu.
Group-relative advantageEstymacja advantage bez krytyka

Znormalizowana nagroda względna rolloutu w grupie. Zastępuje A = r - V(s) z PPO bez modelu wartości. Rdzeń wkładu GRPO.

(r - mean)/stdVanilla GRPO.
(r - mean) per-tokenDr.GRPO — usuwa length/std bias.

Oficjalna

Clipped surrogate loss + KLAktualizacja polityki ze stabilizacją

Funkcja straty: min(ρ·Â, clip(ρ,1±ε)·Â) z KL-penalty do polityki referencyjnej. Dziedziczy stabilność PPO bez jego modelu wartości.

Oficjalna

Implementacja

Pułapki implementacyjne
std≈0 dla zbyt łatwych/trudnych promptów → eksplozja advantageWysoka

Gdy wszystkie N rolloutów dostają tę samą nagrodę (wszystkie poprawne lub wszystkie błędne), std≈0 i dzielenie (r-mean)/std daje wartości numerycznie niestabilne lub zero gradient. Dr.GRPO wskazuje to jako bias oryginalnego GRPO.

Rozwiązanie:Filtrować prompty o zerowej wariancji nagród (dynamic sampling, DAPO); dodać epsilon do std; lub użyć Dr.GRPO bez dzielenia przez std.
Bias długości — model uczy się dłuższych odpowiedziŚrednia

Normalizacja per-sekwencja faworyzuje dłuższe poprawne odpowiedzi (suma per-token grad rośnie z długością), prowadząc do niekontrolowanego puchnięcia CoT. Znany artefakt vanilla GRPO.

Rozwiązanie:Normalizacja per-token zamiast per-sekwencja (Dr.GRPO); explicit length penalty w reward.
Off-policy lag importance ratioŚrednia

Jeśli wiele update'ów wykonuje się na tej samej partii rolloutów, ρ = π_θ/π_old odbiega od 1 i clipping przestaje wystarczać — trening się rozjeżdża.

Rozwiązanie:Ograniczyć liczbę epok PPO na batch rolloutów (zwykle 1); świeże sampling per update.

Ewolucja

Oryginalny paper · 2024 · arXiv:2402.03300 (DeepSeek-AI, 2024) · Zhihong Shao
DeepSeekMath: Pushing the Limits of Mathematical Reasoning in Open Language Models
Zhihong Shao, Peiyi Wang, Qihao Zhu, Runxin Xu, Junxiao Song, Mingchuan Zhang, Y.K. Li, Y. Wu, Daya Guo
2017
PPO (Schulman et al., OpenAI)

Proximal Policy Optimization — clipped surrogate objective z modelem wartości jako baseline. GRPO usunie z niego krytyka.

2022
RLHF / InstructGPT — PPO w alignmencie LLM

PPO z 4 sieciami (policy, reference, reward, value) staje się standardem RLHF — kosztownym pamięciowo i trudnym do stabilizacji.

2024
GRPO — wprowadzenie w DeepSeekMath
Punkt przełomowy

Shao i in. (DeepSeek) publikują DeepSeekMath (arXiv:2402.03300) i wraz z nim GRPO — usunięcie modelu wartości, baseline z grupy rolloutów. Pierwsze zastosowanie: matematyczne reasoning na DeepSeekMath 7B.

2025
DeepSeek-R1 — GRPO jako rdzeń reasoning RL
Punkt przełomowy

DeepSeek-R1 (styczeń 2025) używa GRPO na pełną skalę MoE 671B do trenowania long-CoT reasoning. GRPO staje się de-facto standardem open-source reasoning RL.

2025
Warianty: DAPO, Dr.GRPO, GRPO++

ByteDance DAPO (clip-higher, dynamic sampling, bez KL), Dr.GRPO (usuwa bias z normalizacji std i długości), GRPO++ — fala ulepszeń adresujących niestabilności i bias'y oryginalnego GRPO.

2025
Integracja w TRL, verl, OpenRLHF

GRPOTrainer w Hugging Face TRL, natywne wsparcie w verl (ByteDance) i OpenRLHF czynią GRPO jednolinijkowym przepisem na reasoning RL.

Hiperparametry (konfigurowalne osie)

Group size (N)Krytyczna

Liczba rolloutów per prompt — definiuje jakość baseline'u (średniej grupy). Małe N = wysoka wariancja advantage; duże N = lepszy sygnał kosztem compute. Typowo 8–64.

8Lekki trening
16DeepSeek-R1-Zero standard
64Trudne benchmarki
Clip εWysoka

Granica clippingu importance ratio (jak w PPO). Ogranicza wielkość pojedynczego update'u, zapobiega destabilizacji. Typowo 0.2; DAPO eksperymentuje z asymetrycznym clip.

0.2Standard PPO-style
0.2 / 0.28 (asymmetric)Wariant DAPO clip-higher
KL coefficient (β)Wysoka

Siła regularyzacji KL do polityki referencyjnej. DeepSeek-R1 używa bardzo małego β (agresywne RL); część wariantów (DAPO) usuwa KL całkowicie dla większej eksploracji.

0.001DeepSeek-R1
0DAPO — bez KL
Advantage normalizationŚrednia

Sposób normalizacji nagrody względnej w grupie. Standard: (r - mean)/std. Niektóre warianty pomijają dzielenie przez std (gdy std≈0 dla łatwych promptów daje to niestabilność — Dr.GRPO to adresuje).

(r - mean) / stdVanilla GRPO
(r - mean)Dr.GRPO — bez dzielenia przez std
Reward granularityŚrednia

Czy advantage stosowany jest do całej sekwencji (outcome reward, vanilla GRPO) czy per-token/per-step (process reward). Process supervision daje gęstszy sygnał ale wymaga PRM.

outcomeVanilla GRPO — nagroda na końcu
process (PRM)Process reward model — gęstszy sygnał

Złożoność obliczeniowa

Złożoność czasowa: O(N · L · |θ|) sampling + O(N · L · |θ|) update — bez forward modelu value. Złożoność przestrzenna: O(2 · |θ|) (policy + reference) vs O(3-4 · |θ|) w PPO.

Wąskie gardło obliczeniowe

Sampling grupy rolloutów

Generacja N długich rolloutów per prompt dominuje koszt (jak w reasoning RL). Usunięcie modelu wartości pomaga pamięciowo, ale nie zmienia tego, że sampling jest wąskim gardłem.

Zależy od
group size Nrollout length L

Paradygmat wykonania

Tryb główny
Gęsty

GRPO można stosować do gęstych i MoE modeli (DeepSeek-R1 = MoE 671B). Sam algorytm jest agnostyczny względem architektury polityki.

Wzorzec aktywacji
Wszystkie ścieżki aktywne
Mechanizm routingu

Brak routingu — GRPO to algorytm optymalizacji, nie struktura modelu.

Równoległość

Poziom równoległości
Częściowo równoległy

W obrębie generacji grupy i w obrębie update’u pełna równoległość per-device. Brak sieci value zmniejsza komunikację i pamięć względem PPO.

Zakres
TreningInferencjaPomiędzy urządzeniamiPomiędzy tokenami
Ograniczenia
!Cała grupa N rolloutów musi być wygenerowana zanim policzymy advantage (baseline = średnia grupy). Sampling i update są sekwencyjne w obrębie kroku.
!Importance ratio ρ wymaga log-probów π_old (polityka sprzed update). Przy off-policy lag'u trzeba korygować lub ograniczać liczbę update'ów na batch rolloutów.

Wymagania sprzętowe

Podstawowe

GRPO to RL na LLM — dominuje sampling (vLLM/SGLang) i trening (FSDP/Megatron). Brak modelu wartości zmniejsza zapotrzebowanie na VRAM o ~połowę względem PPO.

Dobry fit

Algorytmicznie agnostyczny; implementacje TPU istnieją (JAX), choć ekosystem jest CUDA-first.

Ograniczony

Sam algorytm jest sprzętowo neutralny, ale skala LLM RL wymaga GPU/TPU; CPU niewykonalny dla modeli > 1B.