当前位置: 首页 > news >正文

【AI/NLP】InstructGPT数据标注问题

文章目录

  • 1 背景介绍
  • 2 标记员筛选
    • 2.1 标记员筛选标准
  • 3 数据集及其标注
    • 3.1 预训练
    • 3.2 微调
      • 3.2.1 SFT-demonstration data
      • 3.2.2 RM-comparison data
    • 3.3 数据集大小
  • 4 模型实现

1 背景介绍

ChatGPT的训练过程与InstructGPT相近,大致分为三步:

  1. SFT:收集描述型数据,对GPT3.5有监督微调
  2. RM:收集对比型数据,训练一个奖励型模型(RM)
  3. PPO:使用PPO算法,用RM继续微调GPT3.5

由上述可见,任何一个训练过程,首当其冲的是获取到每个任务阶段所需要的标注型数据,因此本文将对ChatGPT可能使用到的数据及其标注方法进行介绍。

2 标记员筛选

由于在ChatGPT微调的过程中,对数据极为敏感,人们所希望的语言对话模型所生成的回答应该是真实、无害、有帮助的,并且在模型评估时,真实、无害是基本要素。在这样的需求下,openAI在挑选标记员时进行了一系列的筛选测试,从而保证结果的可靠性。

2.1 标记员筛选标准

  1. 对敏感言论的看法。敏感言论指的是能够引起人的强烈负面情绪的言论,openai要求标记者对其看法应尽量一致;
  2. 答案排名能力。要求标记员与研究人员,就模型给出的问题回答排序应一致;
  3. 识别不同领域的敏感内容的能力。

3 数据集及其标注

3.1 预训练

由于无论是ChatGPT所采用的GPT3.5,还是InstructGPT所采用的GPT3,都是事先训练好的预训练模型进行微调,所以无需太多关注预训练阶段所使用的数据。

在预训练阶段,模型采用无监督学习方式,所采用数据集来自大规模文本数据,如网页、电子书、新闻文章、博客等,无需进行标注。训练过程中,模型接受一个输入序列(通常是文本的一部分),通过前面已经生成的部分来预测接下来的一个单词。在训练过程中,模型会根据预测结果和实际标签的差异来更新模型的参数,以使得模型能够更好地预测下一个单词(与GPT训练方式相似)。

上式描述了预训练阶段模型的似然函数,模型设置了大小为k的窗口,每次用k个单词去预测随后出现的单词,使整体预测概率最大。
https://www.cs.ubc.ca/~amuham01/LING530/papers/radford2018improving.pdf

3.2 微调

在有了预训练模型阶段,我们将用具体的下游任务类型出现的数据,对模型进行微调,从而产生符合预期的效果。在InstructGPT中,训练过程分为了三个阶段为有监督微调(SFT)奖励模型训练(RM)基于RM模型使用PPO微调SFT。本节内容将对各阶段出现的数据及标注,各数据集的大小进行介绍

3.2.1 SFT-demonstration data

在微调阶段,模型会使用人类对话数据进一步优化模型,微调阶段属于有监督学习,需要对文本进行标注。对于这个阶段的数据(demonstration data),将会构造或针对给定的问题,由标注工对这些问题进行回答,问题-回答对构成有标签的数据,用于对模型微调。出现的问题形式共有3种:

  • plain:直接给出需求问题,如“世界上最大的河?”;
  • few-shot:先给出一些问题和回答,再提出新问题。如“给出此条微博的情感分析?”先提供若干条微博信息,并给出其“正面”或者“负面”的标签,再给出一条新的微博内容;
  • user-based:根据具体的用户场景设计出的问题,场景类型共10类,如生成类问题,问答,头脑风暴,聊天,重写,总结,分类,抽取等。如头脑风暴场景下的“学习古希腊时应该知道的重点?”,生成类场景下的“写一篇短篇小说,讲述一只棕熊到海滩上,和一只海豹交朋友,然后回家的故事”,对故事进行续写。

3.2.2 RM-comparison data

在RM阶段,针对给定问题,由SFT微调得到的模型先产生对原问题的不同答案,由标注工对答案的正确性进行排序(comparison data),并选择更倾向于模型输出的哪一个答案,如下:

