跳转至

Training Verifiers to Solve Math Word Problems

中文结构化译文第一版,基于同目录 note.md 整理;原文 PDF、解析文本和笔记均在本目录。 作者与组织见下方“元信息”;若原笔记未记录组织,后续精修时继续补齐。

元信息

  • ID: arXiv:2110.14168
  • 年份: 2021
  • 作者: Karl Cobbe, Vineet Kosaraju, Mohammad Bavarian, Mark Chen, Heewoo Jun, Lukasz Kaiser, Matthias Plappert, Jerry Tworek, Jacob Hilton, Reiichiro Nakano, Christopher Hesse, John Schulman
  • 本地 PDF: paper.pdf
  • 解析文本: main_en.md
  • 页数: 22
  • 主题: GSM8K, verifier, outcome-supervised reward model, best-of-N rerank

摘要翻译

论文指出,大语言模型在许多任务上已接近人类表现,但在多步数学推理上仍不稳健。作者提出 GSM8K,一个包含 8.5K 道高质量小学数学文字题的数据集,并发现即便大模型也难以在该分布上取得高测试性能。为了提升性能,论文训练 verifier 来判断模型生成解答的正确性:测试时生成多条候选解答,然后选择 verifier 排名最高的一条。实验显示,verification 显著提升 GSM8K 性能,并且相较单纯 finetuning,随着数据增加扩展得更好。

定位

这篇是 ORM/verifier 路线的基础论文。这里的 verifier 接收“题目 + 完整候选解答”,输出该解答最终是否正确的概率;标签只来自最终答案是否匹配,因此是典型 outcome supervision。

动机

生成式模型在多步推理中容易“一步错,后面全错”。如果只靠更大模型或更多 SFT 数据,论文根据 Figure fig:bc_baseline 的趋势估计,需要非常大的模型或数据规模才能达到高 solve rate。Verifier 的核心动机是把“生成正确解答”拆成两件事:先多样化采样,再让一个模型做选择。

方法

训练流程在 Section Verification 和 Figure fig:verifier_diagram 中给出:

  1. 先把 generator 在 GSM8K 上 finetune 2 epochs。
  2. 每个训练题采样 100 条 completion。
  3. 只根据最终答案是否正确给每条 completion 标 0/1。
  4. 训练 verifier 1 epoch。
  5. 测试时每题采样 100 条,用 verifier 选分数最高的解答。

重要实现细节:

  • verifier 是语言模型加 scalar head,不是单独的分类器。
  • 默认采用 token-level verifier:对解答中的每个 token 预测同一个最终正确性标签,可看作 token-level value function。
  • 训练 verifier 时同时保留 LM objective。论文在 Figure fig:fc_verifier_loss_ablation 中显示,verification objective + LM objective 优于只用 verification objective。
  • verifier 初始化自对应 generator,附录 Verifier Details 说这比从原始 pretrained LM 初始化略好。
  • 训练数据中 question token 被 mask,只在 solution token 上计算 loss。

实验

关键结果来自 Section VerificationVerification Ablations

  • verifier 在数据足够时显著优于 finetuning baseline。
  • 低数据量时 verifier 不一定有益,因为模型更容易记最终答案而不是学习可泛化推理特征。
  • token-level verifier 最终优于 solution-level verifier,虽然训练初期更慢。
  • 大 generator + 小 verifier 优于小 generator + 大 verifier,说明 verifier 经常只需识别候选中的相对质量差异。
  • 附录 Hyperparameters 给出主要设置:batch size 为 3.2e4 tokens,max sample length 400,verifier learning rate 1e-5,verifier loss 使用 MSE,train/test completions per problem 均为 100。

局限

  • 标签只看最终答案,正确答案配错误推理会成为 false positive。
  • 领域是 GSM8K,小学数学的答案可自动判定;更主观或不可自动验真的任务需要偏好标签或人工/LLM judge。
  • verifier 可能学习到 generator 特有的错误模式,跨 generator 泛化未被充分验证。

ORM 训练启发

  • ORM 训练数据的质量来自“同一题多候选”,不是只堆更多题。
  • generator 不宜训练到采样多样性崩塌;论文选择 2 epochs,是因为 test@100 很早达到峰值。
  • 可以优先尝试 token-level scalar head,即便最终只用最后 token 分数做 rerank。
  • 如果训练目标是 rerank,验证指标应包括 best-of-N solve rate,而不只是 verifier loss。
  • 先从 generator checkpoint 初始化 ORM 通常比从 base 初始化更自然,因为 ORM 要判断的是该 generator 的候选分布。

与其他论文关系

Uesato et al. 2022 继承了这里的 ORM 训练方式,并系统比较 outcome feedback 与 process feedback。Lightman et al. 2023 则在更难的 MATH 上显示 PRM 明显强于 ORM。