InstructGPT怎么准备和标记数据集

news2024/9/21 13:21:02

目录

1. 谁标记数据集

2. 数据集的来源

3.数据预处理

4. 标记数据集的方法

5. 数据多样性

6. 这样标记的数据的不足之处

 名词解释


1. 谁标记数据集

        OpenAI 公司在Upwork平台上和Scale AI公司聘请了大约 40 名承包商为他们标记数据,通过筛选测试(screening test)来判断承包商识别和响应敏感提示的能力,以及承包商与研究人员在带有详细说明的标签任务上的一致率。保持承包商团队小规模的目的是助于与一小部分全职执行任务的承包商进行更方便的通信。

2. 数据集的来源

        InstructGPT模型中的提示数据集主要包含提交给 OpenAI API 的文本提示,特别是那些使用早期版本的 InstructGPT 模型(通过在范例数据的子集上有监督训练)在 Playground 界面上。使用 Playground 的客户是通过多次通知被告知他们的数据可能随时用于训练 InstructGPT 模型没有使用来自使用 API 的客户的数据

3.数据预处理

        通过检查共享长期共同点的提示来启发式地删除重复提示前缀,他们将提示的数量限制为每个用户 ID 200。 为了让验证集和测试集不包含用户在训练集中的数据,他们基于用户 ID 把数据集拆分成训练集,验证集和测试集 为了避免模型学习潜在敏感的客户详细信息,他们在训练集上过滤掉可以获取个人身份信息 (PII)的提示(prompts)。

4. 标记数据集的方法

        为了训练第一个 InstructGPT 模型,他们要求贴标签者自己编写提示(prompts)。 这是因为他们需要一个类似指令的提示(instruction-like prompts.)的初始来源来引导这个过程,而这些类型的提示并不经常提交给 OpenAI API 上的常规 GPT-3 模型。 他们要求贴标签者写出三种提示:

  • Plain:他们只是要求标记者提出一个任意任务,同时确保任务具有足够的多样性
  • Few-shot:他们要求标注者提出一条指令,以及该指令的多个查询/响应(query/response)对。
  • User-based:他们在 OpenAI API 的候补名单申请中陈述了许多用例。 我们要求标签商提出与这些用例相对应的提示。

根据这些提示,他们生成了三个用于微调过程的不同数据集( SFT 数据集, RM 数据集, PPO 数据集):

表 6:数据集大小,根据提示数量

        上表展示了用于训练/验证 SFT、RM 和 RL 模型的数据集的大小,以及提示是标签承包商编写的还是来自OpenAI API。

        (1) SFT 数据集,用于训练SFT 模型的打标签者范例数据,SFT 数据集包含大约 13k 个训练提示(来自 API 和 labeler-written),对于 SFT,请注意,标签商编写的提示比客户提示多得多,这是因为,在项目开始时,标签商编写带有用户界面的说明,要求他们提供总体模板说明以及一些 - 该指令的示例。 他们通过对不同的小样本样本集进行采样,从同一指令综合构建了多个 SFT 数据点。

        (2) RM 数据集,带有用于训练的模型输出的标签器排名 我们的 RM, RM 数据集有 33k 个训练提示(来自 API 和 labeler-written),对于 RM,每个提示,他们收集了  K 个输出(从 4 到 9)的排名,并在所有的\binom{K}{2}上训练模型,所以他们训练模型的排名对的数量是一个顺序2个数量级大于提示的数量。

        (3) PPO 数据集,没有任何人工标签,用作 RLHF 微调的输入。PPO 数据集有 31k 个训练提示(仅来自 API)。 上表中提供了有关数据集大小的更多详细信息。
      

5. 数据多样性

        他们收集的数据涵盖广泛的类别和用例。 他们的 RM 训练和验证数据集中由承包商标记的类别的多样性。 PPO 数据集的类别分布相似。 他们还在表 7 中显示了他们标记的提示元数据的一个子集。请注意,注释字段在项目过程中发生了变化,因此并非每个提示都对每个字段进行了注释。

表 7:数据集注释

表 8:每位客户的平均提示

表 9:按数据集分类的提示长度

表 10:按类别分类的提示长度

表 11:提示和范例数据的长度

         他们使用轻量级分类器 (langid.py) 对数据集中所有指令的语言进行分类。 根据他们的经验,数据集(110k 数据点)中约有 96% 被归类为英语,但由于分类器的不准确性,估计实际分数可能为 99% 或更高。
        除英语外,还发现了至少 20 种其他语言的一小部分提示:西班牙语、法语、德语、葡萄牙语、意大利语、荷兰语、罗马尼亚语、加泰罗尼亚语、中文、日语、瑞典语、波兰语、丹麦语、土耳其语、印度尼西亚语、捷克语、挪威语 、韩语、芬兰语、匈牙利语、希伯来语、俄语、立陶宛语、世界语、斯洛伐克语、克罗地亚语、斯瓦希里语、爱沙尼亚语、斯洛文尼亚语、阿拉伯语、泰语、越南语、马拉雅拉姆语、希腊语、阿尔巴尼亚语和藏语。
        表 8 显示了每个客户为数据集贡献的平均提示数。 在表 9 中,报告了用于训练各种模型的提示长度(以令牌为单位)的描述性统计信息,在表 10 中,按用例细分了令牌长度。 最后,还在表 11 中报告了用于我们的 SFT 模型的承包商编写的演示的长度,包括承包商编写的和标签商编写的提示。

