Robocikowo>ROBOCIKOWO
Zachowanie AI

GDPO

2026AktywnyOpublikowano: 25 czerwca 2026Aktualizacja: 25 czerwca 2026Opublikowany
Metoda optymalizacji polityki RL od NVIDIA (Liu et al., styczeń 2026). Naprawia GRPO w multi-reward settings przez per-reward standardization: A = batch_norm(norm(r1)+norm(r2)). Używana w RaG (Kuaishou).
Kluczowa innowacja
Decoupled per-reward normalization w multi-reward RL: każda nagroda jest standardyzowana osobno przed sumowaniem, dopiero potem stosowana jest group-relative batch normalization. Eliminuje collapse różnych kombinacji nagród do tych samych advantage values, który dotyka GRPO w multi-reward settings.
Kategoria
Zachowanie AI
Poziom abstrakcji
Building block
Poziom operacji
TreningPo-treningModel
Zastosowania
Multi-reward post-training LLM dla tool calling, math reasoning, coding reasoning (oryginalne use cases NVIDIA)Constrained policy optimization w paradigm Recommendation-as-Generation (Kuaishou RaG: video quality + interest alignment + user feedback)Trening reasoning models z wieloma heterogenicznymi rewards (correctness + format + length jednocześnie)RLHF z dekompozycją preferences na multiple aspect rewards (helpfulness + harmlessness + truthfulness)Constrained RL gdzie część rewards jest objectives, a część constraints (z dodatkowymi Lagrangian multipliers)

Jak działa

Pipeline GDPO ma cztery etapy. Etap 1: Rollout — polityka πθ generuje grupę K candidates {y1, …, yK} dla wejścia x. Etap 2: Per-reward standardization — dla każdej nagrody R_j i każdego candidate y_i obliczany jest znormalizowany skalar r'_ji = (R_j(y_i) − μ_j) / (σ_j + ε), gdzie μ_j i σ_j są obliczone niezależnie dla każdego kanału nagrody w obrębie grupy. Etap 3: Sum and batch-normalize — sumuje się znormalizowane rewards per candidate (s_i = Σ_j r'_ji), a następnie stosuje się drugą normalizację group-relative na zsumowanym sygnale: A_i = (s_i − μ_s) / (σ_s + ε). Etap 4: PPO-style policy update — model aktualizowany jest standardową formułą L = -E[A_i × log(πθ(y_i|x)/πref(y_i|x))], z importance sampling clipping i KL regularization względem πref.

Rozwiązany problem

Standardowy GRPO (a wcześniej PPO/RLHF) został zaprojektowany dla pojedynczej skalarnej nagrody. Gdy współczesne pipelines RL wymagają jednoczesnej optymalizacji wielu heterogenicznych nagród (np. correctness + format + length), naiwne sumowanie i normalizacja prowadzi do collapse'u różnych kombinacji rewards do tych samych advantage values. To redukuje rozdzielczość signal treningowego, powoduje suboptymalną konwergencję i czasem early training failure. GDPO rozwiązuje to przez decoupled normalization — każda nagroda jest standardyzowana osobno przed sumowaniem.

Kluczowe mechanizmy

Per-reward standardization — niezależne obliczanie μ_j i σ_j dla każdej nagrody w obrębie group of candidates
Decoupled sum — sumowanie nagród DOPIERO po per-reward normalization (kluczowa różnica względem GRPO)
Group-relative batch normalization — druga normalizacja zsumowanego sygnału advantage względem group statistics
Preservation of fine-grained reward combination differences — różne kombinacje rewards mają różne advantages (vs collapse w GRPO)
PPO-style policy update z importance sampling clipping i KL regularization (zachowane z PPO/GRPO)
Optional Lagrangian multipliers z PID-controlled updates dla constraint-based formulation (jak w RaG)
Per-channel ε (numerical stability) — drobny epsilon dodawany do σ żeby uniknąć dzielenia przez zero gdy reward jest stały w grupie

Mocne strony i ograniczenia

