Process Reward Model (PRM)
プロセス報酬モデル(PRM)は、最終回答だけでなく、モデルの推論における各中間ステップを評価します。PRM800K、学習、探索について解説します。
プロセス報酬モデル(PRM)は、最終回答だけを評価するのではなく、解答の中間ステップをそれぞれ、通常はそのステップが正しい確率として採点する報酬モデルです。結果報酬モデル(ORM)は解答全体を結果で評価するため、誤った手順で導かれた正解を報酬として扱う可能性があり、誤答に至った箇所も示しません。PRMは大規模言語モデル(LLM)や推論モデルが推論時に生成する候補解答を順位付けして誘導し、強化学習にステップ単位の報酬を与えます。DeepMindの研究者は2022年、小学校レベルの算数で2種類の教師信号を比較しました。結果ベースのフィードバックはラベル付けの量が少なくても最終回答の誤り率を同程度にできましたが、正解に至った解答の推論エラーを14.0%から3.4%に減らすには、プロセスベースのフィードバックが必要でした。
一歩ずつ検証する#
OpenAIの2023年の論文Let's Verify Step by Stepにより、PRMが広く知られるようになりました。人間のアノテーターは、MATH競技データセットの12,000問に対する75,000件の解答から約800,000ステップを抽出し、肯定、否定、中立のいずれかにラベル付けしました。OpenAIはラベルをPRM800Kとして公開しました。GPT-4ベースの生成器からサンプリングした1,860件の解答から最良のものを選ぶ方法では、PRMはMATHテストセットの代表的な部分集合の78.2%を解きました。ORMは72.4%、多数決は69.6%でした。アノテーターには、現在のPRMが高く評価したものの誤答に至った解答が提示されました。これはアクティブラーニングの一形態であり、ラベル付けのデータ効率を約2.6倍に高めました。
PRMの学習方法#
PRMは通常、各ステップの最後でそのステップが正しいか予測するようファインチューニングしたLLMです。ステップラベルに対するクロスエントロピー損失関数を使って学習します。この詳細度で人手によるデータラベリングを行うにはコストがかかるため、2023年12月に発表されたMath-Shepherdは自動でラベルを作成しました。各ステップから複数の続きをサンプリングし、それらが既知の正解に到達したかどうかでステップをラベル付けします。PPO学習中の各ステップに報酬を与えるためにこのPRMを使うと、Mistral-7BのGSM8K精度は77.9%から84.1%に、MATH精度は28.6%から33.0%に向上しました。ただし、自動ラベルにはノイズがあります。AlibabaのQwenチームによる2025年の研究では、このようなモンテカルロ推定で学習したPRMは、人間のラベルやLLMを判定者として使ったラベルで学習したPRMより性能が低いことが分かりました。同チームは、PRMが最初の誤りのあるステップをどれほど正確に見つけるかを測るベンチマークのProcessBenchを公開しました。
PRMスコアの利用#
推論時、PRMはステップのスコアを選択に利用します。Best-of-Nサンプリングでは複数の解答全体を生成し、集計スコアが最も高いものを選びます。Let's Verify Step by Stepではステップ確率を乗算していましたが、最小のステップスコアを使う方法でもほぼ同じ性能が得られました。
import torch
# PRM outputs for three sampled solutions: probability that each step is correct
solutions = {
"A": torch.tensor([0.97, 0.93, 0.95, 0.94]),
"B": torch.tensor([0.99, 0.24, 0.96, 0.98]), # flawed second step, confident ending
"C": torch.tensor([0.91, 0.88, 0.90]),
}
for name, steps in solutions.items():
print(f"{name}: last step {steps[-1]:.2f}, product {steps.prod():.3f}, min {steps.min():.2f}")
# Best-of-N reranking: pick the solution with the highest product of step scores
best = max(solutions, key=lambda name: solutions[name].prod())
print(f"Selected solution: {best}")解答Bは最終ステップの確信度が0.98で最も高い一方、第2ステップのスコアは0.24です。そのため、積は0.224、最小値は0.24となり、PRMは積が0.806の解答Aを選びます。最終ステップだけで順位付けした場合はBが選ばれます。Ultralytics YOLOの学習でも、実行の最後だけでなく各中間ステップを採点します。デフォルトのval=Trueでは、トレーナーは各エポック後に検証を行い、検出タスクではmAP50-95に等しい適合度で重みを評価し、最良スコアのエポックを最終的なlast.ptとともにbest.ptとして保存します。
PRMは解答が完成する前の探索も誘導できます。ビームサーチは各ステップでスコアが最も高い部分解だけを残し、モンテカルロ木探索(MCTS)は同じスコアを使って展開する分岐を決めます。Google DeepMindとUC Berkeleyによるテスト時計算量のスケーリングの研究では、問題の難易度に応じてPRMの探索手法を選ぶと、Best-of-Nサンプリングと同等の性能をテスト時の計算量最大4分の1で達成できることが分かりました。
限界と関連用語#
DeepSeek-R1チームはPRMを試した後、3つの理由から採用を見送りました。一般的な推論では細かなステップの定義が難しいこと、中間ステップが正しいかを自動で判定するのが難しく、人手のラベル付けにもコストがかかること、大規模学習中に学習済みPRMを利用すると報酬ハッキングを招く可能性があることです。DeepSeek-R1は代わりに、最終回答のルールベース検証からグループ相対方策最適化(GRPO)で学習しました。このアプローチは検証可能な報酬による強化学習(RLVR)として知られています。人間のフィードバックによる強化学習(RLHF)の報酬モデルは、人間の選好比較に基づいて応答全体を採点するため、自由形式のテキストに対する結果報酬モデルです。PRMは思考の連鎖の生成中に各ステップを確認します。一方、自己検証の連鎖(CoVe)では、モデルが検証用の質問を自ら作成・回答し、完成した回答をチェックします。