Q:“解释什么是数据结构?”
A. 数据结构是计算机的一门专业课,可用特殊的结构对数据进行存储,为高效的算法提供条件
B. 数据结构涉及数学知识
C. 数据结构属于生物学领域
D. 数据结构属于材料学领域
标注结果:A>B>C=D

以上结果的排序依据,遵从从有帮助性、真实性、无害性三个评估角度出发,其中对绝大多数任务来说,无害性、真实性的权重会远高于有帮助性(训练时则有帮助性权重更高)。但也有特殊情况,如:

  1. 某一个答案相较于其它提供的帮助非常明显;
  2. 该输出仅有些许不真实/有害;
  3. prompt不属于高风险领域(贷款申请、治疗、医疗、法律咨询等),那么将提高“有帮助性”所占的权重。如果出现帮助性相同,但不真实/有害在不同的地方,那么将从用户角度判断哪种可能对用户造成更大的损失,从而将它的排序结果置后。

此外,我们还希望模型具备“ 当输入是一些有害的言论时,希望输出是无害的 ” 的能力。该能力的评价标准将从无害性连续性出发,这里的连续性指的是输入和输出在逻辑上可以构成一个文本,而不会读起来明显像两个文本的情况。我们将从输出的有害度,输入输出相对有害度,输入输出文本连续性上进行打分,从而依据打分结果获得排序结果。

在这里插入图片描述

标记员的在第二个阶段RM标注工作在如下图所示的界面完成。

在第一张图中,标注员首先会给出1-7范围内的得分,得分更高的回答质量也更高,并且基于真实性,无害性,有帮助性,给出元数据的标签。而第二张图指的是在上一张图的工作完成以后,对模型的所有输出进行排序。

3.3 数据集大小

在InstructGPT上,雇佣了40人进行标注及API中获得的。

在这里插入图片描述

训练集上,SFT标注了13k条数据(API+人工),RM标注了33k(API+人工),PPO标注了31k(API)。

验证集上,SFT任务有1653条,RM有18k条,PPO中有16k条。

4 模型实现

在数据集采集及标注完全后,需要分别训练出两个不同的模型,即SFT和RM。

在SFT阶段,使用采集的问答对数据,对GPT进行有监督微调。

在RM阶段,使用对比数据集,训练RM奖励模型
RM模型是将SFT去掉softmax层,改成输出为1的线性层,从而在以问答为输入的情况下,输出得到奖励值。
在训练过程中,为了避免过拟合现象的出现,采用成对展示输出结果的方式,然后用户从中选择更好的结果输出。

RM所定义的损失函数会最大化两者之间的差值。RM损失函数:x代表prompt,yw代表的是质量较高的回答,yl代表质量较低的,r为奖励模型的输入结果。每轮对prompt的所有回答进行两两比较,这样设计损失函数使得yw(质量较高回答)的得分尽可能高,最大化两个回答之间的差值。

在最后PPO阶段,是利用第二步得到的奖励模型,指导SFT训练,用PPO算法微调SFT。针对给定的问题,由SFT生成回答。问题-回答作为输入,用RM模型得到奖励值,用奖励值使用PPO更新SFT,为一次迭代。由于SFT每轮参数都会发生变化,导致强化学习的环境也改变,所以在损失函数中加入KL散度。
InstructGPT

相关文章:

【AI/NLP】InstructGPT数据标注问题

文章目录1 背景介绍2 标记员筛选2.1 标记员筛选标准3 数据集及其标注3.1 预训练3.2 微调3.2.1 SFT-demonstration data3.2.2 RM-comparison data3.3 数据集大小4 模型实现1 背景介绍 ChatGPT的训练过程与InstructGPT相近,大致分为三步: SFT&#xff1a…...

三次握手和四次挥手

文章目录TCP三次握手为什么要三次握手三次握手可以携带数据吗?三次握手失败,服务端会如何处理?ISN代表什么,意义,何要动态随机什么是半连接队列第2次握手传回了ACK,为什么还要传回SYN?为什么要四次挥手TCP…...

Jmeter常用断言之响应断言详解

