
深度学习自然语言处理 原创 作者:Winnie
ChatGPT、LLaMa等大型语言模型(LLMs)在自然语言处理领域带来的革命性进步。通过有监督微调(SFT)的训练方式,这些模型拥有强大的上下文学习能力,在各种任务中都展现了超凡的表现。然而,它们也有一个不小的问题——庞大的存储空间和高昂的计算资源成本。
但现在,研究人员们为我们带来了一项新的解决方案——SortedNet。它允许我们在一个大型模型内创建多个“子模型”,每一个都有自己专门的任务责任区。这意味着我们可以根据自己的需求和可用资源来选择适合的子模型,从而大幅度减少存储空间和计算资源的需求。
而这一切的背后,是一项名为Sorted Fine-Tuning(SoFT)的新训练技术。SoFT让我们可以在一个训练周期内产出多个子模型,无需任何额外的预训练步骤。此外,这项技术还揭示了模型的中间层也能够产生高质量的输出,这一点在之前的研究中常常被忽视。
为了证明这种方法的有效性,研究人员使用了LLaMa 2 13B和Stanford Alpaca数据集进行测试和验证。他们不仅对比了SFT和SoFT这两种方法,还创建了多个不同层次的子模型来确定哪些层最能产出高质量的结果。测试结果令人鼓舞——使用SoFT创建的子模型不仅运行速度更快,而且能够保持或甚至超越原始模型的性能水平。
让我们一起深入了解一下SortedNet和SoFT技术吧!

Paper: Sorted LLaMA: Unlocking the Potential of Intermediate Layers of Large Language Models for Dynamic Inference Using Sorted Fine-Tuning Link: https://arxiv.org/abs/2309.08968
在介绍这篇研究之前,先让我们了解一下什么是Many-in-One。
深度神经网络通常存在过多的参数,导致模型部署的成本增加。此外,在实际应用中,这些过度参数化的深度神经网络需要为具有不同需求和计算预算的客户提供服务。为了满足这些多样化的需求,可以考虑训练不同大小的模型,但这将非常昂贵(涉及训练和内存成本),或者另一种选择是训练Many-in-One网络。
Many-in-One解决方案是在一个神经网络模型内部包含多个子网络,每个子网络可以执行不同的任务或具有不同的结构。这个方法的目标是将多个任务或模型结构整合到一个统一的网络中,从而提高模型的通用性和适应性。例如:
最近,LLMs引起了广泛的关注。为了使LLMs适应这些多样化的需求,研究者提出了两种适应方法:参数高效调整(PEFT)和模型压缩。
现在,再回到Many in one LLMs的概念。这是一种非常有趣的想法,它们可以同时适应多种不同的任务和需求。但到目前为止,我们还没有看到发布的多合一LLM模型。因此,在这项研究中,研究人员将一种SortedNet的训练方法应用到LLaMA 13B模型上,这将成为第一个Many in one LLM。
这项研究的方法涉及将大型语言模型(LLMs)转化为多合一模型,灵感来自SortedNet方法,主要步骤如下:
研究者首先关注了在不同层次的生成模型中对信息进行排序的效果。他们进行了一系列实验,生成了不同层次的响应,并使用PandaLM评估器进行了成对比较。结果显示,Sorted Fine-Tuning对于将学到的知识传递到中间层具有显著影响。在自动评估中,Sorted LLaMA在几乎所有层次上都表现出色,远远超过了常规微调(SFT)。

需要注意的是,尽管对SoFT的性能进行了zero-shot评估,但为了更好地理解SFT层次的结果,研究者进行了额外的训练——对每个子模型的分类层进行训练。可以注意到,与Sorted LLaMA的第12层相比,SFT的第12层性能略好。下表是一个生成的回复例子,可以看到SFT中较早层的生成文本大多是乱码的。当我们进入SFT中的较高层时,生成的文本变得越来越有意义,这使得与Sorted LLAMA层的比较更加合理。

这一部分的实验结果呈现出了Sorted Fine-Tuning对于LLama2模型性能的积极影响,尤其是在中间层次的性能上,这为后续的研究提供了重要基准。
此外,结果还突显了Sorted Fine-Tuning能够生成性能强大且尺寸较小的子模型,这些子模型与原始模型的性能相媲美。在接下来的图表中,研究者进行了SFT和SoFT在不同条件下的评估,结果显示,无论是零-shot还是Early-Exit,两种方法的结果几乎没有变化。这些实验证明了Sorted Fine-Tuning的鲁棒性和有效性。


研究者使用Kullback-Leibler(KL)散度作为度量标准来衡量两个概率分布之间的相似性。
下图(a)比较了Sorted LLaMA和SFT子模型在不同输出位置上的概率分布。首先,图(a)左展示了与SFT模型的最后一层以及从第12层到第36层的层次之间的比较。可以明显看出,与生成初始标记后的最后一层相比,即使在较高的层次,如36和32,输出分布迅速发散。需要注意的是,这种评估是在zero-shot方式下生成的,没有调整分类器头。

下图(b)显示了在Sorted LLaMA中,随着我们靠近最后一层,生成结果的可能性分布越来越接近完整尺寸子模型,至少在生成文本的初始位置上是如此。

下图(c)展示了不同SFT层次与最后一个Sorted LLaMA层次之间的比较。图中显示,只有SFT的完整尺寸输出分布接近排序的完整尺寸模型,而其他层次的分布在生成文本的初始步骤中与SoFT相比迅速发散。

图(d)比较了所有排序层次的输出分布与最后一个SFT层次的输出分布。与图4c(左)相比,图4d(左)显示Sorted LLaMA甚至在较低层次的初始输出标记上也能保持与SFT完整尺寸模型接近的输出分布。

这项工作提出了Sorted LLaMA,它是一种基于Sorted Fine-Tuning而不是监督微调获得的多合一LLaMA模型,用于动态推理。Sorted LLaMA释放了中间层的潜在表示能力,提供了无需预训练或与模型压缩相关的额外开销的动态自适应能力。它为NLP领域中生成语言模型的优化提供了有前途的途径。
SoFT使这些模型的部署更加高效。由于所有子模型仍然是原始模型的组成部分,因此存储要求和不同计算需求之间的过渡成本最小化,使得在推理期间管理多个模型成为现实。
这些分析结果揭示了Sorted Fine-Tuning对于生成模型的输出分布的影响,特别是在不同的模型层次上,以及Sorted LLaMA在保持输出分布方面的能力。这些结果有助于更深入地理解Sorted Fine-Tuning方法的效果。