DAPO
DAPO (Decoupled Clip and Dynamic sAmpling Policy Optimization) は、GRPO を大規模 reasoning RL で使いやすくするための改良手法です。GRPO の「critic を持たず、group 内の相対評価で advantage を作る」という設計を引き継ぎつつ、探索不足、学習 signal の偏り、過度に長い出力への報酬ハッキングなどに対処します。
自作概念図。DAPO は GRPO に対して、Clip-Higher、Dynamic Sampling、token-level policy gradient loss、overlong reward shaping を追加する実践的な改良です。
GRPO から何を変えるのか
GRPO は、同じ prompt から複数 response を sample し、group 内の reward 平均や標準偏差を使って advantage を計算します。Value model が不要になるため、PPO より memory efficient です。
DAPO はこの枠組みを大規模学習で安定させるため、主に四つの改良を入れます。
1. Clip-Higher / Decoupled Clip
PPO / GRPO の clipped objective では、確率比を対称な範囲に制限します。
DAPO では、下限と上限を分けます。
特に上限側を広げることで、良い response の確率をより積極的に上げられるようにします。これは、reasoning RL で探索を広げるための設計です。
2. Dynamic Sampling
Reasoning RL では、group 内の response がすべて正解、またはすべて不正解になる prompt があります。このような group は、相対 advantage の情報が弱く、学習 signal として効率が悪いです。
Dynamic Sampling は、有効な contrast がある prompt を重視します。つまり、group 内に正解と不正解が混ざるような prompt を学習に使いやすくし、すでに簡単すぎる prompt や難しすぎる prompt に無駄な compute を使いすぎないようにします。
3. Token-level policy gradient loss
GRPO では response sequence 単位で loss を扱う形になりやすく、長い response と短い response の扱いに bias が生まれることがあります。DAPO では token-level に policy gradient loss を整理し、response length による不必要な重み付けを抑えます。
直感的には、「一つの長い回答」を一つの塊として扱うのではなく、token ごとの学習 signal として丁寧に扱うことで、long CoT の学習を安定させます。
4. Overlong reward shaping
Reasoning model は、報酬を得るために必要以上に長い chain-of-thought を出すことがあります。長く考えれば正解率が上がる場合もありますが、過度に長い出力は training cost、inference cost、format failure を増やします。
DAPO では、長すぎる output に対して filtering や soft penalty を入れ、overlong response を抑制します。これにより、正解率だけでなく、出力長と安定性も制御しやすくなります。
PPO、GRPO、DAPO の比較
| 観点 | PPO | GRPO | DAPO |
|---|---|---|---|
| Critic / value model | 必要 | 不要 | 不要 |
| Advantage | value model ベース | group relative advantage | group relative advantage + 実践的改善 |
| Clip | 対称 clip | 対称 clip | decoupled clip / clip-higher |
| Sampling | rollout | group sampling | dynamic sampling |
| Loss granularity | token / sequence 実装依存 | sequence 寄りになりやすい | token-level を明示 |
| 長すぎる出力への対応 | 別途必要 | 別途必要 | overlong reward shaping |
どのような場面で重要か
DAPO は、math、code、formal reasoning のように verifier reward を定義しやすく、長い reasoning trace を学習する場面で重要です。単なる preference alignment というより、モデルに探索させ、正解に至る reasoning strategy を強化するための RL recipe と考えると理解しやすいです。
注意点
- Dynamic Sampling は data distribution を変えるため、評価分布とのずれに注意が必要です。
- Clip-Higher は探索を促進しますが、KL 制御が弱いと policy drift を起こします。
- Overlong penalty を強くしすぎると、必要な reasoning まで短くしてしまいます。
- Verifier reward が間違っていると、model はその穴を突いて reward hacking します。
関連ページ
主なソース
- DAPO: An Open-Source LLM Reinforcement Learning System at Scale: https://arxiv.org/abs/2503.14476
- Note, LLMのための強化学習手法 2025 -PPO・DPO・GRPO・DAPO一気に理解する-: https://note.com/olachin/n/n9706c13c8678
- DeepSeekMath / GRPO: https://arxiv.org/abs/2402.03300
- DeepSeek-R1: https://arxiv.org/abs/2501.12948