解读ChatGPT背后的技术重点:RLHF、IFT、CoT、红蓝对抗

近段时间,ChatGPT 横空出世并获得巨大成功,使得 RLHF、SFT、IFT、CoT 等这些晦涩的缩写开始出现在普罗大众的讨论中。这些晦涩的首字母缩略词究竟是什么意思?为什么它们如此重要?我们调查了相关的所有重要论文,以对这些工作进行分类,总结迄今为止的工作,并对后续工作进行展望。

我们先来看看基于语言模型的会话代理的全景。ChatGPT 并非首创,事实上很多组织在 OpenAI 之前就发布了自己的语言模型对话代理 (dialog agents),包括 Meta 的 BlenderBot,Google 的 LaMDA,DeepMind 的 Sparrow,以及 Anthropic 的 Assistant (Anthropic 的 Claude 就是部分基于 Assistant 继续开发而得的)。

语言模型对话代理产品论文链接:

  • Meta 的 BlenderBot:
    https://arxiv.org/abs/2208.03188

  • Google 的 LaMDA:
    https://arxiv.org/abs/2201.08239

  • DeepMind 的 Sparrow:
    https://arxiv.org/abs/2209.14375

  • Anthropic 的 Assistant:
    https://arxiv.org/abs/2204.05862

其中一些团队还公布了他们构建开源聊天机器人的计划,并公开分享了路线图 (比如 LAION 团队的 Open Assistant),其他团队肯定也有类似的内容,但尚未宣布。你可以在 Open Assistant 的 GitHub 仓库中找到其愿景 & 路线图文档: https://github.com/LAION-AI/Open-Assistant

下表根据是否能公开访问、训练数据、模型架构和评估方向的详细信息对这些 AI 聊天机器人进行了比较。ChatGPT 没有这些信息的记录,因此我们改为使用 InstructGPT 的详细信息,这是一个来自 OpenAI 的指令微调模型,据信它是 ChatGPT 的基础。

LaMDABlenderBot 3SparrowChatGPT / InstructGPTAssistant
组织GoogleMetaDeepMindOpenAIAnthropic
能否公开访问有限
大小137B175B70B175B52B
预训练
基础模型
未知OPTChinchillaGPT-3.5未知
预训练语料库大小 (词数)2.81T180B1.4T未知400B
模型是否可以
访问网络
✖️✖️
有监督
微调
微调
数据大小
质量:6.4K
安全性:8K
真实性:4K
IR:49K
大小从 18K 到 1.2M 不等的 20 个 NLP 数据集未知12.7K (此为 InstructGPT,ChatGPT 可能更多)150K+ LM 生成的数据
RLHF✖️✖️
人为制定的安全规则✖️✖️
评价标准1、质量 (合情性、具体性、趣味性)
2、安全性 (偏见) 3、真实性
1、质量 (参与度、知识运用)
2、安全性 (毒性、偏见)
1、校直 (有帮助,无害,正确)
2、证据 (来自网络)
3、是否违反规则
4、偏见和刻板印象
5、诚信度
1、 校直 (有帮助、无害、真实)
2、偏见
1、校直 (有帮助、无害、诚实)
2、偏见
用于数据标注的众包平台美国供应商亚马逊 MTurk未知Upwork 和 Scale AISurge AI、Amazon MTurk 和 Upwork

我们观察到,尽管在训练数据、模型和微调方面存在许多差异,但也存在一些共性。上述所有聊天机器人的一个共同目标是「指令依从 (instruction following)」,即遵循用户指定的指令。例如,要求 ChatGPT 写一首关于微调的诗。

ChatGPT 指令示例

从预测文本到遵循指令