响应断言是最常用的一种断言方法,主要是对响应结果中的文本内容进行断言,比如响应结果是否包含指定的值,或者是否等于指定的值。响应断言可以适用各种返回类型的响应结果,如:Test、html、application/json、applicatio…...

【Python学习笔记】36.Python3 MySQL - mysql-connector 驱动(1)

前言 MySQL 是最流行的关系型数据库管理系统,本章节为大家介绍使用 mysql-connector 来连接使用 MySQL, mysql-connector 是 MySQL 官方提供的驱动器。 Python3 MySQL - mysql-connector 驱动 我们可以使用 pip 命令来安装 mysql-connector&#xff1…...

计算机SCI论文课题设计需要注意什么? - 易智编译EaseEditing

课题设计就要本着严谨性和可行性来进行。实验设计的类型要选择准确,统计学的方法要运用合理,研究对象和观察指标的选择也要符合研究目的的要求,技术路线要清晰明了。 关于课题的设计的可行性也要综合考虑,比如前期的相关工作基础…...

Quartz入门教程

本文参考文章编写 Quartz 官网 Quartz 是 OpenSymphony 开源组织在 Job Scheduling 领域又一个开源项目,是完全由 Java 开发的一个开源任务日程管理系统,“任务进度管理器”就是一个在预先确定(被纳入日程)的时间到达时&#xff…...

TypeScript 学习之 function

函数可以实现抽象层,模拟类,信息隐藏和模块。 函数有:有名字的函数、匿名函数 在 JavaScript 中的函数 // 有名字的函数 function add(x, y) {return x y; }// 匿名函数 let myAdd function (x, y) {return x y; };函数类型 typescript 可…...

【云计算自学路线】

云计算包含的技术内容和涉及的方向比较多,一定要进行系统化的学习才能更好的掌握这门技术。 云计算作为互联网新技术领域,现阶段也是出于高速发展期,想学习加入云计算行业的小伙伴可以抓紧机会了,跟着小课一起来了解云计算以及它…...

code01 v2黑屏、花屏、死机、断电重启、休眠死机的进来

症状解决 长话简说,症状如下: 使用浏览器、播放视频等,遇到突然死机或花屏死机的情况 关闭硬件加速,如:浏览器中设置关闭硬件加速,出现这种症状的软件都需要设置 开机电流音、播放与暂停时喇叭吱吱想、打…...

分享107个HTML电子商务模板,总有一款适合您

分享107个HTML电子商务模板,总有一款适合您 107个HTML电子商务模板下载链接:https://pan.baidu.com/s/1VW67Wjso1BRpH7O3IlbZwg?pwd0d4s 提取码:0d4s Python采集代码下载链接:采集代码.zip - 蓝奏云 Aplustemplates 购物模板…...

Barra模型因子的构建及应用系列三之Momentum因子

一、摘要 在之前的Barra模型系列文章中,我们已经初步讲解、构建了Size因子和Beta因子,并分别创建了对应的单因子策略。通过回测发现,其中Size因子的小市值效应具有很强的收益能力。而本篇文章将在该系列下进一步构建Momentum因子。 二、模型…...

8.2.1.3 索引合并优化

索引合并访问方法检索具有多个范围扫描的行,并将其结果合并为一个。此访问方法仅合并来自单个表的索引扫描,而不是跨多个表的扫描。合并可以生成其基础扫描的合并、交叉或交叉的合并。 可以使用索引合并的查询示例: SELECT * FROM tbl_name…...

水雨情在线小能手-雨量水位报警站

雨量水位报警站由水位探测器、雨量传感器、报警灯、扩音器、太阳能板和采集传输控制器组成。实时采集水位等级,三个水位探测器对应3个水位等级,当现场水面浸没相应探测器时,本机会实时发出语音报警,同时可发送相应的预警/报警等级…...

【蓝桥杯集训4】双指针专题(6 / 6)

目录 3768. 字符串删减 - 滑动窗口ac 799. 最长连续不重复子序列 - 滑动窗口 800. 数组元素的目标和 - 二分ac 2816. 判断子序列 - 双指针 1238. 日志统计 - 滑动窗口 1240. 完全二叉树的权值 - 双指针 1、前缀和 - 通过了 5/12个数据 2、双指针 3768. 字符串删减 -…...

