乐趣区

关于人工智能:解读-ChatGPT-背后的技术重点RLHFIFTCoT红蓝对抗

近段时间,ChatGPT 横空出世并取得巨大成功,使得 RLHF、SFT、IFT、CoT 等这些艰涩的缩写开始呈现在普罗公众的探讨中。这些艰涩的首字母缩略词到底是什么意思?为什么它们如此重要?咱们考察了相干的所有重要论文,以对这些工作进行分类,总结迄今为止的工作,并对后续工作进行瞻望。

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

其中一些团队还颁布了他们构建开源聊天机器人的打算,并公开分享了路线图 (比方 LAION 团队的 Open Assistant),其余团队必定也有相似的内容,但尚未发表。

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

  LaMDA BlenderBot 3 Sparrow ChatGPT / InstructGPT Assistant
组织 Google Meta DeepMind OpenAI Anthropic
是否公开拜访 无限
大小 137B 175B 70B 175B 52B
预训练
根底模型
未知 OPT Chinchilla GPT-3.5 未知
预训练语料库大小 (词数) 2.81T 180B 1.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 AI Surge 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);另一端是经由社区的大量致力精心制作的指令如 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)。

平安地遵循指令

然而,通过指令微调的 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 推理。

如 Chung 等,’22 中所述,应用 CoT 微调的模型在波及常识、算术和符号推理的工作上体现得更好。

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

要点

  1. 与预训练数据相比,您只须要十分小的一部分数据来进行指令微调 (几百个数量级);
  2. 应用人工标注的有监督微调使模型输入更平安和有用;
  3. CoT 微调进步了模型在须要逐渐思考的工作上的性能,并使它们在敏感话题上不那么回避。

对话代理的进一步工作

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

  1. RL 在从人类反馈中学习有多重要?咱们是否通过在 IFT 或 SFT 中应用更高质量的数据进行训练来取得 RLHF 的性能?
  2. 为了平安的角度看,Sparrow 中的 SFT+RLHF 与 LaMDA 中仅应用 SFT 相比如何?
  3. 鉴于咱们有 IFT、SFT、CoT 和 RLHF,预训练有多大的必要性?如何折衷?人们应该应用的最佳根底模型是什么 (公开的和非公开的)?
  4. 本文中援用的许多模型都通过 红蓝反抗 (red-teaming) 的精心设计,工程师顺便搜查故障模式并基于已被揭示的问题改良后续的训练 (提醒和办法)。咱们如何系统地记录这些办法的成果并重现它们?

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

英文原文: <url> https://huggingface.co/blog/d… </url>

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

退出移动版