プロセス報酬モデルとステップ単位のラベリング
エージェントの各ステップを正しい・誤りとラベル付けしてプロセス報酬(PRM)データを集める方法。first-error モードと per-step モードを Potato で扱います。
プロセス報酬モデル(PRM)は、エージェントの最終的な答えだけでなく、たどった推論ステップを採点します。学習にはステップ単位のラベルが必要です。すなわち、軌跡の各ステップは正しかったか、というラベルです。 このデータこそが、まぐれで正解にたどり着くのではなく、うまく推論することをモデルに学ばせる土台になります。
PRM は、最終結果だけを採点する結果報酬モデル(ORM)と対照的です。ステップ単位でラベル付けすると、欠陥のある推論を経て正解にたどり着いた場合を捉えられます。機能リファレンスはプロセス報酬アノテーションを参照してください。
2 つのラベリングモード
Potato の process_reward 型は、標準的な 2 つの方式に対応しています。
- first-error モード:アノテーターが最初に誤ったステップを記します。それ以降のステップはすべて自動的に影響を受けたものとして扱われます。高速で、推論の失敗が連鎖していく性質によく合います。
- per-step モード:アノテーターが各ステップを正しい・誤りと独立に判断します。より細かいぶん、手間もかかります。
yaml
annotation_schemes:
- annotation_type: process_reward
name: step_rewards
description: "Mark the first incorrect step. Steps after it are flagged automatically."
steps_key: structured_turns
mode: first_error
first_error:
correct_color: "#22c55e"
error_color: "#ef4444"
downstream_color: "#f97316"
require_confirmation: true色によって連鎖が見えるようになります。緑のステップは良好、赤のステップが最初の誤り、オレンジは怪しくなった下流のステップを示します。
どちらのモードを使うか
- first-error は、1 つの誤りで残りすべてが無効になる数学・コーディング・連鎖的推論に向きます。安価で、たいていはこれで十分です。
- per-step は、ステップが互いに独立している場合や、各ステップに密な報酬信号が必要な場合に使います。
品質上の留意点
- 「正しいステップ」を厳密に定義します。正しくかつ有用なのか、それとも単に誤っていなければよいのか。冗長だが無害なステップには判定ルールが要ります。
- 推論は境界では主観的です。サンプルで重複付けを集め、一致度を確認してください。
- 軌跡レベルの結果ラベルと組み合わせると、良い結果がどこで悪い推論を覆い隠しているかを調べられます。エージェント軌跡のアノテーションを参照してください。