逐步提炼:以更少的训练数据和更小的模型尺寸超越更大的语言模型

1724638773997.jpg

大型语言模型 (LLM) 已经实现了一种新的数据高效学习范式,其中它们可用于通过零样本或少样本提示解决未见过的新任务。然而,由于 LLM 规模庞大,因此很难在实际应用中部署。例如,使用专门的基础架构为单个 1750 亿个 LLM 提供服务需要至少 350GB 的 GPU 内存,更不用说当今最先进的 LLM 由超过5000 亿个参数组成。许多研究团队无法达到这样的计算要求,尤其是对于需要低延迟性能的应用程序。

为了规避这些部署挑战,从业者通常选择部署较小的专门模型。这些较小的模型使用两种常见范例之一进行训练:微调或蒸馏。微调使用下游手动注释数据更新预先训练的较小模型(例如,BERT或T5)。蒸馏使用更大的 LLM 生成的标签训练相同的较小模型。不幸的是,为了实现与 LLM 相当的性能,微调方法需要人工生成的标签,而获取这些标签既昂贵又繁琐,而蒸馏需要大量未标记的数据,这些数据也很难收集。

在ACL2023上发表的 “逐步提炼!以更少的训练数据和更小的模型尺寸超越更大的语言模型”中,我们着手解决模型大小和训练数据收集成本之间的权衡。我们引入了逐步提炼,这是一种新的简单机制,让我们能够用比标准微调或提炼方法所需的少得多的训练数据来训练更小的任务特定模型,而这些方法的性能优于少样本提示的 LLM。我们证明,逐步提炼机制使 770M 参数的 T5 模型仅使用基准数据集中 80% 的示例就能胜过少样本提示的 540B PaLM 模型,这表明模型尺寸缩小了 700 倍以上,而所需的训练数据比标准方法少得多。

虽然 LLM 提供了强大的零样本和少样本性能,但在实践中却具有挑战性。另一方面,传统的训练小型任务专用模型的方法需要大量的训练数据。逐步提炼提供了一种新的范式,既减少了部署的模型大小,也减少了训练所需的数据数量。

一步步蒸馏

逐步提炼的关键思想是从 LLM 中提取信息丰富的自然语言 原理(即中间推理步骤) ,进而可以更高效地使用它们来训练小模型。具体来说,自然语言原理解释了输入问题与其对应输出之间的联系。例如,当被问到“杰西的房间长 11 英尺,宽 15 英尺。如果她已经有 16 平方英尺的地毯,那么她还需要多少地毯才能覆盖整个地板? ”时,可以通过几次思路链(CoT) 提示技术提示 LLM 提供中间原理,例如“面积 = 长度 * 宽度。杰西的房间有 11 * 15 平方英尺。 ”这更好地解释了从输入到最终答案“ (11 * 15)- 16 ”的联系。这些原理可以包含相关的任务知识,例如“面积 = 长度 * 宽度”,而这原本可能需要小模型学习大量数据。除了标准任务标签之外,我们还利用这些提取的理由作为额外的、更丰富的监督来训练小模型。

逐步提炼概述:首先,我们利用 CoT 提示从 LLM 中提取原理。然后,我们使用生成的原理在多任务学习框架内训练小型任务特定模型,在该框架中,我们将任务前缀添加到输入示例,并训练模型根据给定的任务前缀进行不同的输出。

逐步提炼包括两个主要阶段。在第一阶段,我们利用少样本 CoT 提示从 LLM 中提取原理。具体来说,给定一个任务,我们在 LLM 输入提示中准备少样本样本,其中每个示例由一个三元组组成,包含:(1) 输入、(2) 原理和 (3) 输出。给定提示,LLM 能够模仿三元组演示来生成任何新输入的原理。例如,在常识性问答任务中,给定输入问题“Sammy 想去人多的地方。他会去哪里?答案选项:(a) 人口稠密的地区,(b) 赛道,(c) 沙漠,(d) 公寓,(e) 路障”,逐步提炼为问题提供了正确答案“(a) 人口稠密的地区”,并提供了更好地将问题与答案联系起来的原理,“答案一定是一个很多人的地方。”在上述选择中,只有人口稠密的地区才有很多人。”通过在提示中提供与理由配对的 CoT 示例,上下文学习能力允许 LLM 输出未来看不见的输入的相应理由。

我们使用少样本 CoT 提示,其中包含示例原理(以绿色突出显示)和标签(以蓝色突出显示),以从新输入示例的 LLM 中引出原理。该示例来自常识性问答任务。

