052 · GSM8K与验证器:不会一次做对,能否从多份解答中选对?
论文:Karl Cobbe等,Training Verifiers to Solve Math Word Problems,2021。原始论文 · 官方数据与代码。本文采用v2。论文中的数据规模使用其取整口径,不把发布仓库的文件行数与正文数字混用。
先接住前作的问题
Codex的pass@k揭示候选里存在正确程序不等于能把它交付。本篇在数学应用题上把这个缺口交给训练出来的验证器;Self-Consistency随后以答案投票处理同类选择问题,属于平行路线。
五个前置概念
五个前置概念:自回归生成是依据已有前缀继续输出;温度采样调整输出分布的集中程度;监督微调拟合已有正确解答;结果监督依据最终是否成功提供标签;选择偏差指从大量候选中取最大预测值时容易放大预测误差。
一、问题设定:生成过正确解答之后,系统为什么仍会选错
GSM8K要求把自然语言关系变成通常2—8步的加减乘除及简单常识推导,输出解题过程和最终数值答案。仅提高单次生成质量未必最划算:系统还需在多份候选间选对。这里训练验证器是监督学习,部署是搜索与排序,没有环境交互或强化学习策略更新。
论文§2将数据描述为约8.5K题,其中约7.5K训练、1K测试。这是正文取整数字。附录A说明工作人员可以利用GPT-3生成的种子例子,直接采用或修改,因此“人工编写与质检”不等于每句话完全由人从零创造。独立复核后的剩余意见分歧估计为1.7%,数据质量很高也不等于绝对无错。
过去方法的困难并非不知道乘法,而是早期关系理解错误会沿自回归输出传播。一旦把“还剩”理解为“新增”,后续计算完全准确仍会答错。作者的假设是:识别候选的正确性,可能比总能直接生成正确候选更容易,而且训练所需的正负标签能由答案匹配获得。
需要特别说明,本文模型使用计算器。训练文本带有算术注释,推理时计算器覆盖对应算式结果。这排除了部分纯算术错误,但无法自动修复题意理解。论文结果不能被解释成模型完全依靠内部计算能力解题。
二、分开推导候选覆盖、验证损失与极值误判
生成器为什么只训练两轮
普通微调基线学习标准解答,以低温度产生单个答案。验证系统则需要多样候选:只会高度确定地重复同一个错误答案,没有搜索价值。作者用训练两轮的生成器,以温度0.7为每道训练题采样100份解答,形成验证训练数据。
设题目为,标准答案为,候选解答为,自动标签为
它告诉模型“这份完整解答的最终答案正确”,没有告诉模型“每一步逻辑正确”。一份中途犯错但偶然得到正确答案的解答仍可能获得正标签。
每个token预测最终结果,不是逐步真伪监督
验证器从生成器参数初始化,增加标量预测头。对解答各个前缀预测最终正确性,可以将其训练目标概括为
其中是验证分数,所有前缀使用同一个最终结果标签。这与后来由人工或系统标注每步是否正确的过程奖励模型不同。前缀预测类似估计“走到这里最终会成功吗”,不能直接读成“当前这一步在数学上合法吗”。
作者还联合语言建模辅助损失,保留生成文本的能力并缓解过拟合:。训练混合原始解答和生成候选,题目部分不计相应训练损失。验证器训练一轮,避免在少量问题的重复候选上不断记忆。
输入、流程与输出
没有把验证分数作为奖励继续训练生成器,也没有证明每条输出推理都可靠。
采样增加候选,也增加裁判受骗的机会
设每个错误候选独立有ε概率得到过高分,k个错误候选中至少出现一次高分误判的概率为 。这是解释极值选择风险的教学模型,不是论文拟合的真实错误分布。验证器分数即使在普通样本上校准,取最大值后的分布也会偏向误差尾部;因此应在实际候选数量下评价best-of-k,而非仅报单样本分类准确率。
教学算例。 ε=0.01时,10个错误候选至少一个被高估的概率约9.6%,100个约63.4%。正确候选覆盖可能同时增加,最终净收益取决于两者。可固定同一响应库逐渐扩候选池,并分别画oracle覆盖与验证器最终选择曲线,才看得出瓶颈在生成还是排序。
以下是自构教学例子:三盒苹果,每盒四个,送出两个,还剩多少?生成器可能给出“3×4−2=10”,也可能把数量解释错后碰巧通过抵消错误得到10。两者按最终答案都会获得正标签。
将验证系统的准确率拆成两项条件概率
把候选池至少有一个正确解记为C,最终选中正确解记为S,则S只能在C发生时成立,故最终成功率等于覆盖率乘“已覆盖时选对”的比例。自构覆盖0.8、条件选中0.6,最终为0.48;覆盖升到0.9但条件选中降到0.5,最终反降到0.45。这比只看验证器单样本分类准确率更贴近部署。
三、生成候选库并用最终答案构造前缀监督
输入:题目—标准解答数据 D,预训练语言模型
生成器 G ← 在 D 上微调两轮
验证数据 V ← 空集
对每道训练题 q:
从 G 以温度 0.7 采样 100 份解答
用最终答案匹配给每份解答标注 z
将题目、完整解答、z 放入 V
验证器 ← 从 G 初始化,添加标量预测头
联合优化前缀结果预测与语言建模损失
测试时:
生成 N 份完整解答,按规则调用计算器
为每份完整解答计算验证分数
返回最高分解答及最终答案
四、用训练轮数、数据量和候选数定位瓶颈
把oracle覆盖与最终选择画在同一候选预算上,才能解释生成训练更久或采样更多为何可能退步。
| 项目 | 原文设置与检查目的 |
|---|---|
| 数据与模型 | GSM8K;GPT-3系列3B、6B、12B、175B;不同训练集子集检验数据规模趋势 |
| 单次生成基线 | 标准监督微调20轮,低温度单次输出;研究模型规模和训练数据影响 |
| 验证系统 | 生成器两轮、验证器一轮;默认训练与测试各100候选;温度0.7 |
| 优化预算 | 附录B表1给出批量约3.2万token、最长生成400token、Adam、线性学习率衰减;验证学习率为1e-5 |
| 外部能力 | 计算器注释与推理执行;不能与禁用计算器系统直接归因比较 |
| 指标 | 单次解题率、候选中至少一份正确的覆盖率、验证器选出正确解答的比例 |
| 不确定性 | 图5通常报告三次运行均值及标准差,175B验证器只有一次运行 |
| 消融 | 每token与末token监督、语言建模辅助损失、生成器/验证器规模、测试候选数 |
训练轮数不同是系统设计的一部分,因此验证方案并不是与单生成器具有严格相同总计算量的比较。它使用额外训练生成数据以及测试候选。图8的部分正则化配置还增加预训练阶段的dropout,比较时须保留这些条件。

