虽然大型语言模型(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 的功能方面所需的最低资源,包括训练示例数量和模型大小。他们展示了慢慢蒸馏要领通过应用更少的数据和更小的模型,同时提高了数据效益和布置效益。
原创文章,作者:机器之心,如若转载,请注明出处:https://www.iaiol.com/news/22554