蒸馏也能Step-by-Step:新方法让小模型也能媲美2000倍体量大模型

简介: 蒸馏也能Step-by-Step:新方法让小模型也能媲美2000倍体量大模型


大型语言模型能力惊人,但在部署过程中往往由于规模而消耗巨大的成本。华盛顿大学联合谷歌云计算人工智能研究院、谷歌研究院针对该问题进行了进一步解决,提出了逐步蒸馏(Distilling Step-by-Step)范式帮助模型训练。该方法在训练用于特定任务的小型模型方面优于 LLM,训练数据远少于传统的微调和蒸馏。他们的 770M T5 模型在一个基准任务上表现优于 540B PaLM 模型。令人印象深刻的是,他们的模型只使用了可用数据的 80%。


虽然大型语言模型(LLMs)展现了令人印象深刻的少样本学习能力,但将这样大规模的模型部署在现实应用中是很难的。为 1750 亿参数规模的 LLM 提供服务的专门基础设施,至少需要 350GB 的 GPU 内存。更甚者,现今最先进的 LLM 是由超过 5000 亿的参数组成的,这意味着它需要更多的内存和计算资源。这样的计算要求对于大多数生产商来说都是难以企及的,更何况是要求低延迟的应用了。


为了解决大型模型的这个问题,部署者往往采用小一些的特定模型来替代。这些小一点的模型用常见范式 —— 微调或是蒸馏来进行训练。微调使用下游的人类注释数据升级一个预训练过的小模型。蒸馏用较大的 LLM 产生的标签训练同样较小的模型。但是很遗憾,这些范式在缩小模型规模的同时也付出了代价:为了达到与 LLM 相当的性能,微调需要昂贵的人类标签,而蒸馏需要大量很难获得的无标签数据。


在一篇题为「Distilling Step-by-Step! Outperforming Larger Language Models with Less Training Data and Smaller Model Sizes」的论文中,来自华盛顿大学、谷歌的研究者引入了一种新的简单机制 —— 逐步蒸馏(Distilling step-bystep),用于使用更少的训练数据来训练更小的模型。这种机制减少了微调和蒸馏 LLM 所需的训练数据量,使之有更小的模型规模。



论文链接:https://arxiv.org/pdf/2305.02301v1.pdf


该机制的核心是换一种角度,将 LLM 看作是可以推理的 agent,而不是噪声标签的来源。LLM 可以产生自然语言的理由(rationale),这些理由可以用来解释和支持模型所预测的标签。例如,当被问及「一位先生携带着打高尔夫球的设备,他可能有什么?(a) 球杆,(b) 礼堂,(c) 冥想中心,(d) 会议,(e) 教堂」,LLM 可以通过思维链(CoT)推理回答出「(a)球杆」,并通过说明「答案一定是用来打高尔夫球的东西」来合理化这个标签。在上述选择中,只有球杆是用来打高尔夫的。研究者使用这些理由作为额外更丰富的信息在多任务训练设置中训练较小的模型,并进行标签预测和理由预测。


如图 1 所示,逐步蒸馏可以学习特定任务的小模型,这些模型的参数量还不到 LLM 的 1/500。与传统的微调或蒸馏相比,逐步蒸馏使用的训练示例要也少得多。



实验结果显示,在 4 个 NLP 基准中,有三个有希望的实验结论。


  • 第一,相对于微调和蒸馏,逐步蒸馏模型在各数据集上实现了更好的性能,平均减少了 50% 以上的训练实例(最多可减少 85% 以上)。
  • 第二,我们的模型在模型尺寸更小的情况下表现优于 LLM(最多可以小到 2000 倍),极大地降低了模型部署所需的计算成本。
  • 第三,该研究在缩减模型尺寸的同时,也减少了超越 LLM 所需要的数据量。研究者使用一个 770M 的 T5 模型超越了 540B 参数的 LLM 的性能。这个较小的模型只使用了现有微调方法 80% 的标记数据集。


当只有未标记的数据时,小模型的表现相比 LLM 而言仍然有过之而无不及 —— 只用一个 11B 的 T5 模型就超过了 540B 的 PaLM 的性能。


该研究进一步表明,当一个较小的模型表现比 LLM 差时,与标准的蒸馏方法相比,逐步蒸馏可以更有效地利用额外的无标签数据来使较小的模型媲美 LLM 的性能。


逐步蒸馏


研究者提出了逐步蒸馏这个新范式,是利用 LLM 对其预测的推理能力,以数据高效率的方式训练更小的模型。整体框架如图 2 所示。



该范式有两个简单的步骤:首先,给定一个 LLM 和一个无标签的数据集,提示 LLM 生成输出标签以及证明该标签成立的理由。理由用自然语言解释,为模型预测的标签提供支持(见图 2)。理由是当前自监督 LLM 的一个涌现的行为属性。


然后,除了任务标签之外,利用这些理由来训练更小的下游模型。说白了,理由能提供了更丰富、更详细的信息,来说明一个输入为什么被映射到一个特定的输出标签。


实验结果


研究者在实验中验证了逐步蒸馏的有效性。首先,与标准的微调和任务蒸馏方法相比,逐步蒸馏有助于实现更好的性能,训练实例的数量少得多,大幅提高了学习小型特定任务模型的数据效率。




