PPO
Komponenty
Główna funkcja celu PPO: L^CLIP(θ) = E_t[ min(r_t(θ) · Â_t, clip(r_t(θ), 1−ε, 1+ε) · Â_t) ]. Operator min wybiera bardziej pesymistyczną wartość, tworząc dolną granicę funkcji celu i ograniczając wielkość pojedynczej aktualizacji polityki. ε ~ 0.1–0.2.
Oficjalna
Parametryzowana polityka π_θ(a|s) która mapuje stany na rozkłady prawdopodobieństwa nad akcjami. W zastosowaniach LLM polityką jest sam Transformer generujący tokeny: a = token, s = prefix kontekstu.
Sieć estymująca wartość stanu V_φ(s) = E[R | s], wykorzystywana do obliczenia przewagi (advantage) Â_t. Trenowana przez minimalizację MSE względem zaobserwowanych zwrotów (returns) lub TD-target.
Estymator przewagi: Â_t^GAE(γ,λ) = Σ_{l=0}^∞ (γλ)^l δ_{t+l}, gdzie δ_t = r_t + γV(s_{t+1}) − V(s_t). Hiperparametr λ ∈ [0,1] kontroluje kompromis bias-variance: λ=0 → niska wariancja wysoki bias, λ=1 → wysoka wariancja niski bias.
Oficjalna
Implementacja
Pominięcie normalizacji estymatów przewagi (Â_t) w batchu prowadzi do niestabilności treningu — ratio · Â mogą eksplodować przy dużej skali nagród. Normalizacja: (Â − mean) / std w obrębie batcha jest standardową praktyką nieujętą wprost w oryginalnym paperze.
PPO bez kary KL (lub ze zbyt niską β) może agresywnie eksploatować słabości modelu nagrody, generując odpowiedzi otrzymujące wysokie oceny ale niskiej rzeczywistej jakości. Klasyczny problem RL z wyuczonym modelem nagrody.
PPO jest znany z dużej wariancji wyników między różnymi seedami i hiperparametrami. Praca Henderson et al. „Deep RL that Matters" (2018) wykazała że ta sama implementacja PPO może dawać różniące się o 50% wyniki w zależności od seeda.
Gdy actor i critic dzielą wagi (typowe dla CNN/Transformer w grach Atari), funkcja celu krytyka może dominować nad gradientem polityki. Trzeba ostrożnie dobrać współczynnik c1 (zwykle 0.5).
PPO jest on-policy — używanie próbek zebranych zbyt dawno (po wielu iteracjach optymalizacji) prowadzi do dryfu między π_θ_old a π_θ. Manifestuje się to przez ratio bardzo dalekie od 1, gdzie clipping wyłącza większość gradientu.
Ewolucja
Trust Region Policy Optimization (arXiv:1502.05477) — bezpośredni poprzednik PPO. Optymalizuje funkcję celu surrogate z ograniczeniem KL przez ograniczony problem optymalizacji drugiego rzędu (conjugate gradient + line search). Skuteczny ale skomplikowany.
Praca arXiv:1707.06347 wprowadza PPO jako uproszczoną alternatywę dla TRPO. Zamiast ograniczonego problemu drugiego rzędu — clipping ratio prawdopodobieństw w funkcji celu. Pozwala używać standardowego SGD/Adam i jest zgodny z architekturami sieci dzielącymi parametry między actor i critic.
OpenAI Five (system 5 sieci neuronowych trenowanych metodą PPO w skali ~10⁵ CPU + 256 GPU) wygrywa z drużyną OG, mistrzami świata Dota 2. Demonstracja skalowalności PPO do złożonych środowisk multi-agent z długim horyzontem czasowym.
Ouyang et al. (2022) zastosowali PPO jako trzeci etap potoku RLHF dla GPT-3 z karą KL względem modelu SFT (PPO-ptx). Stało się to standardowym podejściem dla alignmentu LLM (ChatGPT, Claude, Gemini). PPO znalazło drugie życie poza klasyczną robotyką i grami.
Praca i blog post (ICLR 2020 Blog Track / The 37 Implementation Details of PPO, Huang et al.) systematyzujący 37 niedostatecznie udokumentowanych szczegółów implementacyjnych PPO (normalizacja przewagi, ortogonalna inicjalizacja, learning rate annealing, gradient clipping itd.) krytycznie wpływających na wyniki. Kluczowe dla reprodukowalności wyników PPO w społeczności.
Szczegóły techniczne
Hiperparametry (konfigurowalne osie)
Hiperparametr clippingu ratio prawdopodobieństw w PPO-Clip. Określa o ile maksymalnie ratio może odchylić się od 1 (czyli od starej polityki) zanim gradient zostanie wyłączony.
Hiperparametr Generalized Advantage Estimation kontrolujący kompromis bias-variance estymatora przewagi.
Współczynnik dyskontowania przyszłych nagród. Określa horyzont planowania.
Ile razy ten sam batch danych jest używany do aktualizacji polityki przed zebraniem nowych rolloutów. Zbyt duża liczba prowadzi do przeoptymalizowania i niestabilności.
Waga straty MSE krytyka w łącznej funkcji celu. Łączna strata: L = L^CLIP − c1 · L^VF + c2 · S[π], gdzie S[π] to entropia polityki.
Paradygmat wykonania
PPO sam w sobie jest algorytmem optymalizacji policy gradient — sieci aktora i krytyka mogą wykorzystywać dowolną architekturę (MLP, CNN, Transformer). W kontekście RLHF dla LLM aktor to gęsty Transformer, krytyk zwykle mniejsza sieć lub dodatkowa głowica nad bazowym Transformerem.
Równoległość
Powszechnie stosuje się N równoległych aktorów zbierających rolloutu (np. vectorized environments w stable-baselines3, A3C-style worker pools). W RLHF dla LLM zrównoleglenie odbywa się przez DDP/FSDP/DeepSpeed na poziomie generowania odpowiedzi i obliczania gradientów.
Wymagania sprzętowe
PPO dla głębokich sieci (zwłaszcza Transformer w RLHF) korzysta z efektywnych operacji GEMM na Tensor Cores. Generowanie rolloutów wymaga szybkiego forward pass; obliczanie gradientów to klasyczny backward pass. NVIDIA A100/H100 z dużą HBM (40–80 GB) standard dla RLHF z modelami 7B+.
Klasyczny PPO dla MuJoCo/Atari może być efektywnie trenowany na CPU z vectorized environments (środowiska są tańsze niż obliczenia sieci). OpenAI Five wykorzystywało ~128k rdzeni CPU dla samego zbierania rolloutów + 256 GPU dla treningu.
Implementowalne na TPU przez JAX/Flax (np. acme od DeepMind). Wykorzystywane w niektórych badaniach RL Google. Wymaga adaptacji pętli interakcji ze środowiskiem.