文件流,gzip解压,压缩

目录 文件画布 写入 (空文件Foutnew File(Parent,entry.getName());)FileOutputStream outnew FileOutputStream(Fout);BufferedOutputStream Boutnew BufferedOutputStream(out);其他流量基于基础包装文件--文件流---字节流 顺序pbf一般是形成后再压缩目…...

在线开会,来开开圆桌会议吧~

圆桌会议应用场景:适合内部培训、部门会议亦或是头脑风暴等较为轻松的场景,有兴趣的朋友可以联系我来测试哦~~ 上图: 图:圆桌会议应用截图 在圆桌布局之下,企业可以将每一位参会者和座位绑定,1:1模拟线下圆…...

使用营销自动化的 7 大主要优势

对于大多数企业家来说,自动化已成为在数字时代简化业务的必要条件。那么,您可以采取哪些步骤来实施营销自动化呢? 1. 社交媒体整合 拥有吸引人的社交媒体形象是成功的先决条件。您不可能完成所有社交媒体营销任务,使用自动化软件&…...

【图像分类】基于PyTorch搭建GRU实现MNIST手写数字体识别(单/双向GRU,附完整代码和数据集)

写在前面: 首先感谢兄弟们的关注和订阅,让我有创作的动力,在创作过程我会尽最大能力,保证作品的质量,如果有问题,可以私信我,让我们携手共进,共创辉煌。 在https://blog.csdn.net/AugustMe/article/details/128969138文章中,我们使用了基于PyTorch搭建LSTM实现MNIST手…...

day14_oop_抽象_接口

今日内容 上课同步视频:CuteN饕餮的个人空间_哔哩哔哩_bilibili 同步笔记沐沐霸的博客_CSDN博客-Java2301 零、 复习昨日 一、作业 二、抽象 三、接口 零、 复习昨日 多态的好处: 扩展性强.加入新的功能,不需要改动代码降低代码耦合度(解耦合或者松耦合) 一、抽象类 1.1 抽象类…...

模式识别 | MATLAB实现DNN深度神经网络模式分类识别

分类预测 | MATLAB实现DNN全连接神经网络多特征分类预测 目录 分类预测 | MATLAB实现DNN全连接神经网络多特征分类预测基本介绍任务描述程序设计参考资料基本介绍 DNN的结构不固定,一般神经网络包括输入层、隐藏层和输出层,一个DNN结构只有一个输入层,一个输出层,输入层和输…...

【C++】类和对象三大特性--继承

文章目录1.继承的概念及定义1.1继承的概念1.2 继承定义1.2.1定义格式1.2.2继承关系和访问限定符1.2.3继承基类成员访问方式的变化2.基类和派生类对象赋值转换3.继承中的作用域4.派生类的默认成员函数5.继承与友元6. 继承与静态成员7.复杂的菱形继承及菱形虚拟继承虚拟继承解决数…...

MySQL的存储引擎

目录 一.概念 二.分类 操作 修改默认存储引擎 一.概念 数据库存储引擎是数据库底层软件组织,数据库管理系统(DBMS)使用数据引擎进行创建、查询、更新和删除数据。不同的存储引擎提供不同的存储机制、索引技巧、锁定水平等功能。现在许多不…...

工程项目管理系统源码-简洁+好用+全面-工程项目管理系统

​ ​工程项目管理系统是指从事工程项目管理的企业(以下简称工程项目管理企业)受业主委托,按照合同约定,代表业主对工程项目的组织实施进行全过程或若干阶段的管理和服务。 ​系统定义 工程项目管理企业不直接与该工程项目的总承…...

什么是STAR原则?

文章目录📋前言🔥省流版🎯什么是STAR原则🎯进行过程📋前言 对于大部分还在学习阶段的学生们来说,可能并不了解这个原则的含义,这里的star并不是指英文单词星星。这个原则我也是前段时间才认识到…...

前置知识-初值问题、显式隐式龙格库塔方法、Butcher阵列

1.1.4 龙格一库塔法 将向前欧拉法写成式 (1-37) 的形式, 可以看出它实际上利用了 f ( x , u ) f(x, u) f(x,u) 在 x n...