Mocne strony
✓Konsekwentnie outperforms GRPO across all tested tasks (tool calling, math, coding) i wszystkich metryk (correctness + constraint adherence)
✓Substantially improved training stability — krytyczne dla wielogodzinnych treningów RL na dużych modelach
✓Eliminuje collapse różnych kombinacji rewards do tych samych advantage values — zachowuje pełną rozdzielczość signal treningowego
✓Drop-in replacement dla GRPO — minimalne modyfikacje kodu (potwierdzone przez autora ms-swift PR: 'minor modifications to the GRPO codebase')
✓Naturalnie skaluje się do dowolnej liczby rewards (nie tylko 2-3) bez dodatkowego tuning
✓Open-source implementacja w ms-swift dla Megatron framework — dostępna dla community
✓Producent: NVIDIA — silne tech reputation + bezpośrednie implementacje w NVIDIA training stack
Ograniczenia
✗Wymaga obliczania statystyk (μ, σ) per channel — niewielki overhead obliczeniowy względem GRPO, choć nadal negligible w porównaniu z rollout cost
✗Brak benefit dla single-reward scenariuszy — w pojedynczej nagrodzie GDPO degeneruje się efektywnie do GRPO
✗Świeże (styczeń 2026) — community adoption dopiero się rozwija, mniejsza baza praktycznych wskazówek strojenia
✗Potencjalna utrata informacji o relative magnitudes między różnymi rewards (per-reward standardization niweluje skalę kanałów) — w niektórych scenariuszach explicit reward weighting może być potrzebny
✗Wymaga dobrego rozkładu rewards w group of candidates — jeśli grupa jest zbyt mała lub homogeniczna, normalizacja może być niestabilna numerycznie
✗Brak empirical validation poza zadaniami testowanymi przez NVIDIA — generalizacja na inne domeny (np. robotyka, world models) wymaga walidacji

Komponenty

Per-reward StandardizationZachowanie rozdzielczości signal treningowego między różnymi kombinacjami rewards

Dla każdej nagrody R_j obliczane są niezależnie μ_j i σ_j w obrębie group of K candidates. Każdy raw reward jest następnie standardyzowany: r'_ji = (R_j(y_i) − μ_j) / (σ_j + ε). To kluczowa różnica względem GRPO, w którym wszystkie nagrody sumowane są przed jakąkolwiek normalizacją.

Decoupled Sum + Group-Relative Batch NormalizationStabilizacja optymalizacji przez group-relative scaling sygnału advantage

Po per-reward normalization, znormalizowane wartości są sumowane per candidate: s_i = Σ_j r'_ji. Następnie stosowana jest druga normalizacja — group-relative batch normalization na zsumowanym sygnale: A_i = (s_i − μ_s) / (σ_s + ε). Końcowa A_i jest advantage używanym w policy update.

PPO-style Policy UpdateStandardowa optymalizacja polityki — zachowana niezmieniona z GRPO/PPO

Standardowa formuła PPO/GRPO policy update z importance sampling clipping i KL regularization względem frozen reference policy πref: L = -E[A_i × min(ratio, clip(ratio, 1-ε, 1+ε))] + β × KL(πθ || πref), gdzie ratio = πθ(y_i|x) / πref(y_i|x). Ta warstwa jest niezmieniona względem GRPO — różnica wyłącznie w sposobie obliczania A_i.

Oficjalna

Optional Lagrangian MultipliersKonwersja multi-reward problem do constrained optimization (primary objective + inequality constraints)

Opcjonalne rozszerzenie dla constrained formulation gdzie część nagród traktowana jest jako constraints z target thresholds τ_c. Składowy reward jest wtedy: R(y_i) = R_primary(y_i) − Σ_c λ_c(t) × ReLU(τ_c − R_c(y_i)), gdzie λ_c(t) to PID-controlled time-varying Lagrange multipliers. Wzorzec użyty w Kuaishou RaG/SCRL.

Oficjalna

Implementacja

Pułapki implementacyjne
Zbyt mała group size KWysoka

Per-reward standardization wymaga rozsądnych statystyk μ_j, σ_j w obrębie grupy. Dla małych K (np. K=2, 4) statystyki są niestabilne — wariancja wewnątrz grupy może być zero lub bardzo mała, prowadząc do explosion advantage values lub NaN.

Rozwiązanie:Używać K ≥ 8 (zalecane 16-32), dodać ε w mianowniku (~1e-6), monitorować σ_j w trakcie treningu i logować ostrzeżenia gdy < threshold.
Brak skali między różnymi rewards po normalizacjiŚrednia

Per-reward standardization niweluje informacje o relative magnitudes między różnymi rewards. Jeśli jeden reward jest o rząd ważniejszy niż inny, GDPO nie ma sposobu na wyrażenie tego — wszystkie są skalowane do podobnego zakresu.

Rozwiązanie:Explicit reward weighting po normalization: s_i = Σ_j w_j × r'_ji z uczonymi lub ręcznie ustawionymi w_j. RaG używa Lagrangian multipliers jako dynamic weighting per constraint.
Naiwne łączenie z constraint-based formulationŚrednia

Dla constrained problems (constraint thresholds + Lagrangian multipliers) naive zastosowanie GDPO bez PID-controlled update Lagrangians może prowadzić do oscylacji i overshoot — λ_c rośnie zbyt agresywnie po naruszeniu constraint, potem nadkorekcja.

