OpenAI | Let’s Verify Step by Step详细解读

一、概述

title:Let’s Verify Step by Step

论文地址:https://arxiv.org/abs/2305.20050

代码:GitHub - openai/prm800k: 800,000 step-level correctness labels on LLM solutions to MATH problems

1.1 Motivation

  1. 近期大模型的出现极大的提升了复杂问题的多步推理能力,例如可以通过逐步思考(CoT)改善推理任务,但是即使最先进的模型也会产生逻辑错误。
  2. 如何训练一个更好的reward model,来做大模型的alignment对齐研究也是一个具有挑战的问题。
  3. 结果监督(只提供最终的结果作为监督信号)和过程监督(提供每一个中间推理结果的反馈)哪个好,还有待详细对比和研究。

1.2 Methods

  1. 实验步骤和方法:
    1. 训练最可靠的reward model:对GPT-4模型进行微调,拿到最可靠的ORM和PRM。
    2. 生成器:通过GPT-4生成所有候选解决方法,此步GPT-4没经过RL来alignment优化。
    3. 评价:对生成的结果进行N选1,最终根据答案来评分。
    4. 两种不同规模的模型:所有大模型是通过GPT-4微调,没有经过RL训练,小规模模型和GPT4类似,但是计算量少200倍,模型在15亿数学相关的数据集MathMix上进行了微调。
  1. 过程反馈数据收集方法:

OpenAI | Let’s Verify Step by Step详细解读_第1张图片

  • 数据收集方案【基础方案】:对于每一步收集人类反馈结果
  • 优化策略【高价值负样本挖掘】:标注数据的时候,尽可能对更有可能欺骗reward模型的数据来进行标注,如果展示明显错误的解决方案,获得的反馈价值没那么大
  • 迭代训练奖励模型【高价值负样本挖掘】:在每次迭代中,对每个问题生成N个解决方案,并仅向数据标注者展示得分最高的K个具有说服力的错误答案解决方案。作者尝试将此top-K过滤应用于问题级别(每个问题K个解决方案)或全局级别(总共K个解决方案,在问题之间不均匀分布)
  1. ORM以及PRM建模方法
    1. Outcome-supervised Reward Models (ORMs):直接判断一个solution最终结果是正确还是错误的【有可能中间推理错误,最终结果正确的现象】。
    2. Process-supervised Reward Models (PRMs):加入了每一步step的标记,这样可以直接在自回归模型进行训练,同时在遇到结束位置标记时,训练PRMs去预测每一step是否正确。
    3. 如何解决ORM和PRM监督信号不对等的问题:在提供过程监督时,他们有意选择只监督到第一个错误的步骤。这样做使得结果监督和过程监督之间的比较更加简单明了。对于正确的解决方案,两种方法提供相同的信息,即每个步骤都是正确的。对于不正确的解决方案,两种方法都揭示了至少存在一个错误,而过程监督还揭示了该错误的具体位置。如果他们在第一个错误之后提供额外的过程监督,那么过程监督将具有更大的信息优势。这个决策还保持了对人类的标注成本相似:在不依赖于易于检查的最终答案的情况下,确定解决方案的正确性等价于确定其第一个错误。

OpenAI | Let’s Verify Step by Step详细解读_第2张图片

说明:左边是正确的slutions,右边有部分推理是错误的,PRM(过程监督)正确地指出了错误答案中的错误

1.3 Conclusion

OpenAI | Let’s Verify Step by Step详细解读_第3张图片
  1. 过程监督比结果监督好很多,在数学领域,能极大的提升performance,训练更可靠的reward model,本文训练的过程监督模型在MATH子数据集解决了78%的问题,消除这一重大进入障碍将促进对大型语言模型对齐的相关研究。
  2. 主动学习(active learning)可以极大提升过程监督的效率(data efficiency提升2.6倍)。
  3. 放出了PRM800K数据集:80万 step-level人类反馈的标签(本文训练reward model的数据集)

二、详细内容

1 大规模监督学习

目的:比较PRM(过程监督) vs ORM(结果监督)最佳表现与N(每个问题N个solution的数量选一个最终的结果)的关系

