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

news2024/11/17 7:35:38

文章目录

  • 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

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

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

相关文章

基金详细介绍

投资回报率 利润 / 投资总额(第一次投资回报率 5%) 关注南方理财 60 天债券 B(202306)万元收益 50—60 元 购基七步曲: 风险测试基本知识交易指南查看业绩了解评级在线下单赎回 基金类型: 积极成长型基金…

svg转png

svg转png写了一个spring boot项目,支持传入svg文件转出png图片,并且自定义转出png的宽和高。主要代码如下:所需依赖如下:演示如下:首先,运行项目使用接口调用工具调用接口发送请求,提取文件1000…

日本机载激光雷达测深进展(一)日本启动测量90%沿岸水深项目

海洋地图项目利用航空测深绘制日本90%沿海20m以浅区域,是日本海道协会(JHA)和日本财团的一个联合项目。 迄今为止,只有不到2%的日本沿海水域得到了测绘,严重拖累了在海洋事故、防灾减灾、篮碳以及生物多样性保护等领域…

数据结构——第二章 线性表(1)——顺序结构

线性表1. 线性表1.1 线性表的定义1.1.1 访问型操作1.1.2 加工型操作1.2 线性表的顺序存储结构1.2.1 定义顺序表数据类型方法11.2.2 定义顺序表数据类型方法21.3 顺序表的基本操作实现1.3.1 顺序表的初始化操作1.3.2 顺序表的插入操作1.3.3 顺序表的删除操作1.3.4 顺序表的更新操…

Windows环境下使用Pycharm运行sh文件

博主在调试一些程序时,时常遇到 .sh文件,这是Linux中的shell脚本文件,那么这种文件在windows下如何运行呢,其实我们可以通过git来实现,接下来看我操作。 首先我们需要安装Git,关于其安装过程可以参考博主这…

wholeaked:一款能够追责数据泄露的文件共享工具

关于wholeaked wholeaked是一款功能强大的文件共享工具,该工具基于go语言开发,可以帮助广大系统管理员和安全研究人员在组织发生数据泄露的时候,迅速找出数据泄露的“始作俑者”。 wholeaked可以获取被共享的文件信息以及接收人列表&#x…

【云计算自学路线】

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

【PTA Advanced】1146 Topological Order(C++)

目录 题目 Input Specification: Output Specification: Sample Input: Sample Output: 思路 C 知识UP 代码 题目 This is a problem given in the Graduate Entrance Exam in 2018: Which of the following is NOT a topological order obtained from the given dire…

佳能镜头EOS系统EF协议逆向工程(四)常用指令

目录 EOS5000(基础协议) AE*记忆键 物镜38-76焦距76mm的帧值(手动焦距) 帧操作和解码命令 指令0x0A:请求物镜可用 指令0xA0、B0、B2、90和F0:光学特性和AF状态 指令0x80-0A:请求物镜的物理特性 指令0xC2&#…

(考研湖科大教书匠计算机网络)第四章网络层-第四节:IP数据报的发送和转发过程

获取pdf:密码7281专栏目录首页:【专栏必读】考研湖科大教书匠计算机网络笔记导航 文章目录一:概述二:举例三:路由器可以隔离广播域本节对应视频如下 【计算机网络微课堂(有字幕无背景音乐版)】&…

文华财经期货策略高胜率顶底反转指标公式,短线操盘量化CTA主图K线指标

​期货指标公式不是交易的圣杯,也不是期货亏损后的救命稻草。请理性运用指标公式,独立决策,盈亏自负。 什么是多头趋势行情? 多头趋势行情指的是市场单边多头行情。具体表现为上涨过程中出现连续上涨的高点与低点,只要…

3.4 ISIS和OSPF之间路由引入

实验目的掌握在IS-IS中引入OSPF路由的方法掌握在OSPF中引入IS-IS路由的方法实验拓扑ISIS和OSPF之间路由引入实验拓扑如图3-3所示: 图3-3:ISIS和OSPF之间路由引入 实验步骤IP地址的配置R1的配置 <Huawei>system-view [Huawei]undo info-center enable

Spring 框架源码(六) Bean的生命周期全流程源码解析

Spring框架作为Java王国的地基&#xff0c;我觉得它包含了很多精妙的设计&#xff0c;例如Bean工厂设计、Bean的生命周期、tx、aop、web、mvc等&#xff0c;最核心基本的Bean设计是Spring 的框架的灵魂&#xff0c;本文就Bean的生命周期全流程做源码程度上的解析&#xff0c;欢…

【surfaceflinger源码分析】surfaceflinger进程的消息驱动模型(二)

接着上篇文章中的两个新疑问: mEventTube是个什么玩意&#xff1f;MessageQueue::setEventConnection(…) 什么时候有谁调用的 &#xff1f; BitTube mEventTube的类型为class BitTube&#xff0c;BitTube从字面上的意思来看bit管道&#xff0c;bit隧道&#xff0c;应该是一…

20230216在Ubuntu18.04下查看硬盘信息

20230216在Ubuntu18.04下查看硬盘信息 2023/2/16 22:25 百度搜索&#xff1a;查看 HDD 缓存 ubuntu [BEGIN] 2023/2/16 22:10:24 rootrootrootroot-X99-Turbo:~$ rootrootrootroot-X99-Turbo:~$ rootrootrootroot-X99-Turbo:~$ cat /sys/block/sda/device/modelHUS726060ALE61…

VIVADO2022 sdk 工程创建流程

正点原子uart历程复现 create block design&#xff08;起名 为System&#xff09; -> open block design -> 号/IP catalog 中搜索zynq 双击打开&#xff0c; 将和pl相关的时钟都干掉 再auto 布线一下 把herarchy中的sources 中的system.bd右键、 无脑下一步导出 如…

赛狐ERP|亚马逊产品缺货怎么办?该如何补救?

由于物流时效的延长&#xff0c;运输成本的增加&#xff0c;亚马逊的仓储限制等各种原因&#xff0c;断货问题很常成为亚马逊卖家的普遍困扰。那么亚马逊产品缺货应该怎么办&#xff01;1、提高产品价格&#xff1a;除了卖自己的Listing此外&#xff0c;提高产品价格也是一种保…

基于微信小程序的智能招聘小程序

文末联系获取源码 开发语言&#xff1a;Java 框架&#xff1a;ssm JDK版本&#xff1a;JDK1.8 服务器&#xff1a;tomcat7 数据库&#xff1a;mysql 5.7/8.0 数据库工具&#xff1a;Navicat11 开发软件&#xff1a;eclipse/myeclipse/idea Maven包&#xff1a;Maven3.3.9 浏览器…

Cygwin安装与Mingw

共同点&#xff1a;window下编译环境 区别&#xff1a;cygwin(gnu windows)模拟Linux编译环境&#xff0c; mingw模拟window编译环境&#xff0c;生成.exe可执行文件 目录 Cygwin安装 一、官网下载 二、双击安装 三、选择安装路径后&#xff0c;到连接方式如图 四、添加连…

USB3.0移动硬盘启动Win7的方法(AHCI/AMD USB3.0/Win7)

古董电脑(intel处理器&#xff0c;无USB3.0接口)突然坏了&#xff0c;已经没有维修价值了&#xff0c;硬盘还是完好的。欲把硬盘拆下来&#xff0c;装到USB3.0硬盘盒上&#xff0c;然后在新电脑(AMD R5-4650G/A520)上从USB3.0硬盘盒上启动。 一、需要工具 SATA数据线PS/2鼠标…