LLMのアライメントアルゴリズムについては以前にざっくりと見たことがある:
今日は非技術者として、GRPOを見てみます。GRPOは強化学習(RL)アルゴリズムの一種で、PPO(Proximal Policy Optimization)の変種であり、大規模言語モデル(LLM)の数学的推論能力を向上させながら、PPOのメモリ使用量を最適化することを目指しています。

基本的な考え:
GRPOの基本的な考え方は、従来のcriticモデルを放棄し、同じ問題における複数の生成結果の平均報酬をベースラインとして使用することです。この「グループ相対的」な方法は報酬モデルの比較特性と一致しており、報酬モデルは通常、同一の問題に対する異なる出力間での比較学習によって訓練されます。
PPOとの違い:

クリティックモデル:PPOはクリティックモデルを使用して状態価値関数を推定しますが、GRPOは複数の生成結果の平均報酬を直接基線として使用し、追加のクリティックモデルを学習する必要がないため、メモリと計算負荷を軽減します。
KLダイバージェンス正則化:PPOでは通常、報酬関数にKLダイバージェンスのペナルティ項を追加して、方策モデルが参照モデルから過度に逸脱することを防ぎます。一方、GRPOはKLダイバージェンスを損失関数に直接追加して正則化を行い、アドバンテージ関数の計算を複雑化することを回避します。
式表現:


アドバントージ関数の計算:
GRPOは、グループ内の相対的な報酬を使用してアドバントージ関数を計算します。これは、報酬モデルの比較的性質と一致しています。具体的には、各問題qに対して、GRPOは古い方策モデルπθoldから一連の出力{o1, o2, ..., oG}をサンプルします。その後、これらの出力を報酬モデルで評価し、報酬の集合r = {r1, r2, ..., rGその後、これらの報酬をグループの平均値を引いてグループの標準偏差で割ることにより正規化します。

二つの監視方式:
結果監視(Outcome Supervision):各出力 o の末尾でのみ正規化された報酬を提供し、出力内のすべてのトークンのアドバンテージ関数 Aiの値を同じにします。i,t正規化された報酬に設定します。
プロセス監督(Process Supervision):各推論ステップの終わりに報酬を提供します。 問題 q と G 個のサンプル出力 {o1, o2, ..., oG} に対して、プロセス報酬モデルを使用して出力の各ステップを評価し、それに応じた報酬を生成します。 次に、これらの報酬を平均値と標準偏差を使って正規化します。 その後、プロセス監督は各トークンのアドバントージ関数を、後続ステップの正規化された報酬の合計として計算します。
反復強化学習:
強化学習の訓練プロセスが進むにつれて、古い報酬モデルは現在の方策モデルを監督するのに十分でなくなる可能性があります。 したがって、GRPOは反復強化学習も探求しました。 反復GRPOでは、方策モデルのサンプル結果に基づいて報酬モデルに新しい訓練セットが生成され、10%の履歴データを含むリプレイメカニズムを使用して古い報酬モデルを継続的に訓練します。 次に、参照モデルを方策モデルに設定し、新しい報酬モデルを使用して方策モデルを継続的に訓練します。
要約:
GRPOは、criticモデルを放棄し、グループ内の相対的な報酬を使用することで、メモリと計算負担を軽減する効率的かつ有効な強化学習アルゴリズムです。 実験結果は、SFTモデルがすでに高いレベルに達している場合でも、GRPOがLLMの数学的推論能力を大幅に向上させることができることを示しています。
最後に:
チャットGPT 4.5に、5歳の子供にも理解できる言葉で解釈してもらいましょう:
ゲームをプレイしていると想像してみてください。あるスキルを向上させるためにさまざまな方法を試し、どの方法が最も効果的かを観察します。例えば、ブロックで最も高い塔を作りたい場合、異なる積み方を試して、どの方法が塔をより高くできるかを見極めます。
コンピュータ科学の分野では、「強化学習」と呼ばれる手法があります。この手法では、コンピュータが異なる戦略を試しながら学び、タスクを完了する能力を向上させます。従来は、各アクションの良し悪しを評価するために「critic(批評家)」と呼ばれる補助モデルを使用していました。
しかし、最近、「グループ相対方策最適化(Group Relative Policy Optimization、GRPO)」と呼ばれる新しい手法が登場しました。従来の方法とは異なり、GRPOではcriticに頼らず、コンピュータが各状態において異なる一連のアクションを生成します。まるで、同時に複数のブロック塔の積み方を試すようなものです。その後、コンピュータはこれらのアクションの結果を評価し、どの方法が最も効果的かを決定します。これらの異なる試行を比較することで、コンピュータは専門家の指導なしにどの戦略がより有効かを学ぶことができます。(リネーの心の中の疑問:これは、家庭教師を雇わずにひたすら問題を解き続ける小さな町の受験生の成長方式に似ている?)
この方法により、コンピュータは複数の選択肢を試し、どれが最も良い結果をもたらすかを観察しながら、より効率的に学習できます。そして、徐々にタスクを完了する能力を向上させることができます。それはまさに、あなたがブロック塔を構築する際に取るアプローチと同じです。