Rozwiązanie:Użycie PID-controlled Lagrangian update rule (Stooke et al. 2020) zamiast prostego primal-dual update. Wzorzec użyty w Kuaishou RaG.

Ewolucja

Oryginalny paper · 2026 · NVIDIA Tech Report (arXiv 2601.05242), 8 stycznia 2026 · Shih-Yang Liu
GDPO: Group reward-Decoupled Normalization Policy Optimization for Multi-reward RL Optimization
Shih-Yang Liu, Xin Dong, Ximing Lu, Shizhe Diao, Peter Belcak, Mingjie Liu, Min-Hung Chen, Hongxu Yin, Yu-Chiang Frank Wang, Kwang-Ting Cheng, Yejin Choi, Jan Kautz, Pavlo Molchanov
2017
PPO (OpenAI) — fundament policy gradient z importance sampling

Schulman et al. wprowadzają Proximal Policy Optimization — fundament wszystkich późniejszych on-policy RL methods dla LLM, w tym GRPO i GDPO.

2022
RLHF (InstructGPT) — alignment LLM z preferencjami

OpenAI publikuje InstructGPT używający RLHF (reward model + PPO) do alignment LLM z preferencjami ludzkich annotatorów — standardowy pipeline post-training.

2024
GRPO (DeepSeek) — group-relative advantage bez value model
Punkt przełomowy

DeepSeek wprowadza Group Relative Policy Optimization — eliminuje value model przez group-relative normalization advantage. Krytyczny prekursor GDPO.

2026
GDPO (NVIDIA, styczeń 2026) — fix multi-reward GRPO
Punkt przełomowy

Liu et al. (NVIDIA Tech Report, arXiv 2601.05242) wprowadzają GDPO — bezpośrednie rozszerzenie GRPO z decoupled per-reward normalization. Rozwiązuje collapse różnych kombinacji rewards do tych samych advantage values w multi-reward settings.

2026
ms-swift integration (PR #7348, styczeń 2026)

GDPO trafia do ms-swift (modelscope) jako oficjalna opcja rlhf_type alongside GRPO, dając community open-source implementację dla Megatron training framework.

2026
RaG (Kuaishou, czerwiec 2026) — GDPO w paradigm Recommendation-as-Generation

Kuaishou Technology używa GDPO jako rdzenia Synergistic Cross-Domain Reward Learning (SCRL) w produkcyjnym paradygmacie Recommendation-as-Generation. Pierwsze duże produkcyjne wdrożenie GDPO (400M+ DAU).

Hiperparametry (konfigurowalne osie)

Group size (K)Wysoka

Liczba candidates K w group rollout. Większe K = lepsze statystyki per-reward, ale wyższy compute cost.

8Domyślnie używane w wielu open-source implementacjach.
16-32Zalecane dla stabilniejszych statystyk per-reward.
KL regularization coefficient βWysoka

Waga regularyzacji KL względem πref. Zachowana z PPO/GRPO. Większa β = wolniejsze odchodzenie od reference policy.

0.001-0.01Typowy zakres dla LLM RL post-training.
Importance sampling clip εŚrednia

PPO-style clip epsilon dla importance sampling ratio. Zachowane z PPO.

0.2Standardowa wartość PPO.
Constraint thresholds τ_c (optional)Średnia

Opcjonalne (tylko dla constrained formulation). Target thresholds dla każdego constraint reward. RaG kalibruje je względem SFT baseline distribution jako τ_c = μ_c + k_c × σ_c.

k_c = 0.3 / 0.8 / 1.1Strictness factors używane w RaG odpowiednio dla GRM / IM / VGAs.

Paradygmat wykonania

Tryb główny
Gęsty

GDPO to algorytm optymalizacji, nie modyfikacja architektury modelu. Wszystkie reward channels są zawsze aktywne i normalizowane niezależnie — brak conditional routing czy sparse activation.

Wzorzec aktywacji
Wszystkie ścieżki aktywne

Równoległość

Poziom równoległości
W pełni równoległy

Per-reward normalization i suma są lekkimi operacjami statystycznymi, w pełni zrównoleglone w obrębie group of candidates (na GPU) oraz across multiple groups (across devices). Bottleneck pozostaje rollout phase (forward passes polityki dla K candidates), nie sama optymalizacja GDPO.

Zakres
TreningPomiędzy urządzeniami

Wymagania sprzętowe

Podstawowe

GDPO to drop-in replacement dla GRPO/PPO — wszystkie operacje są standardowymi GEMM-ami i reduce operations na GPU. NVIDIA opracowała metodę z myślą o własnym training stack (Megatron).

Dobry fit

Algorytm jest hardware-agnostic — można go zaimplementować na dowolnym sprzęcie wspierającym standardowe operacje policy optimization (TPU, Habana, AMD MI300 itp.).