Let’s Verify Step by Step

openai的经典论文,发布于2023年5月31日,为当前openai-o1奠定了技术基础,同时开源了PRM800K数据集,为开源社区贡献了十分宝贵的参考

paper原文链接 : https://arxiv.org/abs/2305.20050

论文概述

当前LLM的缺点

即使当前最好的模型也经常会产生逻辑错误,需要训练更加可靠的LLM

以前的方法是怎么处理的?

在openai之前,结果监督和过程监督方法就已经存在,但是他们仍然会存在一些问题从而无法训练出更加可靠的LLM

论文的贡献

  • 过程监督比结果监督更好
  • 大的奖励模型效果更好
  • 主动学习( active learning)可以提高过程监督的数据效率
  • 开源PRM800K数据集

Method

在这里插入图片描述

论文的重心放在了generatorReward model的构造

best-of-N:在采样的N中选择最好的一个,称之为best-of-N

generator

generator是以base model为核心的系统

在这里插入图片描述

generator框架的一些细节:

  • 这个生成器不用RL去优化
  • 训练这个生成器使其能在每个步骤后面生成换行符,限制他只能一步一步输出
  • 用few-shot让generator去解决一些数据推理任务,过滤那些达成正确答案的数据,将过滤后的数据作为base model的微调数据(让模型展现推理过程)

base model的一些细节:

  • large-model: 基于GPT-4微调的,用于生成高质量解答,追求最先进的性能
  • small-model: 与GPT-4相似,但比GPT-4小(小多少没说),用于高效的实验验证,减少实验成本
  • 两类模型都在1.5B的数学任务中微调过(MathMix)这能提高模型的数学推理能力

Reward model

结果监督奖励模型(Outcome-supervised Reward Models,ORMs)

目标: ORM仅基于解答的最终结果进行评估。中间过程是否出错不会考虑

过程监督奖励模型(Process-supervised Reward Models,PRMs)

目标: PRM会对每一个步骤进行评判,最终获得一个总体的得分

上述RM是基于base model微调的,在PRM800K这类数据进行微调,让原先的base model变成了评估和打分

PRM训练数据的构造方式

基于generator生成的数据,然后进行人工标注,有三个标签:积极、消极、中立。标注时当第一个消极标签出现,则完成该条数据的步骤标注(下图为一个标注示例),openai开源了这样的标注数据(PRM800K)

在这里插入图片描述

如何选择数据进行标注?(active learning)

标注的成本很大,选择那些对模型训练有益的数据进行标注才是高效的,论文提出了active learning的方式来进行这些标注数据的选择

数据过滤

需要优先选择那些令人信服的错误答案,进行中间过程的标注;

  • 令人信服: 奖励模型选择分数最高的答案
  • 错误: 最终结果错误

在这里插入图片描述

Top-K选择

分为两种选择情况:

  • 按问题选择top-K: 对于每一个问题,生成N个解答,然后从这些解答中选择评分最高的K个解答进行标注。
  • 全局top-K选择: 在整个数据集范围内,不按单个问题过滤,而是从所有问题的解答中挑选出评分最高的K个解答进行标注。

Experiment

在这里插入图片描述

  • Best-of-N中,N与模型效果成正相关

在这里插入图片描述

  • 选择“令人信服的错误答案”进行训练,能在PRM的基础上继续提高模型效果(左图)
  • PRM模型的效果比ORM要好(右图)

在这里插入图片描述

  • 表格中的评测更加直观,在微积分、化学、物理、数学等测试题中,过程监督都是sota的水平

个人思考

  • 当前的标注成本很高,如何选择gold数据进行标注是一个值得探索的工作,active learning给出了一个方向
    格中的评测更加直观,在微积分、化学、物理、数学等测试题中,过程监督都是sota的水平
Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