InstructGPT论文精读

news2024/9/29 7:25:16

论文链接:https://arxiv.org/pdf/2203.02155.pdf

1 摘要

做的事:
1、标注了数据,问题和答案写出来,然后训练模型
2、收集数据集,排序模型的输出,使用强化学习训练这个排序的过程

效果层面来说:

  • 1.3Billions的参数 InstructGPT Model比175Billions参数的GPT3效果更好
  • 降低了模型输出无效、有害信息

2 导论

2.1 问题

训练语言模型的时候,即使给定了例子来遵循人类的指令,但是也会出现不好的例子,那是因为目标函数的问题
目标:

  • helpful
  • honest
  • harmles

2.2 方法

使用RLHF
在这里插入图片描述
step1 在gpt3进行标注数据的微调,使用上下文,预测下一个词语,SFT
step2 给生成(beam search)的答案进行标注喜好, 排序,使用RM训练(prompt+答案=》分数),分数的排序满足,人类的排序
step3 重新训练SFT,满足生成出来的结果满足人类排序的结果
第一步的难点在于:生成式的标注难度和成本高于,判别式的标注

2.3 结果

在这里插入图片描述
更强
在这里插入图片描述
更可靠
在这里插入图片描述
无毒、无偏见
在这里插入图片描述
最小化减少对共有NLP任务的影响
在这里插入图片描述
生成的内容更满足人类的喜好,找人来判断的
在这里插入图片描述
公共的NLP数据集并不能反映出我们的语言模型的使用方式
在这里插入图片描述
模型有一定的泛化性,即使没见过的任务,也是能根据先验知识,进行很好的生成
在这里插入图片描述

3 方法和实验细节

3.1 顶层设计

Step 1: Collect demonstration data, and train a supervised policy.
Step 2: Collect comparison data, and train a reward model.
Step 3: Optimize a policy against the reward model using PPO
2/3步会反复迭代

3.2 数据集

在这里插入图片描述
保证任务的多样性、一个指令,多样的回答下命令也要多、已经希望构成的任务,以上数据训练了一个模型,然后放在Playground中,试运行,收集问题,根据用户ID进行划分train\dev\test,同时过滤掉了PII.
上线后产生了三个不同的数据集:

  • SFT,直接写答案 13k样本
  • RM数据集,ranking output 33K
  • PPO, 没有标注,直接作为RLHF进行FT 31K
  • 在这里插入图片描述

3.3 任务

在这里插入图片描述

3.4 人类数据收集

招人 40个人的团队
筛选人的标准
标注的准则:helpfulness
评估的准则:truthfulness and harmlessness
标注的一致性:72.6±1.5%、77±3%

3.5 模型

3.5.1 SFT

模型用的是:GPT3
16epochs, 发现1个epochs就overfitting了,这个模型只是在初始化用

3.5.2 RM

原本的SFTmodel, 最后应该接一个softmax, 得到一个概率最大的词语,现在是,不用这个softmax,改为linear,到一个标量上,输入是:prompt+response
model是6B的model,大的模型不稳定

loss用的是pair wise ranking loss
在这里插入图片描述
拿出一对respond,如果yw的分数大于yl,那么最大化这个损失函数,用的是logistics regression,
每个prompt生成9个答案,C(9,2)=36对这样的数据集来进行构造损失. r是6B的GPT3
改了损失函授之后,过拟合的现象稍微缓和点了

3.5.3 RL

PPO算法
在这里插入图片描述
模型叫:

  • pai(RL,SIGMA) RL policy,强化学习的时候采样的y会变化,就是强化选择的过程,y生成多个,并进行排序

  • 在这里插入图片描述

  • 用上了KL散度,评估函数的相似度

  • 在这里插入图片描述

  • GPT3训练的语言模型的损失函数,保证原本数据集的性能不要下降

  • 在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

vant-list使用,请求接口之后会多几次load加页面(详细解释,动图演示)

页面实现效果:在页面中使用了van-tabs组件和van-list组件来实现页面布局和功能。问题描述:在第一个标签下,向下滚动page超过了2页之后,有点击tab切换标签,接口调用了多回。解决问题关键:loading和finished在…

爆文制造机!小红书热榜3个方向,告诉你选题诀窍!

我们知道,不论是达人创作内容,还是品牌制定Brief,都需要提前调研筛选海量信息,这时候如果有一个自己的内容素材库,就省事多啦。按照内容需求,我们可以按3个角度划分小红书内容素材:笔记类型、竞…

MyBatis的简单使用

MyBatis是一个优秀的持久型框架用于简化JDBC开发,JDBC的原生写法普遍都很麻烦,还要写原汁原味的sql语句,mybatis将很多东西都放到了配置文件里面然后用少量代码简化了免除了几乎所有的JDBC代码以及设定参数和获取结果集的工作。MyBatis 可以通…

使用D3绘制力导向图遇到的坑

