当前位置: 首页 > 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结构只有一个输入层,一个输出层,输入层和输…...

接口测试中缓存处理策略

在接口测试中,缓存处理策略是一个关键环节,直接影响测试结果的准确性和可靠性。合理的缓存处理策略能够确保测试环境的一致性,避免因缓存数据导致的测试偏差。以下是接口测试中常见的缓存处理策略及其详细说明: 一、缓存处理的核…...

PPT|230页| 制造集团企业供应链端到端的数字化解决方案:从需求到结算的全链路业务闭环构建

制造业采购供应链管理是企业运营的核心环节,供应链协同管理在供应链上下游企业之间建立紧密的合作关系,通过信息共享、资源整合、业务协同等方式,实现供应链的全面管理和优化,提高供应链的效率和透明度,降低供应链的成…...

【第二十一章 SDIO接口(SDIO)】

第二十一章 SDIO接口 目录 第二十一章 SDIO接口(SDIO) 1 SDIO 主要功能 2 SDIO 总线拓扑 3 SDIO 功能描述 3.1 SDIO 适配器 3.2 SDIOAHB 接口 4 卡功能描述 4.1 卡识别模式 4.2 卡复位 4.3 操作电压范围确认 4.4 卡识别过程 4.5 写数据块 4.6 读数据块 4.7 数据流…...

【决胜公务员考试】求职OMG——见面课测验1

2025最新版!!!6.8截至答题,大家注意呀! 博主码字不易点个关注吧,祝期末顺利~~ 1.单选题(2分) 下列说法错误的是:( B ) A.选调生属于公务员系统 B.公务员属于事业编 C.选调生有基层锻炼的要求 D…...

C++ 求圆面积的程序(Program to find area of a circle)

给定半径r,求圆的面积。圆的面积应精确到小数点后5位。 例子: 输入:r 5 输出:78.53982 解释:由于面积 PI * r * r 3.14159265358979323846 * 5 * 5 78.53982,因为我们只保留小数点后 5 位数字。 输…...

算法:模拟

1.替换所有的问号 1576. 替换所有的问号 - 力扣(LeetCode) ​遍历字符串​:通过外层循环逐一检查每个字符。​遇到 ? 时处理​: 内层循环遍历小写字母(a 到 z)。对每个字母检查是否满足: ​与…...

【分享】推荐一些办公小工具

1、PDF 在线转换 https://smallpdf.com/cn/pdf-tools 推荐理由:大部分的转换软件需要收费,要么功能不齐全,而开会员又用不了几次浪费钱,借用别人的又不安全。 这个网站它不需要登录或下载安装。而且提供的免费功能就能满足日常…...

C#学习第29天:表达式树(Expression Trees)

目录 什么是表达式树? 核心概念 1.表达式树的构建 2. 表达式树与Lambda表达式 3.解析和访问表达式树 4.动态条件查询 表达式树的优势 1.动态构建查询 2.LINQ 提供程序支持: 3.性能优化 4.元数据处理 5.代码转换和重写 适用场景 代码复杂性…...

【 java 虚拟机知识 第一篇 】

目录 1.内存模型 1.1.JVM内存模型的介绍 1.2.堆和栈的区别 1.3.栈的存储细节 1.4.堆的部分 1.5.程序计数器的作用 1.6.方法区的内容 1.7.字符串池 1.8.引用类型 1.9.内存泄漏与内存溢出 1.10.会出现内存溢出的结构 1.内存模型 1.1.JVM内存模型的介绍 内存模型主要分…...

绕过 Xcode?使用 Appuploader和主流工具实现 iOS 上架自动化

iOS 应用的发布流程一直是开发链路中最“苹果味”的环节:强依赖 Xcode、必须使用 macOS、各种证书和描述文件配置……对很多跨平台开发者来说,这一套流程并不友好。 特别是当你的项目主要在 Windows 或 Linux 下开发(例如 Flutter、React Na…...