利用 RLHF 办法,大型言语模型可与人类偏好保持对齐,遵循人类意图,最小化无益、失真或偏见的输入。但 RLHF 办法依赖于大量的人工标注和评价,因此成本非常高昂。最近,来自 Meta AI 等机构的钻研者在一项钻研中指出:在对齐方面,少即是多。
论文地址:https://arxiv.org/abs/2305.11206该钻研利用了一个 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 产生混淆。该钻研遵循标准的微调超参数,包括:利用 AdamW [Loshchilov 和 Hutter,2017] 微调 15 个 epoch,其中 β_1=0.9,β_2=0.95,权重衰减(weight decay)为 0.1。在没有预热(warmup)步骤的情况下,该钻研将初始进修率(learning rate)设置为,并在训练结束时衰减到
。批大小设置为 32 个样本(对于较小的模型设置为 64 个),超过 2048 个 token 的文本将被修剪。值得注意的是,这种办法与 norm 不同的是利用了残差 dropout。该钻研按照 Ouyang et al. [2022] 的办法,并在残差连接(residual connection)上应用 dropout,底层 p_d=0.0,线性增长至最后一层 p_d=0.3(对于较小的模型 p_d=0.2)。该钻研发现发现困惑度与生成品质无关,因此利用留出(held-out)50 样本开发集手动选择了第 5 个和第 10 个 epoch 之间的检查点。
人类评价
该钻研将 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 往往会导致一个弱的反应。尽管如此,这项工作中提出的证据表明,用简单的办法来解决复杂的对齐问题是有潜力的。
原创文章,作者:机器之心,如若转载,请注明出处:https://www.iaiol.com/news/29224