6. 这样标记的数据的不足之处

        InstructGPT 模型的行为部分取决于从我们的承包商那里获得的人工反馈。 一些标记任务依赖于价值判断,这些判断可能会受到他们承包商的身份、他们的信仰、文化背景和个人历史的影响。 他们聘请了大约 40 名承包商,以他们在筛选测试中的表现为指导,筛选测试旨在判断他们识别和响应敏感提示的能力,以及他们与研究人员在带有详细说明的标签任务上的一致率。 他们让他们的承包商团队保持小规模,因为这有助于与一小部分全职执行任务的承包商进行高带宽通信。 然而,这个群体显然不能代表将使用我们部署的模型并受其影响的所有人群。 举个简单的例子,我们的贴标签者主要是说英语的,我们的数据几乎完全由英文说明组成。他们还有很多方法可以改进我们的数据收集设置。 例如,出于成本原因,大多数比较仅由 1 个承包商标记。 多次标记示例可以帮助确定我们的承包商不同意的领域,因此单个模型不太可能与所有这些领域保持一致。 在出现分歧的情况下,可能不需要与平均标签偏好保持一致。 例如,当生成不成比例地影响少数群体的文本时,我们可能希望属于该群体的标签者的偏好得到更大的权重。

 名词解释

缩写名词全称注解
RLHFReinforcement Learning from Human Feedback
GPTGenerative Pre-Trained Transformer
LMsLanaguage Models
SFTSupervised fine-tuning on human demonstrations
PPOproximal policy optimizationProximal Policy Optimization (PPO) is presently considered state-of-the-art in Reinforcement Learning. The algorithm, introduced by OpenAI in 2017
FLANFinetuned Language Net. 

FINETUNED LANGUAGE MODELS ARE ZERO-SHOT LEARNERS

https://arxiv.org/pdf/2109.01652.pdf

T0

T0 is an encoder-decoder model that consumes textual inputs and produces target responses
 
RMreward model

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

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

相关文章

ros基础笔记

1创建工作空间 catkin_init_workspace 将文件夹初始化成ros文件 编译工作空间catkin_make vi ~/.bashrc 加入环境变量bashrc一下在任何终端都生效 catkin_create_pkg learning_communication通讯机制 std_msgs数据结构 rospy roscpp catkin_create_pkg mbot_description ur…

【C++】string类常用接口

目录 一、string类二、string类的常用接口1.string类对象的常见构造2.string类对象的容量操作3.string类对象的访问及遍历操作4.string类对象的修改操作5.string类非成员函数6.vs和g下string结构的说明 一、string类 STL的六大组件: 字符串是表示字符序列的类标准…

E. Train Hard, Win Easy(数学推导 + 前缀和)

Problem - E - Codeforces 这是一个有关竞赛编程的问题。Zibi 是一名竞赛编程教练,有 n 名选手想要备战。培训比赛具有一些不同寻常的规则——每个团队有两名成员和两个问题,每个选手都会编写其中一个问题的代码。当然,一个团队中的人将编写不…

ViveNAS - 一个基于LSM tree的文件存储实现 (一)

1. ViveNAS (GitHub - cocalele/ViveNAS) ViveNAS 是一个开源分布式的网络文件系统(NAS), 具有下面的特点: - 通过不同存储介质的结合,在高性能、低成本间寻找动态的平衡 - 解决数据的长期、低成本存储问题&#xff…

JVM-0428

执行引擎 执行引擎做什么的 执行引擎是Java虚拟机核心的组成部分之一。“虚拟机”是一个相对于“物理机”的概念,这两种机器都有代码执行能力,其区别是物理机的执行引擎是直接建立在处理器、缓存、指令集和操作系统层面上的,而虚拟机的执行引…

java基础入门-03

Java基础入门-03 10、字符串10.1.API10.1.1API概述10.1.2如何使用API帮助文档 10.2.String类10.2.1 String类概述10.2.2 String类的特点10.2.3 String类的构造方法10.2.4 创建字符串对象两种方式的区别10.2.5 字符串的比较10.2.5.1 号的作用10.2.5.2 equals方法的作用 10.2.6 用…

java web会话管理

在人机交互过程中,会话管理是指保持用户的整个会话活动的交互与计算机系统跟踪的过程。会话管理分为桌面会话管理、浏览器会话管理、Web会话管理。本书讨论的是Web会话管理(通常指的是session以及Cookie) , 也称为会话跟踪。 会话管理基本原理 使用隐藏…

机器学习笔记 图像特征提取器(卷积变体)的技术发展与演变

