Let‘s Verify Step by Step(openai-o1论文技术调研)

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的水平

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/903274.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

VUE, element-plus, table分页表格列增加下拉筛选多选框,请求后台

简介 为了方便表格查询时可以筛选列的值,需要给列增加筛选框(多选框),element-plus提供了列的filter字段,但是基于表格数据的筛选,不会重新请求后台,而且当前表格数据有多少个条目,…

Makefile Npm

还是习惯强类型语法: typescript 不错 vue 非常好的模组 也是很好的学习模板 编译完才6MB 相当可以了 时代发展有点快 导入echarts 模块编译完才1.7MB 好用 <script> import {VaButton, VaInput} from "vuestic-ui";export default {components: {VaInput, VaB…

20241028在荣品PRO-RK3566开发板的预置Android13下用iperf3测试AP6256的WIFI网速

20241028在荣品PRO-RK3566开发板的预置Android13下用iperf3测试AP6256的WIFI网速 2024/10/28 18:17 荣品PRO-RK3566开发板作为服务器端&#xff1a; 笔记本电脑作为客户端。 接公司的网络。 在笔记本电脑的ubuntu20.04下&#xff0c;通过nethogs实测iperf3的发送速度大概是10MB…

Bi-LSTM-CRF实现中文命名实体识别工具(TensorFlow)

项目源码获取方式见文章末尾&#xff01; 回复暗号&#xff1a;13&#xff0c;免费获取600多个深度学习项目资料&#xff0c;快来加入社群一起学习吧。 **《------往期经典推荐------》**项目名称 1.【MobileNetV2实现实时口罩检测tensorflow】 2.【卫星图像道路检测DeepLabV3P…

【ArcGIS Pro实操第4期】绘制三维地图

【ArcGIS Pro实操第4期】绘制三维地图 ArcGIS Pro绘制三维地图-以DEM高程为例参考 如何使用ArcGIS Pro将栅格数据用三维的形式进行表达&#xff1f;在ArcGIS里可以使用ArcScene来实现&#xff0c;ArcGIS Pro实现原理跟ArcScene一致。由于Esri未来将不再对ArcGIS更新&#xff0c…

Python酷库之旅-第三方库Pandas(174)

目录 一、用法精讲 801、pandas.Categorical类 801-1、语法 801-2、参数 801-3、功能 801-4、返回值 801-5、说明 801-6、用法 801-6-1、数据准备 801-6-2、代码示例 801-6-3、结果输出 802、pandas.Categorical.from_codes方法 802-1、语法 802-2、参数 802-3、…

2.5 塑性力学—应变状态

个人专栏—塑性力学 1.1 塑性力学基本概念 塑性力学基本概念 1.2 弹塑性材料的三杆桁架分析 弹塑性材料的三杆桁架分析 1.3 加载路径对桁架的影响 加载路径对桁架的影响 2.1 塑性力学——应力分析基本概念 应力分析基本概念 2.2 塑性力学——主应力、主方向、不变量 主应力、主…

在房价涨声一片中,购房者更要看好钱袋,千万不要冲动入坑!

近几个月以来诸多媒体都传出房价上涨的好消息&#xff0c;二手房东也连连传出反价的消息&#xff0c;似乎房价真的到底了&#xff0c;一些购房者因此可能被市场的波动而冲动买房&#xff0c;笔者认为这个时候反而要更慎重地看待房价。 房价的低点确实很难预测&#xff0c;不过1…

单链表OJ题(2):反转链表、找中间节点

目录 1.反转链表 反转链表总结&#xff1a; 2.链表的中间节点&#xff08;快慢指针法&#xff09; 快慢指针法总结 1.反转链表 在这道题中&#xff0c;我们需要把一个单链表反转它们的指向&#xff0c;这里&#xff0c;我们给出了一个好理解的简单解法&#xff0c;就是用三…

C++ 日志管理 spdlog 使用笔记

文章目录 Part.I IntroductionChap.I 预备知识Chap.II 常用语句 Part.II 使用Chap.I 简单使用Chap.II 自定义日志格式 Part.III 问题&解决方案Chap.I 如果文件存在则删除 Reference Part.I Introduction spdlog 是一个开源的 C 日志管理工具&#xff0c;Git 上面的地址为 …

在html中引用unpkg的vue3,v-model无法绑定方法

如果用下面代码引用vue使用&#xff0c;则注意v-model无法绑定方法。 <script src"https://unpkg.com/vue3/dist/vue.global.js"></script> 例如&#xff1a; <span>方法-全名&#xff1a;</span><input type"text" v-model&…

如何将原本打开Edge呈现出的360浏览器,更换成原本的Edge页面或者百度等其他页面

每次打开Edge浏览器&#xff0c;都会呈现出360浏览器的页面&#xff0c;很烦。以下将说明如果将呈现出的360浏览器&#xff0c;更换成原本的Edge页面或者百度等其他页面。 1.找到你的控制面板&#xff0c;点击卸载程序。 2. 找到360安全卫士&#xff0c;右键单击更改/卸载。 3…

【深度学习|地学应用】人工智能技术的发展历程与现状:探讨深度学习在遥感地学中的应用前景

【深度学习|地学应用】人工智能技术的发展历程与现状&#xff1a;探讨深度学习在遥感地学中的应用前景 【深度学习|地学应用】人工智能技术的发展历程与现状&#xff1a;探讨深度学习在遥感地学中的应用前景 文章目录 【深度学习|地学应用】人工智能技术的发展历程与现状&…

抖音评论采集 可采子评论

下载&#xff1a;【1】https://drive.uc.cn/s/5257861b109b4?public1 【2】https://pan.quark.cn/s/e54155575698

python pip更换(切换)国内镜像源

国内镜像源列表(个人推荐清华大学的源) ​ 清华大学&#xff1a; https://pypi.tuna.tsinghua.edu.cn/simple阿里云&#xff1a; http://mirrors.aliyun.com/pypi/simple豆瓣&#xff1a; http://pypi.douban.com/simple中国科技大学&#xff1a; https://pypi.mirrors.ustc.e…

Linux 重启命令全解析:深入理解与应用指南

Linux 重启命令全解析&#xff1a;深入理解与应用指南 在 Linux 系统中&#xff0c;掌握正确的重启命令是确保系统稳定运行和进行必要维护的关键技能。本文将深入解析 Linux 中常见的重启命令&#xff0c;包括功能、用法、适用场景及注意事项。 一、reboot 命令 功能简介 re…

福鼎自闭症全托干预:为福鼎地区自闭症患者提供个性化教育

在探讨自闭症儿童的教育与干预时&#xff0c;个性化与全面关怀成为了不可忽视的关键词。福鼎地区的自闭症全托干预项目&#xff0c;以其对患儿个体差异的深刻理解与尊重&#xff0c;为自闭症患者提供了量身定制的支持。而在遥远的广州&#xff0c;星贝育园自闭症儿童寄宿制学校…

js基础入门篇

1.输出语句&#xff0c;内部样式&#xff0c;外部样式&#xff0c;数组定义 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.…

Oracle OCP认证考试考点详解082系列01

题记&#xff1a; 本篇博文是Oracle OCP认证考试考点详解082系列的第一篇&#xff0c;本系列主要讲解Oracle OCP认证考试考点&#xff08;题目&#xff09;&#xff0c;适用于19C/21C,跟着学OCP考试必过。 1. 第一题&#xff1a; 1. 题目 2. 解析及答案 关于Oracle数据库中节…

numpy——索引切片

一、索引和切片 import numpy as npx np.arange(48).reshape(6, 8) print(x)# 选取第二行 print(x[1]) #从0开始&#xff0c;取得第2行# 选取第二行, 第二列 print(x[1][1])# 选取第三行到最后一行, 第一列到最后一列 print(x[2:,2:])# 花式索引 (1, 1) 和 (4, 4) print(&quo…