はじめに
DeepSeek R1 で提案された、GRPO(Group Relative Policy Optimization)に関するメモです。
参考資料
deepseek
https://arxiv.org/pdf/2501.12948
GRPO(Group Relative Policy Optimization)
Group Relative Policy Optimization(GRPO)は、強化学習(RL)のアルゴリズムの一種で、特に大規模言語モデル(LLM)などの大規模なモデルにおける学習コストを削減することを目的としています。
GRPOの基本的な考え方:
従来の強化学習アルゴリズム(例えばPPO)では、方策(Policy)モデルに加えて、価値(Value)を推定するためのクリティック(Critic)モデルを必要とすることが一般的です。クリティックモデルは通常、方策モデルと同程度のサイズになるため、学習には大きな計算リソースが必要となります。
GRPOは、このクリティックモデルを不要にし、代わりに「グループスコア」を用いてベースラインを推定することで、学習コストを削減します。
GRPOの具体的な手順:
-
サンプリング: 各質問(
q
)に対して、現在のポリシー(古いポリシーπθold
)から複数の出力({o1, o2, ..., og}
)をサンプリングします。 -
グループ内での比較: サンプリングされた各出力(
oi
)に対して、その出力の報酬(ri
)を計算します。そして、各出力の「アドバンテージ」(Ai
) を、グループ内の報酬の平均と標準偏差を用いて計算します。Ai = (ri - mean({r1, r2, ..., rg})) / std({r1, r2, ..., rg})
-
ポリシーの更新: 計算されたアドバンテージと、古いポリシーと新しいポリシー(
πθ
)の確率比を用いて、新しいポリシーを最適化します。目的関数は、クリップされた確率比と、KLダイバージェンス項を含みます。ここで、εとβはハイパーパラメータ、πrefは参照ポリシー(通常は初期ポリシー)です。LGRPO(θ) = E[q ~ P(Q), {oi} ~ πθold(O|q)] [ Σ( min(Ai, clip(πθ(oi|q) / πθold(oi|q), 1-ε, 1+ε) Ai) - βDKL(πθ||πref) ) ]
GRPOの利点:
- 計算コストの削減: クリティックモデルが不要なため、学習に必要なパラメータ数が減り、計算コストが削減されます。
- シンプルさ: アルゴリズムが比較的シンプルで、実装が容易です。
- 大規模モデルへの適用性: 計算コストの削減により、大規模言語モデルのような巨大なモデルにも適用しやすくなります。
GRPOの欠点/注意点:
- グループのサイズが性能に影響を与える可能性がある:グループサイズはハイパーパラメータであるため、計算コストと性能のバランスを取るために調整が必要である.
- サンプル効率:グループを用いた推定を行うので、サンプル効率の観点では若干劣る可能性がある.
GRPOは、大規模モデルの強化学習において、計算コストを削減しつつ、効率的な学習を可能にする有望なアプローチです。