Abstract
小型语言模型(SLM)由于其以最少的计算资源执行各种语言任务的效率和性能而变得越来越重要,使其成为各种设置的理想选择,包括设备上,移动的,边缘设备等。在这篇文章中,我们提出了一个全面的调查SLM,专注于他们的架构,训练技术和模型压缩技术。我们提出了一种新的分类法,用于分类的方法来优化SLM,包括模型压缩,修剪和量化技术。我们总结了基准数据集,是有用的基准SLM沿着与常用的评估指标。此外,我们强调了仍有待解决的关键开放性挑战。我们的调查旨在为有兴趣开发和部署小型但高效的语言模型的研究人员和从业者提供宝贵的资源。
文章目录
1. Introduction
尽管大型语言模型(LLM)在各种基准测试和现实世界中表现出令人印象深刻的性能,但它们的成功是以巨大的代价为代价的。LLM的训练和运行是资源密集型的,需要大量的计算和数据。这通常意味着它们在集中和专门的硬件上运行,用于训练和推理。作为对这些挑战的回应,人们对小语言模型(SLM)的兴趣越来越大。小型语言模型旨在保持大型语言模型的准确性和/或适应性,同时受到一些约束,例如训练或推理硬件,数据可用性,带宽或生成时间。相对于这些约束提高模型性能可以改善下游目标,例如隐私,成本或在消费者设备上运行的能力。
对小型语言模型进行调查的固有困难在于,“小型”和“大型”的定义是上下文和时间的函数。GPT2是2019年的“大型语言模型”,参数为15亿,比本次调查中涵盖的许多“小型”语言模型都要小。然而,尽管规模发生了变化,但小语言模型的训练目标仍然相对稳定。在本调查中,我们探讨了能够构建和推断SLM的架构、训练和模型压缩技术。此外,我们总结了在评估SLM性能时常用的基准数据集和评估指标。为此,我们提出了一种新的分类法,用于沿沿着两个轴组织方法:
- 在预处理(模型架构)、训练和
- 后处理(模型压缩)SLM中使用的技术;
这些维度的概述可参见表1(技术)和表2(约束)。
必须指出,在这些目标中的任何一个方面取得进展并不一定意味着在其他方面取得进展。事实上,两者之间往往存在取舍。例如,像量化感知训练(Dettmers等人,2022 a、2024)通常比它们的全精度对应物慢。但是,通过使用混合精度来表示权重和梯度,它们允许使用较少的内存进行训练或微调。最后,尽管最近对LLM及其学习方法进行了几次调查(Rogers等人,2020年; Min等人,2021年; Zhu等人,2023年; Shen等人,据我们所知,这是第一次以SLM为重点的调查。
本文的组织。本调查分为三个主要部分,每个部分都涵盖了优化SLM的一个关键方面。第2节重点介绍模型架构,包括轻量级设计、高效的自注意力近似和神经架构搜索,以有效地构建更小的模型。第3节涵盖了有效的预训练和微调技术,以提高性能的SLM,同时管理资源的限制。第4节探讨了模型压缩技术,如修剪、量化和知识蒸馏,这些技术可以在不牺牲显著准确性的情况下减小模型大小和延迟。第5节介绍了基准数据集和评估指标的概述,为评估这些方法的有效性提供了一个全面的框架。第6节讨论了由SLM启用的应用程序,并按约束进行组织。最后,第7节讨论了SML的未决挑战。主要贡献摘要。这项工作的主要贡献如下:
为从业者全面调查关于小语言模型的现有工作。本文还给出了文献中使用的问题设置、评价指标和数据集。
我们为SLM介绍了一些直观的分类法,并使用这些分类法对现有工作进行了调查。
我们确定SLM的重要应用、未决问题和挑战,以供未来的工作解决。
2 Model Architectures
本节讨论开发SLM的体系结构设计。具体来说,我们涵盖了轻量级架构(第2.1节),有效的自我注意力近似(第2.2节)和神经架构搜索(第2.3节)。
2.1 Lightweight Architectures
轻量级语言模型架构旨在通过更少的参数和更低的计算开销实现高效的性能,非常适合部署在资源受限的设备上,如移动的电话、边缘设备和嵌入式系统。代表性的轻量级模型通常遵循仅编码器和仅解码器架构。轻量级的仅编码器架构大多数是BERT的优化版本(Devlin等人,(2019年版)。例如,MobileBERT(Sun等人,2020)引入了一种倒置瓶颈结构,以保持自注意和前馈网络之间的平衡,实现了4.3倍的尺寸减少和5.5倍的加速比相比,基本版本的BERT。DistilBERT(Sanh,2019)和TinyBERT(Jiao等人,2019年)达到96个以上
轻量级的仅解码器体系结构遵循诸如GPT的自回归语言模型的结构(拉德福等人,2018年、2019年)和LLaMA系列(Touvron等人,第2023段b)。这些模型强调知识提炼、内存开销优化、参数共享、嵌入共享等,以提高效率和可扩展性。BabyLLaMA(Timiryasov和Tastet,2023 a)和BabyLLaMA-2(Tastet和Timiryasov,2024)分别将多名教师的知识提取到一个58 M参数模型和一个345 M参数模型中,证明了提取可以超过教师模型的表现,特别是在数据受限的条件下。TinyLLaMA(Zhang等人,2024),仅具有1.1B的参数,通过优化存储器开销,经由FlashAttention(Dao等人,2022年),同时为各种下游任务保持有竞争力的性能。MobilLLaMA(Thawakar等人,2024)应用了一种参数共享方案,该方案降低了预训练和部署成本,为资源受限的设备引入了0.5B参数模型。MobileLLM(刘等人,2024 e)进一步引入了具有逐块权重共享的嵌入共享和分组查询注意机制以减少等待时间。
2.2 Efficient Self-Attention Approximations
由于自注意层中的参数数量巨大,以及与自注意相关联的计算成本,部署大型语言模型可能具有挑战性。在本节中,我们将讨论减少这种计算成本的策略,这最终将有助于创建小型语言模型。重整器(Kitaev等人,20 20)通过使用局部敏感散列来代替点积注意,将自注意的复杂度从O(N2)提高到O(N logN).Roy等人(2021)使用了基于在线k均值聚类的稀疏路由模块,这降低了注意力计算的复杂度。
为了将自注意层的计算二次复杂度从O(N2)降低到O(N),几个工作,包括(Wang等人,2020年a; Katharopoulos等人,2020年; Xiong等人,2021年; Beltagy等人,2020),提出了线性注意机制。特别是,(Katharopoulos等人,2020)将自注意表示为核特征映射的线性点积,从而降低了二次复杂度。作者进一步表明,具有这种线性注意机制的变压器可以被视为一个递归神经网络,它能够实现更快的推理。在这些基础上,最新的技术进步带来了更高级的架构。值得注意的例子包括Mamba(Gu和Dao,2023年; Dao和Gu,2024年),它引入了一个具有输入相关转换的选择性状态空间模型,以及RWKV(Peng等人,2023),其将变换器和RNN的元素与线性注意机制相结合。这些模型不仅实现了线性的时间和空间复杂性,而且还展示了跨各种任务的具有竞争力的性能。高效序列建模架构的发展趋势旨在保持基于注意力的模型的表达能力,同时显著降低计算复杂度。
我们还提到了一些以前的工作,处理长文档与编码器纯架构。Longformer(Beltagy等人,2020)使用局部窗口化注意力和任务特定全局注意力的组合,该组合随输入长度线性缩放,因此是存储器高效的。Wang等人(2020 a)使用一个低秩矩阵来近似自我注意机制,将复杂性降低到O(N)。“这两项研究都表明,在各种下游任务中,具有线性自注意的转换器在经验上