OpenAI | Let’s Verify Step by Step详细解读_第4张图片

  • N:每个问题solution的个数
  • ORM:结果监督,解决72.4%,比投票好一点,说明加上监督信号的reward 模型还是有用的。
  • PRM:过程监督,解决78.2%的问题,比ORM好不少。
  • Majority Voting:投票,感觉也不错,需要产生多个结果来投票,有点类似模型融合。
  • 与N的关系:随着N的增大,PRM和ORM的gap越来越大,说明相对于ORM和Majority Voting,PRM能更有效的在众多答案中找到正确的答案。

2 小规模合成监督学习【公平对比ORM和PRM】

背景:由于数据集构建,监督方法的不同,以及结果评判方法的不同,直接对比ORM和PRM有点不太好比较

原因:(1)ORM和PRM的训练集无法直接进行比较:PRM训练集是通过主动学习构建的,偏向于错误答案的解决方案,并且规模小了一个数量级。(2)ORM最终答案的评分正确但可能推理过程错误带来评判不公平。(3)收集人工反馈的成本很高,无法轻易地通过人工标注者去除这些因素

解决方法:使用大规模的PRM(PRMlarge)来监督较小的模型来进行相关的消融实验。这个设置可以以较低的成本模拟大量的数据收集。

OpenAI | Let’s Verify Step by Step详细解读_第5张图片
  • solution生成:从一个小规模的生成器中随机选取每个问题1到200个解决方案。
  • 三种监督方式:相当于利用大的PRMlarge来做小模型的PRM或者ORM,控制PRM或者ORM作为变量,监督模型PRMlarge保持不变的:
    • PRM(PRMlarge supervised):利用PRMlarge(即大规模PRM,以下简称PRMlarge)来做过程监督
    • ORM(PRMlarge supervised):利用PRMlarge(即大规模PRM,以下简称PRMlarge)来做结果监督
    • ORM(final-answer supervised):不看过程,只看最终结果,相当于只拿最终结果来进行监督
OpenAI | Let’s Verify Step by Step详细解读_第6张图片
  • 结论:
    • 图(a)根据500个最佳选择来评估每个奖励模型。我们看到,在所有数据收集规模上,PRM过程监督的表现都大大优于两种形式的结果监督(ORM(PRMlarge supervised)和 ORM(final-answer supervised))。
    • 图(b)通过其在N个不同值中的最佳表现来评估每个系列的最佳奖励模型。我们看到,使用PRMlarge进行结果监督明显比最终答案检查更有效。这可以解释为,PRMlarge为使用不正确的推理得出正确最终答案【结果正确,推理错误】的解决方案提供了更好的监督。

3 主动学习

  • 背景:主动学习是一种机器学习技术,它可以通过选择最具价值的样本来优化模型训练过程。
  • 方法步骤:
    • 使用一种小规模的奖励模型PRMselector,每个问题评分1000个样本。
    • 从每个问题选择N个样本,其中80%是最令人信服的错误答案样本,20%是剩下的最令人信服的样本(正确或错误答案)
    • 使用PRMlarge对所选样本进行评分并基于这些评分并进行训练
  • 结论:
    • 性能如图4a所示。通过比较具有和不具有主动学习的最佳拟合线的斜率,这种数据标记方案的性能比均匀数据标记大约高效2.6倍。
    • 当使用最大主动学习数据集(每个问题200个样本)训练模型时,结果略低于预期的趋势线,可能是因为200个样本代表了整体选择池(1000个样本)的相当大比例,导致相对缺乏多样性限制了主动学习的潜在优势。

4 泛化能力

OpenAI | Let’s Verify Step by Step详细解读_第7张图片
OpenAI | Let’s Verify Step by Step详细解读_第8张图片
  • 方法:一个包含224个STEM问题的保留集上评估了大规模ORM和PRM,这些问题来自最近的AP物理学、AP微积分、AP化学、AMC10和AMC12考试。这些测试是在预训练数据集编制之后发布的,因此可以高度确信模型没有见过这些问题。
  • 结论:PRM的泛化能力表现优于ORM和多数投票。这向我们表明,PRM可以容忍适度的distribution shift,其强劲的表现在新的测试问题上保持不变。

三、参考文献

  1. OpenAI最新研究Let's verify step-by-step,过程胜于结果!:OpenAI最新研究Let's verify step-by-step,过程胜于结果!
  2. Let's Verify Step by Step:Let's Verify Step by Step

你可能感兴趣的:(nlp_paper,llm,nlp,chatgpt,reward模型,大模型微调)