其次,研究表明,逐步蒸馏方法以更小的模型大小超越了 LLM 的性能,与 llm 相比,大大降低了部署成本。




最后,研究者调查了逐步蒸馏方法在超过 LLM 的性能方面所需的最低资源,包括训练示例数量和模型大小。他们展示了逐步蒸馏方法通过使用更少的数据和更小的模型,同时提高了数据效率和部署效率。



相关文章
|
5天前
|
机器学习/深度学习
苹果发布高效双EMA梯度优化方法,适配Transformer、Mamba模型
苹果公司在arXiv上发布论文《The AdEMAMix Optimizer: Better, Faster, Older》,提出了一种基于双指数移动平均(EMA)的新型优化器AdEMAMix。该优化器通过使用快速和慢速EMA,同时利用近期和远期梯度信息,显著提升了模型训练的速度和效果。实验表明,AdEMAMix在语言建模和图像分类等任务上表现出色,尤其在大型语言模型的训练中,相比传统优化器如AdamW,训练效率提高了95%。
51 32
|
8天前
|
人工智能 物联网 C语言
SVDQuant:MIT 推出的扩散模型后训练的量化技术,能够将模型的权重和激活值量化至4位,减少内存占用并加速推理过程
SVDQuant是由MIT研究团队推出的扩散模型后训练量化技术,通过将模型的权重和激活值量化至4位,显著减少了内存占用并加速了推理过程。该技术引入了高精度的低秩分支来吸收量化过程中的异常值,支持多种架构,并能无缝集成低秩适配器(LoRAs),为资源受限设备上的大型扩散模型部署提供了有效的解决方案。
34 5
SVDQuant:MIT 推出的扩散模型后训练的量化技术,能够将模型的权重和激活值量化至4位,减少内存占用并加速推理过程
|
2月前
|
人工智能 网络架构 开发者
第一个100%开源的MoE大模型,7B的参数,1B的推理成本
【10月更文挑战第1天】《OLMoE: Open Mixture-of-Experts Language Models》一文介绍了OLMoE,这是一个完全开源的Mixture-of-Experts(MoE)语言模型,具有70亿参数量,但每个输入令牌仅需10亿参数进行推理,有效平衡了性能与成本。OLMoE由Allen Institute for AI等机构的研究者共同开发,其开源特性促进了大规模语言模型领域的合作与创新,降低了资源浪费,同时具备良好的可扩展性和效率,为研究和应用开辟了新可能。然而,其复杂性也可能带来训练和调优上的挑战。
56 2
|
2月前
|
物联网
StableDiffusion-03 (准备篇)15分钟 部署服务并进行LoRA微调全过程详细记录 不到20张百变小樱Sakura微调 3090(24GB) 学不会你打我!(二)
StableDiffusion-03 (准备篇)15分钟 部署服务并进行LoRA微调全过程详细记录 不到20张百变小樱Sakura微调 3090(24GB) 学不会你打我!(二)
38 1
|
2月前
|
并行计算 Ubuntu 物联网
StableDiffusion-03 (准备篇)15分钟 部署服务并进行LoRA微调全过程详细记录 不到20张百变小樱Sakura微调 3090(24GB) 学不会你打我!(一)
StableDiffusion-03 (准备篇)15分钟 部署服务并进行LoRA微调全过程详细记录 不到20张百变小樱Sakura微调 3090(24GB) 学不会你打我!(一)
32 0
|
6月前
|
算法 测试技术 异构计算
【SAM模型超级进化】MobileSAM轻量化的分割一切大模型出现,模型缩小60倍,速度提高40倍,效果不减
【SAM模型超级进化】MobileSAM轻量化的分割一切大模型出现,模型缩小60倍,速度提高40倍,效果不减
|
7月前
|
机器学习/深度学习 人工智能 自然语言处理
2万亿训练数据,120亿参数!开源大模型Stable LM 2-12B
【4月更文挑战第19天】Stability AI团队推出了120亿参数、2万亿训练数据的Stable LM 2-12B语言模型,成为公开模型的新标杆。该模型采用Transformer架构,支持多语言处理,并公开训练细节,促进AI技术发展。然而,其大规模带来资源需求增加及准确性的挑战,需关注模型优化、输出可靠性及地域文化适应性。
96 1
|
7月前
|
机器学习/深度学习
YOLOv5改进 | Conv篇 | 利用轻量化PartialConv提出一种全新的结构CSPPC (参数量下降约42W)
YOLOv5改进 | Conv篇 | 利用轻量化PartialConv提出一种全新的结构CSPPC (参数量下降约42W)
341 4
|
7月前
|
机器学习/深度学习
YOLOv8改进 | Conv篇 | 利用轻量化PartialConv提出一种全新的结构CSPPC (参数量下降约100W)
YOLOv8改进 | Conv篇 | 利用轻量化PartialConv提出一种全新的结构CSPPC (参数量下降约100W)
1166 0
|
缓存 算法 PyTorch
比标准Attention提速5-9倍,大模型都在用的FlashAttention v2来了
比标准Attention提速5-9倍,大模型都在用的FlashAttention v2来了
412 0