一、图像特征提取器简述 图像特征提取器是可用于从图像中学习表示的函数或模块。最常见的特征提取器类型是卷积,其中内核在图像上滑动,允许参数共享和平移不变性。 在深度学习技术的快速发展过程中,基于卷积也演变出来了若干新技术由于图像特征的提取,这里进行了一下简单梳…

[oeasy]python0145_版本控制_git_备份还原

git版本控制 回忆上次内容 上次我们了解了 try 的完全体 try 尝试运行 except 发现异常时运行的代码块 else 没有发现异常时运行的代码块 finally 无论是否发现异常最终都要运行的代码块 发现导入部分 可以再分为两个子模块一个输入 a一个输入 b 可以再拆分么?&…

【Python基础练习100题--第一篇:文件篇】

前言 这些题都是在B站的练习题,链接在这 对于刚学python的新手来说十分的适合, 可以加强和巩固我们的基础。 嘿嘿 一起噶油吧!🍉 🍉1.对学生成绩排序 # 这里对字典进行排序,同事使用到了sorted函数 # 这…

【安全工具】Httpx信息收集

文章目录 前言一、下载二、使用步骤1.帮助文档2.常用命令常用组合命令: 总结 前言 HTTPX 是一个功能强大的 HTTP 客户端工具,用于执行各种网络任务,例如发现 Web 应用程序漏洞、探测域名和端口等。它使用了 retryablehttp 库来运行多个探测器…

[计算机图形学]相机与透镜(前瞻预习/复习回顾)

一、相机 1.成像方法 成像方法有两种,合成和捕捉,我们之前所说的光栅化和光线追踪都属于合成的方法,也就是实际上不存在的东西。而另一种成像方法叫做捕捉成像,也就是把真实世界中存在的一些东西变成照片这就是捕捉成像&#xf…

【量化课程】01_投资与量化投资

文章目录 1.1 什么是投资1.1.1 经济意义上的投资1.1.2 投资的分类1.1.3 金融投资1.1.4 个人投资者投资品种1.1.5 投资VS投机 1.2 股票投资的基本流程1.3 常见的股票投资分析流派1.3.1 投资者分析流派 1.4 什么是量化投资1.4.1 量化投资基本概念1.4.2 量化投资的优势1.4.3 量化投…

C多线程、锁、同步、信号量

文章目录 一 线程函数1.1 创建线程1.2 线程退出1.3 线程回收1.4 线程分离:1.5 其他线程函数1.5.1 线程取消1.5.2 线程ID比较 二 线程同步2.1 互斥锁2.1.1定义2.1.2 初始化2.1.3 销毁2.1.4 加锁 、 常试锁、解锁2.1.5 互斥锁使用 2.2 死锁2.3 如何避免死锁2.4 读写锁…

05_从0运行,重定位,初始化,中断再到定时器

总结 这边简单讲讲,代码上电后从0开始发生了什么,为什么要重定位把代码复制到sdram, bin文件前面几条跳转函数都跳转去哪 中断产生后发生什么 重定位问题 1.为什么需要重定位 把程序从一个位置移到另一个位置 叫重定位 可以只重定位部分段的数据 也可以把所有的都重定位到sd…

Linux运维之shell基础

一.流程控制 1.if判断 基本语法: if [ 条件判断式 ] then 程序 elif [ 条件判断式 ] then 程序 else 程序 fi注意事项: ①[ 条件判断式 ],中括号和条件判断式之间必须有空格②if 后要有空格 例如,现在写一个if.sh脚本文件 #…

echarts关于自定义饼图数据刷新和颜色渲染问题

在使用echarts的自定义饼图Customized Pie时,定义的动态数据会发生颜色无法渲染的问题,如下图所示: 该图表的颜色是根据itemStyle内的color属性而来,如下: itemStyle: {color: #4d90fe, /* 图表的颜色 */shadowBlur:…

【python知识】importlib包详解

importlib — The implementation of import — Python 3.11.3 documentation 目录 一、说明 二、 模块导入简介 2.1 最简单的 importlib用途 2.2 importlib 包的目的有三个 2.3 import_module() 和__import__() 三、高级模块使用 3.1 动态引入 3.2 模块引入检查 3…

SpringBoot整合Mybatis-Plus、Jwt实现登录token设置

Spring Boot整合Mybatis-plus实现登录常常需要使用JWT来生成用户的token并设置用户权限的拦截器。本文将为您介绍JWT的核心讲解、示例代码和使用规范,以及如何实现token的生成和拦截器的使用。 一、JWT的核心讲解 JWT(JSON Web Token)是一种…

JavaWeb——HTML和CSS

HTML和CSS定义 标记语言 :比如XML:可扩展的标记语言&#xff0c;标签可以自己定义&#xff0c;解析时需要按照定义的规则去解析。 学习目的:掌握常见标签和常见样式的使用 HTML 结构: 特点: 1.不区分大小写&#xff0c;不管是<html>还是<HTML>都是一样的作用 …