证据一:§4.1的解题过程消融。 6B模型去掉中间解答、只训练最终答案后,解题率从20.6%降至5.2%,下降15.4个百分点。结果支持该训练设置下自然语言解答监督有价值;不能证明模型输出的每一步都是内部真实计算过程,也不能把收益全归于单一“更多token”因素。
证据二:图3的单次质量与候选覆盖。 横轴是训练轮数。训练更久能继续提高单次输出表现,但100次采样覆盖率会在一定阶段下降。这解释作者为何选择较早的生成检查点:排序系统的上限首先取决于候选里有没有正确解答。图中趋势不意味着所有任务都应该固定训练两轮。 图5的误差范围通常来自三次运行,但175B验证器只有一次;图13又是作者挑选的示例,不能把局部着色当成过程标注的总体准确率。


证据三:图5的数据规模曲线。 数据充分时,验证方案优于微调基线;在较小数据规模时不一定获益。6B验证系统略优于175B单次微调,是摘要中约30倍模型规模比较的依据。175/6约为29.2,这是参数量比,绝不是速度或总算力节省29.2倍:前者需要大量候选和验证计算。

证据四:图6的组件消融。 更密集的前缀监督与语言建模辅助目标缓解验证器过拟合。混合不同尺寸生成器和验证器的实验还显示,大生成器配小验证器可以优于相反配置,强调候选覆盖的重要性。它没有证明验证器总能无限缩小,也没有控制所有可能的推理时延组合。

证据五:图7的更多采样并不单调更好。 6B实验把候选数从25增加到3200,验证表现先改善,在约400后下降。搜索更大候选池也增加遇到验证器高分错误的机会。这个结果支持对选择偏差的警惕,但并不是所有验证器都在400处达到最优的普适定律。

五、结果标签仍可能奖励错误过程和格式捷径
如果正确候选完全没出现,再强的验证器也不能选出它;如果正确候选出现但验证器偏爱冗长错误解释,增加采样甚至让问题更严重。这把瓶颈分成了覆盖率、标签质量和选择质量三层,分别需要不同实验。
核心观点可以推广为:测试时计算应同时考虑生成覆盖和排序精度,而不是只增加采样数量。
最终答案匹配会容纳“错误过程碰巧答对”,还可能让验证器学习格式、长度或常见答案等捷径。图13展示了经过挑选的失败案例,有助于理解机制,却不能当作失败类型的总体频率统计。论文也未建立跨语言、高等数学或形式证明的系统性外推结论。
附录C承认计算器实现存在错误,修正后完整测试集表现约改善1%。这是复现时需要记录的版本差异:不能把修正版代码结果直接当成原图数据,也不应隐去工具实现对分数的影响。完整硬件耗时与端到端成本没有在这里获得统一可比的报告,不能从参数量自行推算。
六、从学习裁判到投票与推理预算分配
学习裁判之外,Self-Consistency用答案共识选择,推理时计算进一步分配搜索和修订预算。沿本文两项条件概率,分别检验覆盖和选择怎样改变。
自测与参考答案
1. 每个token都有验证损失,为什么还不能称为逐步正确性监督?
答案:每个前缀的标签都来自同一份完整解答的最终答案。它训练的是给定前缀时预测最终成败,而非当前步骤是否符合数学规则。要验证过程,需要额外的步骤标签、形式检查或其他能够区分中途错误的信号。
2. 6B验证系统超过175B单次模型,是否意味着计算成本降低约30倍?
答案:不能。约30倍只比较模型参数规模。系统会生成100份候选并额外运行验证器,还需要验证数据生成与训练。应比较相同质量下的总token、硬件时间、峰值显存及并行资源,参数少只影响其中一部分。
3. 为什么候选数增加后,正确候选覆盖率可以升高,最终选中正确答案的比例却下降?
答案:候选池包含正确答案的概率增加,但也更可能出现验证器异常高估的错误答案。最终选择由最大预测分数决定,不由真实正确性决定。可把覆盖率与条件选择准确率分别画图,并用独立标注检查高分错误,区分生成瓶颈与排序过优化。