目录1. 不同D3版本差异2. D3 V4版本绘制力导向图基本流程3. 跨域问题现象原因解决办法4. 异步赋值现象原因解决办法1. 不同D3版本差异 V3:通过d3.layout.force()将节点、连接线的数据转换成d3力导向图能够使用的数据结构 var force d3.layout.force().nodes(node…

哪些工具可以实现在线ps的需求

在线Photoshop有哪些工具可以选择?在 Adobe 的官网上就能够实现,很惊讶吧,其实 Adobe 官方推出了在线版本的 Photoshop 的,尽管目前还是 Beta版本,但其实也开放了蛮久了。编辑切换为居中添加图片注释,不超过…

安卓手机用WIFI无线调试adb

1、准备连接 1、首先将电脑和手机连接同一个WIFI,并插上数据线 2、打开电脑CMD,输入命令adb start-server开启adb服务 3、输入adb devices 查询已连接的设备 List of devices attached 505e894 device 这样代表已连接成功, 505e894 。 505e894是udid&…

蓝桥杯真题(JAVA)--分巧克力

题目描述儿童节那天有 K 位小朋友到小明家做客。小明拿出了珍藏的巧克力招待小朋友们。小明一共有 NN 块巧克力,其中第 i块是HiWi 的方格组成的长方形。为了公平起见,小明需要从这 NN 块巧克力中切出 K 块巧克力分给小朋友们。切出的巧克力需要满足&…

SiC MOSFET驱动电压的分析

SiC MOSFET驱动电压的分析 tips:资料来自富昌电子,及各个模块数据手册。 1.常见的Vgs与Vgs(th),以及对SiC MOSFET应用的影响 驱动电压Vgs和栅极电压阈值Vgs(th)关系到SiC MOSFET在应用过程中的可靠性,功率损耗(导通电阻),以及驱…

极光笔记 | 极光PUSH服务助力企业提升抢单速度

随着硬件、软件、网络等不断发展、完善,互联网已经渗透到了日常生活中的方方面面,在直接赋能原有行业服务的同时也带来了很多新的服务模式,给人们日常生活带来了极大便利。例如:外卖、快递、跑腿等相关业务更是在我们日常生活中随…

CHAPTER 2 Web HA集群部署 - Heartbeat

Web HA集群部署 - Heartbeat1. Heartbeat 概述1.1 Heartbeat主要组成部分2. 环境依赖2.1 环境及组件软件2.2 关闭firewalld & selinux2.3 配置双机互信,SSH密钥登录​​2.4 同步时间(以主节点时间为准)2.5 配置域名解析3 安装软件3.1 安装…

你有“ChatGPT综合征”吗:想搞钱,或是失业焦虑?

最近互联网圈里有一个“顶流”,ChatGPT上线仅5天,注册用户数就突破100万,今年2月的月活跃用户已经突破了1亿。ChatGPT的热度有增无减,过不了多久,ChatGPT这个词就会从一线城市的写字楼席卷到农村老家的饭桌上。 互联网…

自动化测试难点案例分析,其实自动化你用错方向还不如不用

随着国内企业软件开发及测试水平的提升,许多企业开始尝试开展自动化测试的应用,以提高测试效率和测试质量。虽然在国外自动化测试工具应用已经很普遍,但国内许多企业对于软件自动化测试的理解还停留在表面上,没有深入的理解到企业…

SpringMVC的常用组件和工作流程及部分注解解析

一丶SpringMVC常用的组件 1.前端控制器DispatcherServlet 作用:统一处理请求和响应。除此之外还是整个流程控制的中心,由 DispatcherServlet 来调用其他组件,处理用户的请求 接收请求,响应结果,相当于转发器&#xff…

参考 Promise/A+ 规范和测试用例手写 Promise

前言 这可能是手写promise较清晰的文章之一。 由浅至深逐步分析了原生测试用例,以及相关Promise/A规范。阅读上推荐以疑问章节为切入重点,对比Promise/A规范与ECMAScript规范的内在区别与联系,确定怎样构建异步任务和创建promise实例。然后开…

JavaSE18-面向对象-内部类

文章目录一、局部内部类二、成员内部类三、静态内部类四、匿名内部类一、局部内部类 把类定义在方法中。对象创建格式:直接在定义内部类的方法中创建。如果在该方法外就不能使用该局部内部类了。应用场景:如果需要定义一个在方法中临时使用的类可以使用…

SpringCloud(微服务)学习篇(一)

SpringCloud(微服务)学习篇(一) 1 nacos的下载和配置 1.1 进入官网 nacos官网 1.2 点击nacos➡点击最新稳定版本 1.3 往下翻并点击nacos-server-2.2.0.zip,此时就已经开始下载了 1.4 把下载好的压缩包解压到没有中文路径的目录里面 1.5 修改application.properties文件 1.…

Testlink相关功能使用部分总结

1.首页面(普通用户,测试用例创建用户的权限) 右上角切换具体的项目;页面上方包含主页、用例、测试执行、测试结果;左侧包含测试项目管理、关键字管理、编辑测试用例、搜索测试用例、每用户创建的测试用例;…

Element UI的基本使用

学习来源,传送门 目录创建vue项目Element UI主要的标签Vue router 来动态创建左侧导航栏为何会发生嵌套menu与router的绑定设置默认展开设置默认打开页面创建vue项目 以管理员身份,在选定目录下,使用vue ui 按照正常配置配好,可…

Linux(ubuntu)系统搭建docker下的LNMP环境

系统环境 系统:Ubuntu 18.04.4 LTS x86_64 管理面板:宝塔面板7.9.8 下载镜像 通过面板下载docker和docker-compose 下载完毕后通过docker->镜像->从仓库拉取拉取镜像ubuntu:20.04 或者通过docker pull ubuntu:20.04拉取镜像 通过docker->容…

代码随想录算法训练营第四十一天 | 01背包问题-二维数组滚动数组,416. 分割等和子集

一、参考资料01背包问题 二维 https://programmercarl.com/%E8%83%8C%E5%8C%85%E7%90%86%E8%AE%BA%E5%9F%BA%E7%A1%8001%E8%83%8C%E5%8C%85-1.html 视频讲解:https://www.bilibili.com/video/BV1cg411g7Y6 01背包问题 一维 https://programmercarl.com/%E8%83%8C%E5…