作为当前 AI 领域的顶流,ChatGPT、GPT-4 等大模型在文本理解、生成、推理等方面展现出强大的能力,这离不开其背后的生成领域训练新范式 ——RLHF (Reinforcement Learning from Human Feedback) ,即以强化学习的方式依据人类反馈优化语言模型。
使用 RLHF 方法,大型语言模型可与人类偏好保持对齐,遵循人类意图,最小化无益、失真或偏见的输出。但 RLHF 方法依赖于大量的人工标注和评估,因此成本非常高昂。
最近,来自 Meta AI 等机构的研究者在一项研究中指出:在对齐方面,少即是多。
该研究使用了一个 65B 参数的 LLaMa 模型(该模型称为 LIMA)在 1000 个精选样本上进行有监督学习,在完全没使用 RLHF 方法的情况下,LIMA 表现出非常强大的性能,并且能够很好地泛化到训练数据以外的任务上。在人类评估结果中,LIMA 甚至可与 GPT-4、Bard、DaVinci003 相媲美。图灵奖得主 Yann LeCun 也转推称赞这项研究。
接下来,让我们看一下研究细节。
研究概述
首先,我们知道训练大型语言模型需要两个步骤:
- 在原始内容中进行无监督预训练,以学习通用表征;
- 大规模指令微调和强化学习,以更好地对齐最终任务和用户偏好。
该研究训练了一个 65B 参数的 LLaMa 语言模型「LIMA」,以衡量这两个步骤的重要程度。LIMA 仅在 1000 个精选 prompt 和回答(response)上使用标准监督损失进行微调,不涉及任何强化学习或人类偏好建模。
LIMA 能够从训练数据的少量样本中学习遵循特定的回答格式,包括从计划旅行行程到推测备用历史的复杂查询。并且,该模型能够很好地泛化到训练数据以外的新任务上。在一项人体对照试验中,LIMA 在 43% 的病例中疗效都与 GPT-4 媲美甚至更好;相比于 Bard,占比能够达到 58%;更别说与使用人类反馈训练的 DaVinci003 对比了,这个数字高达 65%。
该研究根据对比结果总结道:大型语言模型中几乎所有的知识都是在预训练期间学习的,并且想让模型产生高质量的输出只需要部分必要的指令调优数据。这一点与 RLHF 方法不同,将有助于大型语言模型(LLM)降低训练成本。
数据对齐
研究者提出了表面对齐假设:模型的知识和能力几乎完全是在预训练期间学习的,而对齐则是教会它与用户交互时如何选择子分布。如果假设正确,对齐主要有关于学习方式,那么该假设的一个推论是,人们可以用相当少的样本充分调整预训练的语言模型。
为此,研究者收集了 1000 个 prompt 和回答的数据集,其中输出 (回答) 在风格上一致,但输入 (prompt) 是不同的。他们想找出一种有帮助的、AI 助手风格的输出。精选样本的来源主要包括社区问答和手动撰写两部分。除此之外,团队还收集了一个包含 300 个 prompt 的测试集以及一个包含 50 个 prompt 的开发集。表 1 展示了不同数据源的概览,并提供了一些统计数据。
社区问答
研究者从三个社区问答网站收集数据,分别是 Stack Exchange、wikiHow 和 Pushshift Reddit 数据集。来自 Stack Exchange 和 wikiHow 的答案与 AI 智能体的行为很一致,因此可以深度挖掘,而 Reddit 的高赞答案往往是幽默的或带有恶意,需要一种人工的方法来管理回答,遵循适当的风格。
人工撰写的样本
为进一步丰富数据,研究团队还自己制作 prompt,指定两组作者 (分别为 A 组和 B 组),由他们自己或朋友的兴趣各自创建 250 个 prompt。从 A 组中选择 200 个 prompt 进行训练,并将 50 个 prompt 作为保留的开发集。过滤部分有问题的 prompt 后,将 B 组中剩余的 230 个 prompt 用于测试。
训练 LIMA
该研究以 LLaMa 65B [Touvron et al., 2023] 作为基础模型,使用包含 1000 个样本的对齐训练集进行了微调。为了区分每个说话者(用户和助手),该研究在每段话语结束时引入一个特殊的回合结束 token(EOT),该 token 与停止生成的 EOS 起着相同的作用,但避免了与预训练模型已注入的 EOS token 产生混淆。
人类评估
该研究将 LIMA 与 SOTA 语言模型进行了比较评估,结果表明 LIMA 优于 OpenAI 基于 RLHF 的 DaVinci003 和在 52000 个样本上训练的 Alpaca 65B 参数复现版本,并且可以生成比 GPT-4 更好或与之媲美的回答。我们来看一下具体的实验结果。
结果
下图 1 显示了人类偏好评估结果,图 2 显示了 GPT-4 偏好评估结果。该研究第一个观察结果是,尽管使用 52 倍的数据进行训练,Alpaca 65B 输出的结果往往不如 LIMA,而使用高级对齐方法 RLHF 训练的 DaVinci003 也是如此。
谷歌的 Bard 模型则显示出与 DaVinci003 相反的趋势,在 42% 的时间内产生比 LIMA 更好的回答;而 58% 的情况 LIMA 的回答与 Bard 相当或者更好。
最后,虽然 Claude 和 GPT-4 通常比 LIMA 表现更好,但在很多情况下 LIMA 确实产生了更好的回答。值得注意的是,即使是 GPT-4 也有 19% 的情况更喜欢 LIMA 的输出。
分析
虽然研究者主要是针对 SOTA 模型来评估 LIMA,但值得注意的是,其中一些基线实际上是高度调谐的产物,在训练过程中可能已经接触了数百万的真实用户 prompt,因此创造了一个非常高的标准。因此,研究者通过手动分析 50 个随机样本来提供一个绝对评估(absolute assessment)。
他们将每个样本标记为三个类别中的一个:
- 失败,回答不符合 prompt 的要求;
- 通过,回答符合 prompt 的要求;
- 优秀,模型对 prompt 提供了一个极好的回答。
结果如图 3 所示,50% 的 LIMA 答案被认为是优秀的,而且它能够遵循 50 个分析的 prompt 中除 6 个以外的所有 prompt,研究者没有观察到失败案例中的任何明显的趋势。
在 50 个分析样本中,有 43 个具有标准格式要求(例如问答、书信)。该研究分析了 13 个额外的分布外样本(总共 20 个),结果发现 20% 回答失败,35% 通过,45% 非常好。虽然样本数量非常小,但 LIMA 已经在其训练分布之外实现了类似的性能结果,这表明 LIMA 能够很好地泛化。
最后,该研究分析了训练集中少量与安全相关的样本(只有 13 个),并使用来自测试集的 30 个潜在敏感 prompt,发现 LIMA 安全地回答了其中的 80%(包括 10 个带有恶意 prompt 中的 6 个)。在某些情况下,LIMA 完全拒绝执行任务,但当恶意意图比较模糊时,LIMA 更有可能提供不安全的回答。
为什么「Less More」?对数据多样性、质量和数量的消减
接下来,研究者通过消融实验探讨了训练数据的多样性、质量和数量的影响。他们观察到,对于对齐的目的,扩大输入多样性和输出质量有可衡量的积极影响,仅仅扩大数量则可能不会有。
多样性。为了测试 prompt 多样性的效果,同时控制质量和数量,研究者比较了经过质量过滤的 Stack Exchange 数据和 wikiHow 数据的训练效果,前者有异质的 prompt 和极好的回答,后者则有同质的 prompt 和极好的回答。虽然在此将二者作为多样性的代表进行比较,但研究者也表示,在从两个不同来源的数据中采样时,可能会有其他混淆因素。他们从每个来源中抽出 2000 个训练样本,如图 5 显示,更多样化的 Stack Exchange 数据产生了明显更好的性能。
质量。为了测试回答质量的影响,研究者从 Stack Exchange 中抽取了 2000 个样本,没有经过任何质量或风格的过滤,并将在这个数据集上训练的模型与在过滤过的数据集上训练的模型进行比较。如图 5 所示,在经过过滤和未经过过滤的数据源上训练的模型之间有 0.5 分的显著差异。
数量。增加实例的数量是在许多机器学习环境中提高性能的一个著名策略。为了测试它对该设置的影响,研究者从 Stack Exchange 中抽取了指数级增加的训练集。如图 6 所示,训练集规模的翻倍并没有改善回答质量。这个结果表明,对齐不一定只受制于训练样本的数量,还与 prompt 多样性函数有关。
多轮对话
一个仅在 1000 次单回合互动中进行微调的模型能否参与多回合对话?研究者还在 10 个现场对话中测试了 LIMA,将每个回答标记为失败、通过或优秀。
对于一个零样本聊天机器人来说,LIMA 的回答展现出了惊人的一致性,它能够参考对话中以前的步骤信息。但很明显的是,该模型的操作超出了分布范围;在 10 个对话中的 6 个,LIMA 在 3 次互动中未能遵循 prompt。
为了提高它的对话能力,研究者收集了 30 个多轮对话链。在这些对话中,有 10 个对话是由作者创作的,而剩下的 20 个对话是基于 Stack Exchange 的评论链,研究者对其进行了编辑以适应助手的风格。利用合并后的 1030 个样本,他们从预训练的 LLaMa 模型中微调了一个新版本的 LIMA,并根据用于零样本模型的相同 prompt 进行了 10 次现场对话。
图 7 显示了回答质量的分布。增加对话后,大大改善了生成质量,将优秀回答的比例从 45.2% 提高到 76.1%。此外,失败率从每 42 个回合有 15 次失败(零样本)下降到每 46 次有 1 次失败(微调)。
研究者进一步比较了整个对话的质量,发现微调模型在 10 个对话中的 7 个表现明显更好,在 3 个对话中与零样本模型打成平手。从仅仅 30 个样本中获得的这种能力的飞跃,以及零样本模型可以进行对话的事实,加强了这样的假设:这种能力是在预训练中学习的,并且可以通过有限的监督来调用。
综上所述,在 1000 个精心策划的例子上对一个强大的预训练语言模型进行微调,可以在广泛的 prompt 中产生显著的、有竞争力的结果。然而,这种方法也有局限性:首先,构建这样的样本所付出的脑力劳动是巨大的,而且很难扩大规模。其次,LIMA 并不像产品级模型那样鲁棒,虽然 LIMA 通常会产生良好的反应,但在解码过程中一个不幸运的样本或一个敌对的 prompt 往往会导致一个弱的反应。尽管如此,这项工作中提出的证据表明,用简单的方法来解决复杂的对齐问题是有潜力的。