AI・機械学習
上級

PPO(Proximal Policy Optimization)(ピーピーオー)

RLHFで最も広く使われる方策勾配型強化学習アルゴリズム。クリッピングによる信頼領域制約で学習の安定性を確保しつつ、効率的な方策更新を実現する。

0 回閲覧
0 いいね

PPOとは

PPO(Proximal Policy Optimization)は、OpenAIが2017年に提案した方策勾配型の強化学習アルゴリズムである。TRPO(Trust Region Policy Optimization)の理論的保証を近似的に維持しながら、実装の単純さと計算効率を両立させた点で革新的であり、RLHFにおける事実上の標準アルゴリズムとなっている。

PPOの核心:クリッピング目的関数

PPOの最大の特徴は、方策比率(probability ratio)をクリッピングすることで、1回の更新での方策変化量を制限する点にある。

目的関数は以下の形式をとる:

L_CLIP(θ) = E[min(r_t(θ) × A_t, clip(r_t(θ), 1-ε, 1+ε) × A_t)]

ここで r_t(θ) は新旧方策の確率比、A_t はアドバンテージ推定値、ε はクリッピング範囲(典型値 0.2)である。

パラメータ典型値役割
ε(クリップ範囲)0.1-0.3方策更新の最大幅を制限
γ(割引率)0.99-1.0将来報酬の重み
λ(GAE係数)0.95バイアス-バリアンストレードオフ
ミニバッチサイズ64-512勾配推定の安定性
エポック数/バッチ2-10データ再利用回数

LLM向けPPOの特殊事情

ゲームやロボティクスでのPPOと異なり、LLM訓練でのPPOには固有の課題がある:

KLペナルティ: SFTモデル(参照方策)からの乖離を防ぐため、報酬にKLダイバージェンス項を加算する。これにより、報酬ハッキングや言語能力の劣化(alignment tax)を抑制する。

生成長の可変性: テキスト生成は可変長であり、トークンレベルの報酬割り当てが必要。通常は系列末尾に一括報酬を与え、GAE(Generalized Advantage Estimation)で各トークンのアドバンテージを逆伝播する。

メモリ要件: 方策モデル・参照モデル・報酬モデル・価値関数の4つのモデルを同時にGPUメモリに保持する必要がある。

PPOの代替アルゴリズム

アルゴリズム特徴PPO比での利点
REINFORCE最も単純な方策勾配実装容易、但しバリアンス大
TRPO信頼領域で厳密制約理論保証が強い、但し計算コスト大
GRPOグループ相対方策最適化価値関数不要でメモリ削減
ReMaxREINFORCE + ベースラインPPOより軽量で同等性能の報告あり

実装のベストプラクティス

PPO訓練時のハイパーパラメータ調整は経験則に依存する部分が大きい。以下は実務上の知見:

  • 報酬の正規化: 報酬値のスケールがバッチ間で大きく変動する場合、ランニング平均と標準偏差で正規化する
  • 勾配クリッピング: max_grad_norm=1.0 が標準的
  • 学習率スケジュール: 線形減衰が一般的、コサインアニーリングは不安定化の報告あり
  • アドバンテージの正規化: ミニバッチ内でアドバンテージを正規化すると学習が安定する

FAQ

Q: PPOはなぜTRPOより広く使われるのか?

A: TRPOは共役勾配法による二次最適化が必要で実装が複雑かつ計算コストが高い。PPOはクリッピングという単純な機構で近似的に同等の制約を実現し、SGDベースの標準的な最適化パイプラインに組み込める点が決定的な利点である。

Q: PPOのクリッピング範囲εをどう設定するか?

A: LLMのRLHF訓練では ε=0.2 が広く使われる出発点である。小さすぎると学習が遅く、大きすぎると方策が不安定に振れる。InstructGPTでは ε=0.2 が採用された。

Q: GRPOはPPOを完全に置き換えるか?

A: DeepSeek-V2/V3やQwen2.5ではGRPOが採用されメモリ効率の優位性が実証されたが、OpenAIやAnthropicの最新モデルはPPO系を維持しており、性能面でPPOが依然有利な設定も報告されている。