想象一个场景:数学老师陈老师正在批改小明交上来的作业,最终答案栏写着“x=3“,刚好正确。他正准备画一个大大的红勾,但鬼使神差地看了看草稿纸,才发现小明在移项那一步把”减号“写成了”加号“——答案是对的,过程却是错的。只看最终答案的老师,会把这次侥幸当成”完全掌握”;而把每一步都看一遍的老师,才能发现真正的漏洞。 在 AI 训练里也有这样一位“学生”,叫大语言模型。它在解数学题时也会一步步推理,而训练它的方式也分为两种:结果监督(Outcome Supervision)就像那位只看答案的老师——模型生成完整解答后,只拿最终答案的对错来给反馈,中间步骤一概不管;而过程监督(Process Supervision)则像翻看草稿纸的老师——它给模型的每一个推理步骤都打分,哪一步对了、哪一步错了,清清楚楚。 本文就以这位“逐步骤批改的老师”为线索,带你理解过程监督的原理、数据标注、奖励信号设计,以及它为什么能成为提升模型推理可靠性的关键钥匙。
学习过程监督,你能理解 OpenAI 等前沿推理模型提升推理可靠性的关键机制,掌握奖励信号设计的高级玩法,为从事强化推理、模型训练相关工作打下扎实的思维基础。
可视化演示
展示CQRS命令查询职责分离、事件溯源状态重建和Saga分布式事务协调,动态演示写模型与读模型的分离架构。
本节配有交互动效(进入视口后自动加载,约 3KB)。
CQRS命令查询职责分离 写模型处理命令(Command),读模型优化查询(Query),各自独立扩展 命令通过事件总线同步到读模型,实现读写分离 Command → Write Model → Event → Read Model → Query
过程监督概念
陈老师教了二十年数学,批改作业却有两种风格。第一种,在作业末尾写一个“对”或“重做”;第二种,拿红笔一路追踪解题步骤,第一步画勾,第二步写上“这里符号错了!”再画叉。第二种,就是我们今天的主角——过程监督。它要求训练者把模型的推理过程拆成若干步,对每一步都给出独立反馈,而不是等模型走到终点才宣布输赢。
AI 训练中的过程监督和这位老师的做法如出一辙。让模型做一次推理,它的完整回答 y 可以被拆成 n 个中间步骤 s₁, s₂, …, sₙ,每个步骤都有对应的奖励 R(sᵢ)。把各步骤奖励加起来,就是总奖励。而传统的结果监督只保留最终答案那一个信号。两者最本质的差别,就是“奖励放在哪里”。
就像陈老师逐步骤画勾叉,过程监督让模型的每一小步都能收到“你走的方向对不对”的明确反馈,而不是等到终点才被告知是赢是输。这种细粒度的反馈,是模型学会规范推理的第一步。
- 步骤序列把一次推理 y 拆成 n 个中间步骤 s₁, s₂, …, sₙ,就像小明把解方程拆成“去分母、移项、合并、解x”四步
- 求和奖励每个步骤被判定正确后获得一个奖励 R(sᵢ),最后加总就是整道题的总奖励
- 最终答案结果监督只保留最后一个信号 R(y_final),中间步骤的正确与否完全不进入奖励计算
结果监督局限
有一次,小明在作业里把一元二次方程的十字相乘分解写错了,却因为最后一步“答案 x=1”看起来正常而侥幸过关。陈老师要是不看过程,就会以为他完全掌握了因式分解。这就是结果监督最大的隐患:答案正确会掩盖步骤错误。模型在中间步骤引入错误符号、错误取值,最终答案却恰好对上了,结果监督给出的信号是“正确”,于是那组有缺陷的步骤被错误地强化。
更麻烦的是,结果监督的信号是稀疏的——只有整条路径走到最后才产生一个 0 或 1 的反馈,中间步骤毫无梯度引导,模型很难定位自己错在哪一步。用数学语言看,结果监督的奖励就是一个二值指示函数:
结果监督就像一位只在试卷末尾写分数的老师,他永远不知道小明从哪一步开始糊涂;而糊涂的步骤还会因为“答案侥幸对了”被固化下来,越练越歪。这就是为什么很多模型看似会做题,却总在简单步骤上翻车。
- 答案匹配\hat{y} 是模型生成的最终答案,y\* 是标准答案,两者相等才是正例
- 二元信号相等时奖励为 1,不相等时为 0,中间步骤无论对错都不参与计分
- 参数更新因为只有最终一个信号,参数的更新量完全由最终答案的奖励决定,模型无法感知具体是哪一步导致的失败
过程标注数据
要实施过程监督,陈老师需要一套“批改标准答案集”——每道题不但有最终答案,还写清了每一步的得分点。OpenAI 为训练推理模型而构建的 PRM800K 数据集,就是这样一本为 AI 准备的“详细批注作业集”。它由标注人员逐条阅读模型生成的解题过程,对每个步骤判定正误,同时补充正确的参考解答,覆盖从初等代数到竞赛级数学的广泛题目。
PRM800K 的规模大约是 75 万条步骤级标注。理解这个数字可以从一个简单公式出发:标注总量等于问题数乘以平均每题能够拆出的步骤数。模型生成解题步骤越多、覆盖的题目越广,需要人工把关的步骤自然就越多。
陈老师带着一群“助教”人手一本这样的批注册,逐题逐步骤地标出对错;模型在后续训练中,就能“看到”每一位助教画下的红勾与红叉。有了这个数据集,过程监督才真正有了可用的“教材”。
- 问题数量Q 表示数据集中的数学问题总数,这是标注工作的起点
- 平均步骤数n̄ 是每道题的解答平均拆成的步骤数量,由所有题目的步骤数取平均得到
- 总标注数问题数乘以平均步骤数,得到全部需要人工判定的步骤条数
奖励信号设计
有了批注册还不够,陈老师得先把“每题怎么给分”的规则定下来。结果监督的规则是“答案对给满分,答案错给零分”;过程监督的规则则是“每步对给分、每步错扣分”,甚至允许模型为每个步骤输出一个 0 到 1 之间的“正确概率”。这个概率不是简单的对/错标签,而是一种更细腻的量化信心分。
要实现这套规则,业界训练了一个“过程奖励模型”(Process Reward Model,PRM)。PRM 的输入是问题描述和已经写下的步骤序列,输出是当前这一步正确的概率——它就像一位学会了“逐步骤批改”的 AI 助教。与之相对的“结果奖励模型”(Outcome Reward Model,ORM)则只输出最终答案整体正确的概率。PRM 的核心输出可以写成:
就像陈老师不再干巴巴地写“对/错”,而是给出“这一步大概率是对的,但第二步有点悬”的量化信心分。模型依据这些细颗粒度的分数,才知道该把力气花在修正哪个薄弱环节上。
- 状态输入PRM 读入的是已经写下的步骤序列,而不是只读最终答案——这就是“过程”二字的来源
- 概率输出对当前候选步骤输出正确性的概率,取值范围在 0 到 1 之间
- 奖励使用这个概率值被直接当作该步骤在强化训练中的奖励信号,分数越高,说明这一步越值得被鼓励
强化推理应用
陈老师批改完作业,小明看着红笔批注,把错的步骤一道一道订正;第二天再做类似的题,就能避开昨天的坑。AI 中的强化学习(RL),就是“小明订正练习”的自动化版本:模型根据奖励信号不断调整自己的策略。只不过这里的学生是千万参数的神经网络,订正的方式是梯度更新。
在强化推理阶段,我们把过程监督给出的步骤奖励接入策略梯度目标:模型完成一次推理后,每个步骤的动作概率与 PRM 给出的奖励一一对应。若某一步被判定为正确(高 Q 值),就提高这一步出现的概率;否则降低。用公式表示:
此外,在推理阶段 PRM 还可以配合束搜索(beam search):同时尝试多条解题路径,用 PRM 的步骤分数淘汰明显要错的路径,保留更有希望的几条继续走。小明的练习册越做越规范,因为每一道订正都精确到某个步骤;模型的策略也越走越稳,因为每一次修正都精确到某个推理环节。
- 策略函数模型在每一步选择写什么内容,是一个带参数 θ 的概率分布,读作“给定前文,下一步写 aᵢ 的概率”
- 奖励加权梯度每步奖励 R(sᵢ) 乘上该步对数概率的梯度,得到一个指向“增大该步骤概率”方向的修正量
- 求和更新把所有步骤的修正量相加并取期望,得到统一的梯度方向,再用梯度上升更新参数 θ
实验效果评估
半学期后,陈老师把“只看答案班”和“逐步骤批改班”的月考成绩单放在一起对比,发现后者的平均分不仅更高,而且尤其擅长把难题一步步拆开,几乎不会在简单步骤上翻车。现实中,OpenAI 的实验也得出了类似的结论:在 MATH 数学基准上,使用过程监督训练的模型比结果监督模型取得更高的最终答案准确率,尤其在多步推理的难题上优势明显。
同时,过程奖励模型在推理时还能直接提升束搜索等策略的表现——用 PRM 的步骤分数引导搜索,比用 ORM 的最终分数引导更可靠。衡量这种提升,通常会算“相对提升幅度”:
成绩单一目了然:被逐步骤批改过的学生,每一步都踩得更实,最终成绩自然更稳。过程监督带来的正是这种“踩实每一步”的稳定性,而不是靠运气蒙对的短期提升。
- 定义准确率P_process 与 P_result 分别表示两种监督方式下模型最终答案的正确率,均取值 0 到 1
- 计算差值分子是两种方法的准确率之差,直接反映过程监督带来的绝对增益
- 归一化比较除以结果监督的准确率再乘以 100%,得到“相对提升了百分之多少”
成本与规模化
逐步骤批改好是好,但陈老师心里在算账:全班几十本作业,每本都逐步骤批注,工作量翻了好几倍;要是把所有科目、所有年级都这样批,得请多少位助教?过程监督的成本确实是它落地面临的最大阻力——人工逐步骤标注比只标最终答案贵数倍。
于是业界提出了多种规模化方案。一是让模型自动生成多步解题数据,只对最终答案做自动校验,再结合其他信号为步骤生成标签;二是先训练一个较弱的 PRM 自动标注步骤,再由人工抽查修正;三是在束搜索框架中复用同一个 PRM,让已标注的步骤数据发挥更大价值。整个成本结构可以概括为:
实验表明,增加过程标注预算带来的推理增益,大于同等预算在结果标注上的增益。陈老师最终没有辞职,因为他发现:与其高价请助教一本一本批,不如让“第一批助教”教会“第二批助教算法”——用更聪明的流程,把逐步骤批改变成一件可以规模化的事。
- 标注条数N_labels 是待标注的步骤条数,步骤级标注天然比答案级多出一个量级
- 单条耗时t_per 是标注员为一条步骤判定正误所花的平均时间,通常只有几秒到几十秒
- 人力单价c_hour 是单位时间的人力成本,三者相乘得到总标注预算
AI 应用场景
智能数学辅导系统
阶段:模型训练与推理反馈
解决的问题:传统 AI 助教只看学生的最终答案,中间步骤错了也不给提示,学生只能对着一个“错误”的红叉干瞪眼。引入过程监督思想后,AI 能像陈老师一样,沿着学生的解题步骤逐步检查,在学生写错的那一步立即给出提示。
具体案例:Khanmigo 这类 AI 数学辅导工具,就是先把学生的解答拆成步骤,再让 PRM 评估每步的正确性。当学生在移项时漏写负号,系统会立刻弹出“注意:移项要变号”,而不是等到最后才判错。这让学生能立刻修正认知盲点,学习效率大幅提升。
大语言模型推理增强
阶段:强化推理与训练后优化
解决的问题:基础大模型在长链条数学推理中经常“一本正经地胡说八道”——最终答案对了,中间步骤却漏洞百出。光靠结果监督无法分辨这种“侥幸正确”,导致模型在复杂任务上可靠性不足。
具体案例:OpenAI o1 类推理模型在数学、代码竞赛中利用步骤级奖励信号做搜索与反思:模型先生成多条推理路径,PRM 对每条路径的每一步打分,系统保留高分的分支继续探索,低分的分支提前剪枝。最终在 MATH 和 AIME 等基准上的准确率显著超过只用结果监督的模型。
自动数学竞赛解题 Agent
阶段:推理时搜索与决策
解决的问题:竞赛题往往需要十几步甚至几十步推理,错误会在长链条中指数级放大。结果监督只知道最终的输赢,无法告诉 Agent 是哪一步带偏了方向;过程监督则让 Agent 在每一步都能自检。
具体案例:在 AIME(美国数学邀请赛)解题 Agent 中,模型用束搜索同时探索多条候选路径,每走一步就用 PRM 的步骤正确概率给路径打分,及时淘汰即将跑偏的分支。实验显示,相比 ORM 引导的搜索,PRM 引导的搜索在难题子集上正确率提升显著。
Python 演示
import random def make_steps(probs): # 按每步正确概率做一次三步推理并返回各步是否正确 return [random.random() < p for p in probs] def train_result(probs, trials, lr): # 结果监督: 三步全对才一次性奖励整条路径 p = probs[:] for _ in range(trials): steps = make_steps(p) if all(steps): p = [x + lr * (1 - x) for x in p] return p def train_process(probs, trials, lr): # 过程监督: 每一步正确就立刻奖励该步 p = probs[:] for _ in range(trials): steps = make_steps(p) for i, ok in enumerate(steps): if ok: p[i] += lr * (1 - p[i]) return p def main(): random.seed(42) lr, trials = 0.02, 3000 p_r = train_result([0.5, 0.5, 0.5], trials, lr) p_p = train_process([0.5, 0.5, 0.5], trials, lr) avg_r = sum(p_r) / 3 avg_p = sum(p_p) / 3 print("结果监督 平均步骤正确率: {:.3f}".format(avg_r)) print("过程监督 平均步骤正确率: {:.3f}".format(avg_p)) print("过程监督相对提升: {:.1f}%".format((avg_p - avg_r) / avg_r * 100)) if __name__ == "__main__": main()
if all(steps):结果监督的唯一判据:三步全部正确才算最终答案正确,否则整道题不给奖励p = [x + lr * (1 - x) for x in p]最终答对时给整条路径的所有步骤统一提升概率,不区分哪步需要更多修正for i, ok in enumerate(steps):过程监督逐步骤遍历检查,这正是“逐步骤批改”在代码上的体现p[i] += lr * (1 - p[i])某一步正确就只提升这一步,错误步骤不会收到错误的正向信号
常见误区
误区我让模型回答时先输出“思路过程”再给答案,这难道不就是过程监督吗?
正解两者层次完全不同。思维链提示是推理策略,发生在生成阶段,只是让模型把自己“想到的过程”写出来,期间没有额外的老师打分;过程监督是训练阶段的奖励设计,需要专门训练一个奖励模型对每个步骤判对错。打个比方:思维链是“让小明把草稿写在试卷上”,过程监督是“老师拿着草稿逐步骤批改”。
为何常见:两者都包含“中间步骤”这个元素,又在实际系统中经常配合使用,初学者很容易把它们混为一谈。
误区既然过程监督逐步给奖励,那最终答案对不对就无所谓了吧?
正解过程监督不是扔掉最终答案,而是增加更细粒度的信号。PRM800K 的标注流程中,标注员会先完整理解解题过程和最终答案,再对每一个步骤标正误,最终答案的正确性始终是一个重要的全局校验信号;工程上也常把 PRM 分数与 ORM 分数加权结合使用。
为何常见:人们看到“过程”与“结果”的对比,容易陷入非此即彼的二元想象,忽略了二者其实是“细粒度”与“全局”的互补关系。
误区PRM800K 应该是用代码自动检查数学答案生成的,不太需要人工参与吧?
正解PRM800K 恰恰以人工标注为核心:人类标注员逐条阅读模型生成的解题步骤,对每个步骤的语义合理性做判断,累计约 75 万条步骤级标注。自动检查只能判断最终答案对错,无法理解中间步骤的语义是否有跳跃或逻辑硬伤,所以必须有人的判断把关。
为何常见:“自动标注更便宜”的直觉非常强,而且许多真实流程确实采用了自动校验,导致人们误以为顶级数据集也完全依赖自动化。
误区逐步骤人工标注那么贵,过程监督只能活在论文里,工业界根本用不起。
正解实际工程中有多种规模化方案:先用自动校验最终答案粗筛,再用较弱的 PRM 辅助生成步骤标签;或者在束搜索过程中复用同一个 PRM,让一份标注数据服务多条推理路径。实验数据也显示,过程监督的性价比高于结果监督——同样的预算花在步骤标注上,带来的推理增益更大。
为何常见:单步看确实更贵,但如果只盯着单价而忽略规模化策略和长期收益,就容易得出“无法落地”的片面结论。
面试题
Q1. 过程监督的核心思想是
- A.只评估最终答案
- B.逐步判断推理对错← 正确答案
- C.让生成文本更长
- D.增加参数来提速
答案:B。过程监督的核心是把奖励从“最终答案”细化到“每一个推理步骤”,就像老师逐步骤打勾打叉。A 是结果监督的做法,C 和 D 与监督方式无关,故选 B。
Q2. 结果监督的主要局限是
- A.最终答对会掩盖过程错← 正确答案
- B.训练速度极其缓慢
- C.无法生成多步推理
- D.需要海量计算资源
答案:A。结果监督最大的隐患是答案碰巧正确时,中间步骤的错误被忽略甚至被强化。就像学生靠运气蒙对答案,只看结果的老师以为他学会了。B、C、D 都不是结果监督特有的核心局限。
Q3. PRM800K 的"800K"主要指
- A.八十万道训练题
- B.八十万条步骤标注← 正确答案
- C.八百个标注人员
- D.八万个推理模型
答案:B。PRM800K 是 OpenAI 发布的过程监督数据集,约 75 万到 80 万条步骤级标注。800K 指的是步骤标注数量,而非题目数量(题目约为几千道)或人员数量。
Q4. 过程奖励模型 PRM 输出的核心是
- A.每一步骤的正确概率← 正确答案
- B.整体回答的流畅度
- C.最终答案的置信度
- D.输入文本的哈希值
答案:A。PRM 读取“问题 + 已写步骤序列”,输出当前步骤正确的概率,这个概率被用作细粒度奖励信号。B 和 C 偏向 ORM 或质量评测,D 与奖励毫不相关。
Q5. PRM800K 中步骤出错但答案正确时会
- A.判定所有步骤都对
- B.单独标出错误步骤← 正确答案
- C.直接丢弃整道题目
- D.重新生成标准解法
答案:B。PRM800K 的标注规范是逐步骤判定:标注员会明确指出第几步错了,其余步骤正常标正。这正是过程监督与结果监督的本质区别——错误不必等到最终答案才暴露。A 是只看答案的判法,C、D 不符合标注流程。
Q6. 过程监督与结果监督的奖励差异在
- A.数据来源不同
- B.奖励粒度不同← 正确答案
- C.损失函数不同
- D.模型结构不同
答案:B。结果监督只在最终答案处给一个整体奖励,过程监督为每一步分配独立奖励,差别本质在“粒度”。就像老师批作业,一个写总分,一个逐步骤给分,故选 B。
Q7. 在长链条多步推理中,过程监督比结果监督更可靠,核心原因是它缓解了
- A.奖励稀疏与信用分配难题← 正确答案
- B.梯度爆炸与梯度消失
- C.过拟合与欠拟合问题
- D.数据泄漏与标注噪声
答案:A。在长链条推理里,模型最终出错时很难判断是哪一步“带偏”的,这就是强化学习中的信用分配难题;结果监督只知道最终错,信号稀疏。过程监督让每一步都有独立奖励,把信用精确分配到每个步骤,因此显著缓解该问题。
Q8. 过程监督相对结果监督的优势包括
- A.能更早暴露推理错误← 正确答案
- B.能定位中间步骤问题← 正确答案
- C.运行所需算力更少
- D.提升数学推理可靠性← 正确答案
答案:ABD。过程监督能从步骤层面更早、更精准地暴露错误,并在数学推理上带来更可靠的提升,所以 A/B/D 正确。C 是常见误解——步骤级标注和奖励计算让训练成本升高,而非降低。
Q9. 过程监督的数据标注方式包括
- A.人工标注每一步正误← 正确答案
- B.用 PRM 自动生成标注← 正确答案
- C.只在答题卡上判分
- D.根据结果反推步骤
答案:AB。过程监督的数据既可以用人工逐步骤标注(如 PRM800K),也可以用训练好的 PRM 自动为步骤生成标签。C 是结果监督的判分方式;D 用最终结果反推步骤会引入大量噪声,不是标准做法。
Q10. 关于过程监督的成本与规模化,正确的说法是
- A.步骤标注成本高出数倍← 正确答案
- B.必然导致指数级增长
- C.可用自动方案降低成本← 正确答案
- D.人工标注是唯一方式
答案:AC。步骤级标注确实比答案级标注贵数倍,所以 A 正确;但通过自动生成步骤数据、PRM 辅助标注等方案可以规模化,C 正确。B 夸大了成本增速,D 否认了自动方案的存在,均错误。