Skip to content

过程奖励模型与步骤级标注

如何通过把智能体的步骤标注为正确或错误来收集过程奖励(PRM)数据,包括首错模式与逐步模式,使用 Potato 实现。

过程奖励模型(PRM)评估智能体所采取的推理步骤,而不仅仅是它的最终答案。训练一个 PRM 需要步骤级标注:对于一条轨迹中的每一步,它是否正确? 正是这类数据,才能让模型学会好好推理,而不是靠运气碰到正确答案。

PRM 与结果奖励模型(ORM)形成对照,后者只评估最终结果。在步骤级别进行标注,能够捕捉到模型通过有缺陷的推理却得到正确答案的情况。功能参考请见过程奖励标注

两种标注模式

Potato 的 process_reward 类型支持两种标准方案:

  • 首错模式:标注者标记第一个出错的步骤;其后的每一步都会被自动视为受影响。速度快,也契合推理失败逐级蔓延的方式。
  • 逐步模式:标注者独立地判断每一步是正确还是错误。更细粒度,也更费力。
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

这些颜色让蔓延过程一目了然:绿色步骤是好的,红色步骤是第一个错误,橙色则标出如今变得可疑的下游步骤。

何时使用哪种模式

  • 首错模式适用于数学、编程以及链式推理等场景,在这些场景中一个错误会使其余步骤全部失效。更省成本,通常也足够用。
  • 逐步模式适用于步骤彼此独立的情形,或当你需要为每一步获得密集的奖励信号时。

质量方面的考量

  • 精确定义什么是"正确步骤":是既正确有用,还是仅仅不出错?对于一个冗余但无害的步骤,需要有明确的判定规则。
  • 推理在边缘情形下是主观的,应在一个样本上收集重叠标注并检查一致性
  • 与一个轨迹级的结果标签配合使用,以便研究好的结果在哪些地方掩盖了糟糕的推理。参见标注智能体轨迹

延伸阅读