GRPO
https://www.arxiv.org/abs/2502.01652?utm_source=perplexity論文
https://huggingface.co/docs/trl/main/en/grpo_trainer#trl.GRPOConfigtrlライブラリによる実装のマニュアル
https://github.com/huggingface/open-r1/blob/main/src/open_r1/grpo.pyOpen-R1の実装コード
https://zenn.dev/ksterx/articles/0b0e707e5329e9学習させてみた記事
GRPO(Group Relative Policy Optimization)は、機械学習、特に強化学習(Reinforcement Learning)における新しいアルゴリズムで、主に大規模言語モデル(LLM)の効率的な学習を目的としています。この手法は、従来の強化学習アルゴリズムであるPPO(Proximal Policy Optimization)を改良したもので、DeepSeek-R1の開発などで活用されています。
GRPOの特徴
Criticモデル不要
従来のPPOでは、方策モデル(Policy Model)と並行してCriticモデル(状態価値モデル)が必要でしたが、GRPOではこれを排除しています。Criticモデルを使わないことで、計算コストを大幅に削減しつつ、学習プロセスを簡略化しています。
グループ内相対評価
GRPOでは、複数の出力結果をグループとして生成し、その中で相対的な評価を行います。具体的には、グループ内の平均報酬や標準偏差を基準にして各出力の評価スコアを計算し、良い結果に近づけるように学習を進めます。この相対評価によって、絶対的な報酬値に依存せず安定した学習が可能になります。
安定性の向上
報酬のばらつきを抑える設計がされており、過学習や方策崩壊(Policy Collapse)といった問題が軽減されています。また、KLダイバージェンス(方策間の乖離)も適切に制御されており、学習がより安定します。
https://zenn.dev/mkj/articles/10dfe35cd32026強化学習「GRPO」をCartPoleタスクで実装しながら解説
DeepSeek-R1の論文では「ある程度のモデルサイズが必要」とのことであったが、追試で1.5BのDeepScaleRで成功しているため元のモデルの保有データ等によってはより小さくても可能なようだ。
https://x.com/Joshswartz/status/1890588753904951453ついに0.5Bクラスでも効果自体はある報告が出始めている