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

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

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

语言模型对话代理产品论文地址:

  • Meta 的 BlenderBot: [2208.03188] BlenderBot 3: a deployed conversational agent that continually learns to responsibly engage 10
  • Google 的 LaMDA: [2201.08239] LaMDA: Language Models for Dialog Applications 9
  • DeepMind 的 Sparrow: [2209.14375] Improving alignment of dialogue agents via targeted human judgements 2
  • Anthropic 的 Assistant: [2204.05862] Training a Helpful and Harmless Assistant with Reinforcement Learning from Human Feedback 7

其中一些团队还公布了他们构建开源聊天机器人的计划,并公开分享了路线图 (比如 LAION 团队的 Open Assistant 37),其他团队肯定也有类似的内容,但尚未宣布。你可以在 Open Assistant 的 GitHub 仓库中找到其愿景 & 路线图文档:
GitHub - LAION-AI/Open-Assistant: OpenAssistant is a chat-based assistant that understands tasks, can interact with third-party systems, and retrieve information dynamically to do so. 37

下表根据是否能公开访问、训练数据、模型架构和评估方向的详细信息对这些 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 写一首关于微调的诗。

预测文本到遵循指令

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

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

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

论文链接:

  • Unnatural Instructions (Honovich 等, '22): [2212.09689] Unnatural Instructions: Tuning Language Models with (Almost) No Human Labor 6
  • Super-natural instructions (Wang 等, '22): [2204.07705] Super-NaturalInstructions: Generalization via Declarative Instructions on 1600+ NLP Tasks 13
  • Self-Instruct (Wang 等, '22): [2212.10560] Self-Instruct: Aligning Language Model with Self Generated Instructions 2
  • T0 (Sanh 等, '22): [2110.08207] Multitask Prompted Training Enables Zero-Shot Task Generalization 1
  • Natural instructions 数据集 (Mishra 等, '22): [2104.08773] Cross-Task Generalization via Natural Language Crowdsourcing Instructions 1
  • FLAN LM (Wei 等, '22): [2109.01652] Finetuned Language Models Are Zero-Shot Learners 3
  • OPT-IML (Iyer 等, '22): [2212.12017] OPT-IML: Scaling Language Model Instruction Meta Learning through the Lens of Generalization 3

安全地遵循指令

然而,经过指令微调的 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 技术详解 111。

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

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

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

论文链接:

  • 思维链提示 (Wei 等, '22): [2201.11903] Chain-of-Thought Prompting Elicits Reasoning in Large Language Models 29
  • Let’s think step by step: [2205.11916] Large Language Models are Zero-Shot Reasoners 20
  • CoT 图解示例 (Chung 等, '22): [2210.11416] Scaling Instruction-Finetuned Language Models 22
  • 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) 45 的精心设计,工程师特地搜寻故障模式并基于已被揭示的问题改进后续的训练 (提示和方法)。我们如何系统地记录这些方法的效果并重现它们?

红蓝对抗 (red-teaming) 论文地址:
[2209.07858] Red Teaming Language Models to Reduce Harms: Methods, Scaling Behaviors, and Lessons Learned 45

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}, }

英文原文: What Makes a Dialog Agent Useful? 28

译者: Matrix Yao (姚伟峰)

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

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

相关文章

新程序员大会(NPCon):从大模型到AGI,ChatGPT的大航海时代!

AI激荡70载,身处操作系统演变的中心位置,在ChatGPT、文心一言等AIGC产品,GPT-4、Stable Diffusion、Midjourney等AI大模型的加持下,程序员现有的编程范式将会遭到怎样的冲击?面向的全新AI应用时代,开发者的…

AI大模型时代下运维开发探索第一篇:ReAct工程初探

引子 人工智能大模型的出现,已渐渐地影响了我们的日常生活和工作方式。生活中无处不在的AI,使我们的生活变得更加智能和便捷。工作中,AI大模型的高效和精准,极大地提升了我们解决问题的效率。 是的,我们不能忽视AI大…

ITK和VTK读取DICOM图像文件

ITK和VTK读取DICOM图像文件 ITK读取DICOM图像 相比于VTK类库中vtkDICOMImageReader类读取DICOM序列图像,借助ITK类库实现对DICOM序列图像的读取要复杂许多。但是,使用ITK类库读取图像不像使用VTK类库那么功能局限,VTK类库对每种图像格式都有…

VTK使用

入门参考的这篇&#xff08;修改了很多&#xff09;&#xff1a;QT加载显示DICOM文件浏览 但还是必须在main()中先读文件再show&#xff0c;先show了再打开文件是黑的显示不出来&#xff08;后续再查&#xff09;。 //.h中要加入 #include <vtkAutoInit.h> VTK_MODULE_I…

VTK教程3--------打开vtk文件

下面&#xff0c;本教程将介绍如何在MFC下打开vtk文件&#xff0c;最终的效果如图所示&#xff1a; 如果你看过一些三维重建相关的论文&#xff0c;那么一定对这个图像很熟悉。很多论文都会以这个图像作为例子讲解&#xff0c;好了&#xff0c;闲话少说&#xff0c;直接讲实现…

Android中读取电话本Contacts联系人的所有电话号信息

1.首先&#xff0c;要知道android 的contacts里的电话信息有多类&#xff1a;moblie,家庭&#xff0c;工作&#xff0c;传真等。如图&#xff1a; 2.android的Contacts是通过ContentProvider来提供的&#xff0c;其实android把contacts和SMS给组织成数据库文件了&#xff0c;你…

虚拟化 : VT-x VT-d VT-c的分别

虚拟化 &#xff1a; VT-x VT-d VT-c的分别: VT-x [运行ESXI上的64bit Guest OS基本指令] Intel运用Virtualization虚拟化技术中的一个指令集。VT-x有助于提高基于软件的虚拟化解决方案的灵活性与稳定性。通过按照纯软件虚拟化的要求消除虚拟机监视器(VMM&#xff09;代表…

VTK-vtkPolyDataNormals

前言&#xff1a;本博文主要记录vtkPolyDataNormals的用途&#xff0c;使用方法以及实现原理&#xff0c;帮助更多的小伙伴更好的理解和应用vtk。 目录 1. vtkPolyDataNormals 2. 使用示例 3. 实现原理 1. vtkPolyDataNormals vtkPolyDataNormals可以计算多边形网格数据的点…

手机联系人批量导入(字符编码、xlsx与vcf互转)

一、前言 单位同事每人都办理了一个192新手机号&#xff0c;一打过来不知道是谁&#xff0c;又懒的一个个保存姓名。一想是不是可以批量导入呢?电子表格号码名单我有啊&#xff0c;试试吧。 二、实践 1.先下载手机联系人文件看看吧。在手机联系人设置中有个导出选项&#x…

信创干部人事档案管理系统单机版 - 人力资源档案管理系统软件

信创干部人事档案管理系统单机版v2.0&#xff08;以下简称系统&#xff09;&#xff0c;是一套具有先进性、安全性、前瞻性的人力资源档案管理系统&#xff0c;是在总结近二十年为万余家单位档案信息化建设实践经验的基础上&#xff0c;遵循ISO15489、ISO23081、ISO14721等国际…

VTK-vtkFieldData

欢迎大家加入社区&#xff0c;雪易VTK社区-CSDN社区云 前言&#xff1a;为区分vtkPoints和vtkPointData的区别&#xff0c;了解vtkFieldData在VTK中的存在意义&#xff0c;从而系统的掌握vtk中关于数据的表达方式。 vtk中通过vtkDataArray进行数据的存储&#xff0c;通过vtkD…

虚拟内存统计----Vmstat命令

目录 一、Vmstat命令 概述 1.1 物理内存和虚拟内存区别 1.1.1 物理内存 1.1.2 虚拟内存 1.2 vmstat 命令语法 1.2.1 格式 1.2.2 命令参数 二、 vmstat 示例 2.1 显示虚拟内存使用情况 2.1.1 查看 2.1.2 表示在1秒时间内进行2次采样 2.1.3 指定的MB 单位输…

票据机器人-OCR自动识别助力智能财务

当前票据的数字化问题尚未完全解决&#xff0c;人工处理海量票据的工作量较大&#xff0c;把票据录入系统、校验真伪的成本较高。 票据机器人对财务报销环节涉及的增票、火车票、飞机行程单、出租车票、定额发票、汽车票等票据进行自动分类、识别录入、验真及归档。 票据机器人…

第一次申请去美国面签,需要注意哪些事项提高成功率?

Teresa &#xff0c;PM 296 人赞同 哈哈哈&#xff0c;作为一个刚毕业的无房无车无钱妹纸&#xff0c;刚顺利拿到美国旅游十年签证&#xff01;我要去西雅图看TI5啦&#xff01;整个过程耗时两周~~~热乎乎的攻略奉上~~ 所有问题都可在官网进行查询&#xff0c;请熟读此网站&am…

java行程单解析获取内容_java如何抓取网页上的动态信息,获取源代码后如何分析JS?...

首先明确我指的动态数据是什么。 名词定义&#xff1a;动态数据在这里指的是网页中由Javascript动态生成的页面内容&#xff0c;即网页源文件中没有&#xff0c;在页面加载到浏览器后动态生成的。 下面进入正题。 抓取静态页面很简单&#xff0c;通过Java获取到html源码&#x…

系统采集--行程单、火车票、汽车票方案

方案一&#xff1a;进项旅客运输采集&#xff08;行程单、火车票、汽车票&#xff09; 实现步骤&#xff1a; 建立视图&#xff08;view_trip、view_trip、view_car&#xff09;&#xff0c;其中视图中税号需要关联组织表获取&#xff1b;后台&#xff1a;根据当前组织id去组…

百望云入选电子凭证会计数据标准深化试点服务保障单位 打通数字化“最后一公里”

电子凭证试点正在加速推进中&#xff01; 近日&#xff0c;财政部会同税务总局、人民银行、国务院国资委、国家档案局、标准委、国电联办、民航局、国铁集团9部委&#xff0c;组织召开电子凭证会计数据标准深化试点启动会。 之后&#xff0c;财政部会计司相继发布《关于公布电子…

【云驻共创】华为云文字识别服务的体验之旅

文章目录 前言一、初识OCR技术1.文字识别技术的概念1.1 文字识别&#xff08;OCR&#xff09;介绍1.2 文字识别&#xff08;OCR&#xff09;应用场景 2.文字识别技术的发展历程2.1 OCR识别领域发展历程2.1.1 西文OCR2.1.1 Tesseract2.1.3 LeNet2.1.4 深度学习OCR 2.2 OCR识别流…

Python自动化办公(一) :滴滴行程单信息提取存入excel表格 2021-04-13

ython自动化办公&#xff08;一&#xff09;:滴滴行程单信息提取存入excel表格 提示&#xff1a;这里可以添加系列文章的所有文章的目录&#xff0c;目录需要自己手动添加 例如&#xff1a;第一章 Python 机器学习入门之pandas的使用 提示&#xff1a;写完文章后&#xff0c;目…

智能客服“听不懂人话”?消费者很“闹心”

智能客服与人工客服并非互相取代的关系。人工客服不能缺位&#xff0c;应通过人机协同更好地回应消费者诉求。在金融消费领域&#xff0c;建议与资金安全等密切相关的业务能够设置人工服务“一键转接”或者“一键冻结”功能&#xff0c;保障消费者财产安全&#xff1b;为“银发…