PythonWeb Django PostgreSQL创建Web项目(二)

安装数据库PostgreSQL并创建数据库 我第一次尝试使用PostgreSQL数据库,why?我喜欢它提供的丰富的数据类型,例如货币类型、枚举类型、几何类型(点、直线、线段、矩形等等)、网络地址类型、文本搜索类型、XML类型JSON类型等等,非常…...

Python学习笔记:使用字符串

使用字符串 使用字符串格式:精简版 百分号 % # 指定要设置其格式的值时,可使用单个值(如字符串或数字),可使用元组(如果要设置多个值得格式),还可使用字典 >>> format …...

echarts饼图封装

1. 组件 <template> <div :id"id" class"main" :style"{ width: width, height: height }" :ref"id" ></div> </template> <script> import * as echarts from "echarts"; export default { …...

Web3.0 教学基础一

目录 什么是web3.0 Web 1.0 概念 Web 2.0 概念 Web 3.0 概念 Web 3.0 的优势 什么是DAPP 什么是web3.0 在了解web3.0之前我们需要了解下前面的web1.0与web2.0。 Web 1.0 概念 Web1.0是万维网最初的版本&#xff0c;而静态网站则被认为是全网Web 1.0的起源&#xff0c;用…...

body使用渐变色无效的原因之一:html没有设置高度

直接在css文件中对body设置渐变色&#xff1a; body {height: 100%;background: -webkit-linear-gradient(120deg, #a1c4fd 0%, #c2e9fb 100%);background: -moz-linear-gradient(120deg, #a1c4fd 0%, #c2e9fb 100%);background: -o-linear-gradient(120deg, #a1c4fd 0%, #c2e…...

松江做网站/帆软社区app

A: 今天同学遇到了一个FCKeditor如何删除文件中图片的问题&#xff0c;我也是第一次遇到&#xff0c;为了解决这个问题从网上搜到了一点资料。与大家共享一下。最近在做项目时做了这样一个功能&#xff0c;已减少垃圾图片&#xff01;用正则表达式得到图片的路径与名称。 PageV…...

批批发发网网站站建建设设/市场调研报告模板范文

何凯明&#xff08;Kaiming He&#xff09;是 ResNet 作者之一、Facebook AI 实验室研究科学家。最近&#xff0c;他的最新研究成果Mask R-CNN公布&#xff0c;这是一个概念上简单&#xff0c;灵活&#xff0c;而且通用的对象实例分割框架&#xff0c;在 COCO 的实例分割&#…...

百度seo和sem/优化营商环境指什么

有两种解决方案&#xff1a; 1. 客户端button一定得是button类型&#xff0c;而不能是submit,且此服务器端的button只能用width0 height0 来隐藏&#xff0c;而不能用style"display:none;" 或visiblefalse来进行隐藏! 2. 在服务器上注册&#xff1a;this.btnStat.At…...

给个做的网站吗/html网页制作app

2019独角兽企业重金招聘Python工程师标准>>> 上篇主要是介绍了HTTP存在的两大安全问题 明文无法验证服务器的真实性从而引出了TLS。本篇就来着重介绍下TLS。 说起TLS可能有些人还比较陌生&#xff0c;但如果说到SSL&#xff0c;那知道的人就更多了。TLS其实就是SSL发…...

app分销商城系统/宁波seo排名优化培训

// 适配器 Adapter类中简要代码 Context mContext;//获取环境上下文 //设置领用日期holder.tvDate.setOnClickListener(new View.OnClickListener() {Overridepublic void onClick(View v) {Toast.makeText(mContext.getApplicationContext(), "预约时间无效&#xff0c;请…...

建立网站最先进的互联网技术有哪些/最新新闻热点事件及评论

1.debug的启动&#xff0c;退出和常用指令。 用r命令修改寄存器AX中的内容 用debug的D查看内存中的内容 查看1000&#xff1a;9单元中的内容 用e命令修改从1000&#xff1a;0开始的10个单元的内容 用e命令将机器码写入内存 用u命令将内存单元中的内容翻译为汇编指令显示 使用t命…...