通常,基础模型的语言建模目标不足以让模型学会以有用的方式遵循用户的指令。模型创建者使用「指令微调 (Instruction Fine-Tuning,IFT)」方法来达到该目的,该方法除了使用情感分析、文本分类、摘要等经典 NLP 任务来微调模型外,还在非常多样化的任务集上向基础模型示范各种书面指令及其输出,从而实现对基础模型的微调。这些指令示范由三个主要部分组成 —— 指令、输入和输出。输入是可选的,一些任务只需要指令,如上文使用 ChatGPT 做开放式文本生成的示例。当存在输入时,输入和输出组成一个「实例 (instance)」。给定指令可以有多个输入和输出实例。如下例 (摘自 Wang 等,'22):

指令和实例示例

IFT 的训练数据通常是人工编写的指令及用语言模型自举 (bootstrap) 生成的实例的集合。在自举时,先使用少样本技术输入一些样本给 LM 用于提示它 (如上图所示),随后要求 LM 生成新的指令、输入和输出。每一轮都会从人工编写的样本和模型生成的样本中各选择一些送给模型。人类和模型对创建数据集的贡献构成了一个谱图,见下图:

IFT 谱图

谱图的一端是纯模型生成的 IFT 数据集,例如 Unnatural Instructions (Honovich 等,'22);另一端是经由社区的大量努力精心制作的指令如 Super-natural instructions (Wang 等,'22)。在这两者之间的工作是使用一小组高质量的种子数据集,然后进行自举生成最终数据集,如 Self-Instruct (Wang 等,'22)。为 IFT 整理数据集的另一种方法是将现有的用于各种任务 (包括提示)的高质量众包 NLP 数据集使用统一模式或不同模板转换为指令。这一系列工作包括 T0 (Sanh 等,'22)、Natural instructions 数据集 (Mishra 等,'22)、FLAN LM (Wei 等,'22) 和 OPT-IML (Iyer 等,'22)。

论文链接:

  • Unnatural Instructions (Honovich 等, '22):
    https://arxiv.org/abs/2212.09689

  • Super-natural instructions (Wang 等, '22):
    https://arxiv.org/abs/2204.07705

  • Self-Instruct (Wang 等, '22):
    https://arxiv.org/abs/2212.10560

  • T0 (Sanh 等, '22):
    https://arxiv.org/abs/2110.08207

  • Natural instructions 数据集 (Mishra 等, '22):
    https://arxiv.org/abs/2104.08773

  • FLAN LM (Wei 等, '22):
    https://arxiv.org/abs/2109.01652

  • OPT-IML (Iyer 等, '22):
    https://arxiv.org/abs/2212.12017

安全地遵循指令

然而,经过指令微调的 LM 并不总是能生成 有帮助的 和 安全的 响应。这种行为的例子包括通过总是给出无益的回应来逃避,例如 “对不起,我不明白。” 或对敏感话题的用户输入生成不安全的响应。为了减轻这种行为,模型开发人员使用 有监督微调 (Supervised Fine-tuning, SFT),在高质量的人类标注数据上微调基础语言模型,以提高有用性和无害性。例如,请参阅下面的表格(摘自 Sparrow 论文的附录 F)。

SFT 和 IFT 联系非常紧密。指令微调可以看作是有监督微调的一个子集。在最近的文献中,SFT 阶段经常被用于提高响应的安全性,而不是接在 IFT 后面提高指令相应的具体性。将来,这种分类和划分应该日臻成熟,形成更清晰的使用场景和方法论。

人工安全规则

谷歌的 LaMDA 也根据一组规则 (论文附录 A) 在带有安全标注的对话数据集上进行微调。这些规则通常由模型创建者预先定义和开发,涵盖广泛的主题,包括伤害、歧视、错误信息。

微调模型

同时,OpenAI 的 InstructGPT、DeepMind 的 Sparrow 和 Anthropic 的 Constitutional AI 使用 人类反馈强化学习 (Reinforcement Learning From Human Feedback,RLHF) 来微调模型,该方法使用基于人类偏好的标注数据。在 RLHF 中,根据人类反馈来对模型的响应进行排序标注 (如,根据人类偏好选择文本简介)。然后,用这些带标注的响应来训练偏好模型,该模型用于返回 RL 优化器的标量奖励。最后,通过强化学习训练对话代理来模拟偏好模型。有关更多详细信息,请参阅我们之前关于 RLHF 的文章: ChatGPT 背后的“功臣”——RLHF 技术详解。

思维链 (Chain-of-thought,CoT) 提示 (Wei 等,'22) 是指令示范的一种特殊情况,它通过引发对话代理的逐步推理来生成输出。使用 CoT 微调的模型使用带有逐步推理的人工标注的指令数据集。这是 Let’s think step by step 这一著名提示的由来。下面的示例取自 Chung 等,'22,橙色高亮的部分是指令,粉色是输入和输出,蓝色是 CoT 推理。

CoT 图解

如 Chung 等,'22 中所述,使用 CoT 微调的模型在涉及常识、算术和符号推理的任务上表现得更好。

如 Bai 等,'22 的工作所示,CoT 微调也显示出对无害性非常有效 (有时比 RLHF 做得更好),而且对敏感提示,模型不会回避并生成 “抱歉,我无法回答这个问题” 这样的回答。更多示例,请参见其论文的附录 D。

CoT 和 RLHF 的对比

论文链接:

  • 思维链提示 (Wei 等, '22):
    https://arxiv.org/abs/2201.11903

  • Let’s think step by step:
    https://arxiv.org/abs/2205.11916

  • CoT 图解示例 (Chung 等, '22):
    https://arxiv.org/abs/2210.11416

  • CoT 微调也显示出对无害性非常有效 (Bai 等, '22):
    ttps://www.anthropic.com/constitutional.pdf

要点

  1. 与预训练数据相比,您只需要非常小的一部分数据来进行指令微调 (几百个数量级);

  2. 使用人工标注的有监督微调使模型输出更安全和有用;

  3. CoT 微调提高了模型在需要逐步思考的任务上的性能,并使它们在敏感话题上不那么回避。

对话代理的进一步工作

这个博客总结了许多关于使对话代理有用的现有工作。但仍有许多悬而未决的问题有待探索。我们在这里列出了其中的一些。

  1. RL 在从人类反馈中学习有多重要?我们能否通过在 IFT 或 SFT 中使用更高质量的数据进行训练来获得 RLHF 的性能?

  2. 为了安全的角度看,Sparrow 中的 SFT+RLHF 与 LaMDA 中仅使用 SFT 相比如何?

  3. 鉴于我们有 IFT、SFT、CoT 和 RLHF,预训练有多大的必要性?如何折衷?人们应该使用的最佳基础模型是什么 (公开的和非公开的)?

  4. 本文中引用的许多模型都经过 红蓝对抗 (red-teaming) 的精心设计,工程师特地搜寻故障模式并基于已被揭示的问题改进后续的训练 (提示和方法)。我们如何系统地记录这些方法的效果并重现它们?

红蓝对抗 (red-teaming) 论文地址:
https://arxiv.org/abs/2209.07858

P.s. 如果您发现本博客中的任何信息缺失或不正确,请告知我们。

引用:

Rajani et al.,"What Makes a Dialog Agent Useful?", Hugging Face Blog, 2023.

BibTeX 引用:

@article {rajani2023ift,author = {Rajani, Nazneen and Lambert, Nathan and Sanh, Victor and Wolf, Thomas},title = {What Makes a Dialog Agent Useful?},journal = {Hugging Face Blog},year = {2023},note = {https://huggingface.co/blog/dialog-agents},
}

英文原文:
https://huggingface.co/blog/dialog-agents

译者: Matrix Yao (姚伟峰) ,英特尔深度学习工程师,工作方向为 transformer-family 模型在各模态数据上的应用及大规模模型的训练推理。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

谷歌优化扩散模型!在三星手机上运行Stable Diffusion,12秒内出图!

点击下方卡片,关注“CVer”公众号 AI/CV重磅干货,第一时间送达 点击进入—>【扩散模型】微信技术交流群 转载自:机器之心 | 编辑:陈萍、小舟 Speed Is All You Need:谷歌提出针对 Stable Diffusion 一些优化建议&am…

再次加入OpenAI,特斯拉前AI总监Andrej Karpathy刚刚官宣!

点击下方卡片,关注“CVer”公众号 AI/CV重磅干货,第一时间送达 点击进入—>CV微信技术交流群 转载自:机器之心 官宣回归OpenAI,特斯拉前AI高级总监Andrej Karpathy的下家定了。 刚刚,特斯拉前 AI 高级总监 Andrej K…

行业前沿 | 畅想AIGC技术研究与应用实践(一)

AIGC的火热之势已经蔓延到各行各业,技术浪潮冲击下,关于AIGC创业、AIGC未来发展方向以及AIGC的应用实践等,企业、投资者以及技术产品专家们有着不一样的思考。 近日,数美科技联合AMD举办的AIGC沙龙活动,邀请了经纬创投…

用GPT-4一天赚440元/ PyTorch2.0稳定版正式发布/ 谷歌眼镜彻底告别舞台…今日更多新鲜事在此...

日报君 发自 凹非寺量子位 | 公众号 QbitAI 嗯咳咳~今天是3月16日星期()。 V我50(Doge)带你看看科技圈都发生了哪些大事。 周鸿祎:GPT要消灭人类 周鸿祎又语出惊人!前脚GPT-4刚刚发布&#xff0…

互动福利|免费试用阿里云端TuGraph图数据库,还有GoPro、filco键盘、苹果HomePod mini等你拿!...

想要对数据关系进行 更好的数据可视化? 更高效的数据处理? 更精准的数据分析? 更快的查询速度? 来试试图数据库吧! 为鼓励更多用户探索应用图数据库,TuGraph联合阿里云计算巢,开放限量免费…

用AI给娃定制绘本 #麻瓜+AI混合工作流试验 9

这次试着用AI给娃定制一本绘本,目的是解决一个问题——娃很喜欢国际象棋,但在下棋的时候又很怕输……过程中尽量少人工参与,先看半成品,再说工作流。 这个画风,有点像娃喜欢的《工作细胞》。 主要流程 第一步&#xff…

AI制作有声绘本《小马历险记》

最近,我正在准备一堂给家长AI的课程,其中有一节专门介绍如何利用AI帮助孩子养成良好的习惯。为了帮助我的女儿改掉拖延的习惯,我借助AI制作了一本绘本,名为《小马历险记》,并为它配上了音乐和主题歌。请大家欣赏一下这…

为什么要学习研究 ChatGPT 等新一代 AI 技术

我最近一直在研究 ChatGPT,包括注册账号,试用聊天功能等。 其实 2022 年 11 月 ChatGPT 发布以来,我一直是个旁观者,看到好多文章和网友讨论这款 AI 大语言模型驱动的聊天应用,却没有使用和进一步了解它。直到最近我突…

chatGPT+Midjourney制作绘画本

chatGPTMidjourney制作绘画本 灵感来源:https://www.bilibili.com/video/BV1N24y1F7ga/?spm_id_from888.80997.embed_other.whitelist&vd_source6dd97671c42eb7cf111063714216bd0b 最终效果: 绘本故事 故事塑造能力弱的人可以使用chatGPT来帮助编…

01.自动化办公的准备工作(免费指导,只需三步)

两步准备,一步到位! 智动办公 在开始自动化办公前,有一些准备工作是必须先完成的,比如程序运行环境的搭建,百度AIP的本地安装等。听着很玄乎,其实操作起来很简单,照着我的详细步骤来就没错了&a…

not available in your country

解决OpenAIs API is not available in your country. 使用教程 链接: 链接 使用教程 1.点击连接后注册并登录,点击用户中心,下滑找到一下界面。并根据步骤,下载软件并运行之后一键导入配置。 2. 之后点击软件左侧 3.点击主页,将…

Overleaf编写试验报告初体验

昨天刚刚体验了用Markdown文本编辑器编写一个实验心得,但对于要提交实验报告的我来讲还远远不够,于是我请教了我们班的学委,得知了一款常用的编写学术文章的程序--Overleaf 网址:https://www.overleaf.com/ 你可以使用谷歌账号登录…

markdown学习

m a r k d o w n 学习 \mathbf{{\Huge markdown学习}} markdown学习 一、markdown简介[1] 转换:markdown编写的文档导出HTML、Word、Latex、PDF等文档 后缀:.md或.markdown 用途:撰写电子书,例如GitHub、CSDN、简书、reddit、Dia…

SSM+微信小程序+VUE项目实战:商城系统

实训时小组写的一个项目,有2个使用端,用户端是微信小程序,后台管理端是vue写的网页,后端统一是一个项目SpringSpringMVCMybatis。 文章目录 项目仓库项目截图需求描述功能分析开发环境数据库设计小程序页面后端难点技术选型 管理端…

记爬虫一个网站图片,反反爬虫破解一个图片加密算法

目录 一、初遇拦路虎 二、破解加密 1、详细分析 2、分析js代码 三、转化为python爬虫代码 四、全部代码 心血来潮想玩下最近比较火的AI绘画,于是想要搞点图片丢到模型上训练 一、初遇拦路虎 随便找个外国的图片网站来爬点图片,随手f12打开、检视…

鸿蒙系统文件删除怎么恢复,鸿蒙系统升级后会删除东西吗?鸿蒙系统游戏数据互通吗?...

鸿蒙系统无疑是这段时间最大的热点了,也因为太过于火爆,花粉俱乐部已经在维护修理了,不过很多小伙伴还在担忧鸿蒙系统游戏和安卓系统通用吗?鸿蒙系统升级后会丢失数据吗?下面一起来看看升级鸿蒙系统的注意事项。 鸿蒙系…

华为鸿蒙系统HarmonyOS学习之七:鸿蒙Harmony给IoT带来新的契机

华为鸿蒙系统HarmonyOS学习之七:鸿蒙Harmony给IoT带来新的契机 一、物联网将带来生产生活方式的变革 物联网是新一代信息技术的高度集成和综合运用,对产业变革和经济社会绿色、智能、可持续发展具有重要意义。 自从国家把物联网列入重点发展领域以来…

HarmonyOS系统内核中GPIO控制方法

大家好,今天主要和大家聊一聊,如何使用鸿蒙系统控制开发板去点亮LED灯。 目录 第一:鸿蒙外设GPIO简介 第二:鸿蒙外设接口说明 GPIO使用流程图: ​编辑 第三:鸿蒙系统中API分析 第四:硬件设计…

harmonyos鸿蒙系统开发者工具 DevEco Studio详解安装

文章适合新手了解DevEco Studio开发工具。文章在编写过程中难免有疏漏和错误,欢迎大佬指出文章的不足之处;更多内容请点进👉 Lino_White 👈查看。 未来的世界充满着各式各样的数据,我们该怎么好好利用起来呢&#xff1…

我的HarmonyOS实战——鸿蒙系统初定义

【本文正在参与“有奖征文 | HarmonyOS征文大赛” 】活动链接 鸿蒙系统介绍 1 官方定义 鸿蒙是一个全场景,面向未来的操作系统。 解释: 鸿蒙并不是一个单纯的手机操作系统,而是手机智能设备的总称。可以安装在包括手机、手表、无人机等很…