提取出基本原理后,在第二阶段,我们将基本原理纳入训练小模型中,将训练过程构建为多任务问题。具体来说,除了标准标签预测任务外,我们还使用新的基本原理生成任务来训练小模型。基本原理生成任务使模型能够学习生成预测的中间推理步骤,并指导模型更好地预测结果标签。我们在模型的输入示例中添加任务前缀(即,分别用于标签预测和基本原理生成的 [label] 和 [rationale]),以区分这两个任务。

实验设置

在实验中,我们将540B PaLM模型视为 LLM。对于特定于任务的下游模型,我们使用T5 模型。对于 CoT 提示,我们在可用时使用原始 CoT 提示,并为新数据集整理我们自己的示例。我们在三个不同的 NLP 任务的四个基准数据集上进行了实验:用于自然语言推理的e-SNLI和ANLI;用于常识性问答的CQA ;以及用于算术数学应用题的SVAMP。我们包括两组基线方法。为了与少样本提示的 LLM进行比较,我们将它与使用540B PaLM模型的少样本 CoT 提示进行比较。在论文中,我们还将标准任务特定模型训练与标准微调和标准提炼进行了比较。在这篇博文中,我们将重点关注与标准微调的比较以进行说明。

训练数据较少

与标准微调 相比,逐步提取方法使用更少的训练数据实现了更好的性能。例如,在 e-SNLI 数据集上,我们在仅使用完整数据集的 12.5% 时就实现了比标准微调更好的性能(如下图左上象限所示)。同样,我们在 ANLI、CQA 和 SVAMP 上实现了数据集大小分别减少 75%、25% 和 20%。

在不同规模的人工标记数据集上使用 220M T5 模型进行逐步蒸馏与标准微调的比较。在所有数据集上,逐步蒸馏能够通过使用更少的训练示例超越在完整数据集上训练的标准微调。

部署模型尺寸较小

与少样本 CoT 提示的 LLM 相比,逐步蒸馏使用更小的模型尺寸实现了更好的性能。例如,在 e-SNLI 数据集上,我们使用 220M T5 模型实现了比 540B PaLM 更好的性能。在 ANLI 上,我们使用 770M T5 模型实现了比 540B PaLM 更好的性能,该模型小 700 多倍。请注意,在 ANLI 上,同样的 770M T5 模型使用标准微调很难匹敌 PaLM 的性能。

我们对不同大小的 T5 模型执行逐步蒸馏和标准微调,并将其性能与 LLM 基线(即 Few-shot CoT 和 PINTO Tuning)进行比较。逐步蒸馏能够通过使用小得多的模型(例如,在 ANLI 上小 700 倍以上的模型)超越 LLM 基线。标准微调无法在使用相同模型大小的情况下与 LLM 的性能相匹配。

逐步蒸馏法优于使用较少数据、模型较小的少样本 LLM

最后,我们探索最小的模型大小和最少的数据量,以便通过逐步提炼超越 PaLM 的少样本性能。例如,在 ANLI 上,我们使用 770M T5 模型超越了 540B PaLM 的性能。这个较小的模型仅使用了完整数据集的 80%。同时,我们观察到即使使用 100% 的完整数据集,标准微调也无法赶上 PaLM 的性能。这表明,逐步提炼可以同时减小模型大小以及超越 LLM 所需的数据量。

我们展示了 T5 模型的最小尺寸以及通过粗粒度搜索逐步提取以超越 LLM 的少样本 CoT 所需的最少人工标记示例数量。逐步提取不仅能够使用更小的模型超越少样本 CoT,而且与标准微调相比,它使用更少的训练示例实现了这一目标。

结论

我们提出了逐步提炼法,这是一种从 LLM 中提取原理的新机制,可作为训练小型、特定任务模型的信息监督。我们表明,逐步提炼法既减少了策划特定任务的小型模型所需的训练数据集,也减少了实现甚至超越少量样本提示的 LLM 性能所需的模型大小。总体而言,逐步提炼法提出了一种资源高效的范例,解决了模型大小和所需训练数据之间的权衡。

Google Cloud Platform 上的可用性

您可以在Vertex AI 上查看 Distilling step-by-step 的私人预览版。如果您有兴趣尝试,请联系vertex-llm-tuning-preview@google.com,并提供您的 Google Cloud 项目编号和使用案例摘要。

致谢

这项研究由 Cheng-Yu Hsieh、Chun-Liang Li、Chih-Kuan Yeh、Hootan Nakhost、Yasuhisa Fujii、Alexander Ratner、Ranjay Krishna、Chen-Yu Lee 和 Tomas Pfister 进行。感谢 Xiang Zhang 和 Sergey Ioffe 提供的宝贵反馈。

版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

评论