摘要:近期,苹果公司正积极投身于小型语言模型(SLMs)的研究领域,这些模型因其卓越的高效性和在执行多样化语言任务时所需的极低计算资源而备受瞩目。它们展现出了在包括设备端、移动设备以及边缘设备等多种应用场景中的巨大潜力。
近期,苹果公司正积极投身于小型语言模型(SLMs)的研究领域,这些模型因其卓越的高效性和在执行多样化语言任务时所需的极低计算资源而备受瞩目。它们展现出了在包括设备端、移动设备以及边缘设备等多种应用场景中的巨大潜力。
在本文中,我们将对小型语言模型进行一次全面的综述,深入剖析其独特的架构、先进的训练技术以及高效的模型压缩技术。
01
开篇寄语
尽管大型语言模型(LLMs)在广泛的基准测试和现实应用中已展现出卓越的性能,但其成功背后却隐藏着高昂的成本。LLMs的训练和运行需要大量的计算和数据资源,通常依赖于集中化和专业化的硬件。为了应对这些挑战,小型语言模型(SLMs)逐渐崭露头角,成为研究的热点。
SLMs旨在保持LLMs的准确性和/或适应性,同时受到训练或推理硬件、数据可用性、带宽或生成时间等约束条件的限制。通过在这些约束条件下提升模型性能,SLMs有望实现隐私保护、成本节约或在消费级设备上运行的目标。
然而,对SLMs进行综述具有一定的难度,因为“小型”和“大型”的定义会随时间和上下文而变化。例如,GPT-2在2019年作为拥有15亿参数的“大型语言模型”备受瞩目,而如今却已小于许多所谓的“小型”语言模型。尽管模型规模在不断变化,但SLMs的训练目标却相对稳定。
在本综述中,我们将深入探讨支持SLMs构建和推理的架构、训练以及模型压缩技术。同时,我们还将总结用于评估SLMs性能的基准数据集和评估指标。为此,我们提出了一种新的分类方法,旨在沿着以下两条主轴组织这些方法:
在SLMs的预处理(模型架构)、训练和后处理(模型压缩)中使用的技术。这些技术试图优化的约束条件,如推理计算、训练时间、速度等。表1(技术)和表2(约束条件)提供了这些主轴的概览。需要注意的是,在任何一个目标上的进展不一定意味着在其他目标上也有相应的进展。事实上,往往需要在不同目标之间进行权衡。例如,量化感知训练等内存高效的训练方法虽然能够减少内存使用,但通常比全精度方法更慢。然而,通过使用混合精度表示权重和梯度,这些方法允许在训练或微调过程中使用更少的内存。
据我们所知,这是首篇专注于SLMs的综述。本综述分为三个主要部分,每个部分都涵盖了优化SLMs的关键方面:
第2节将关注模型架构,包括轻量化设计、高效的自注意力近似以及神经架构搜索,以高效构建更小的模型。
第3节将涵盖高效的预训练和微调技术,以在资源受限的情况下提升SLMs的性能。
第4节将探讨模型压缩技术,如剪枝、量化和知识蒸馏,这些技术可以在不显著牺牲精度的情况下减少模型的大小和延迟。
第5节将提供基准数据集和评估指标的概述,为评估这些方法的有效性提供一个综合框架。
第6节将讨论SLMs所启用的应用,并按照约束条件进行分类。
最后,第7节将提出针对SLMs的开放性挑战和讨论。
本文的主要贡献如下:
为从业者提供了一篇全面的小型语言模型综述,并综述了文献中提到的问题设置、评估指标和数据集。引入了几个直观的小型语言模型分类方法,并使用这些分类方法对现有研究进行了综述。识别了SLMs的重要应用、开放问题和挑战,为未来的研究提供了方向。02
精简高效:小型语言模型的架构设计
本节深入探讨了小型语言模型(SLMs)的架构设计,旨在通过优化模型结构,实现高效性能和资源利用。我们详细讨论了轻量化架构(第2.1节)、高效自注意力近似(第2.2节)、神经架构搜索技术(第2.3节),并新增了小型多模态模型(第2.4节)的讨论,以全面展现SLMs的最新进展。
2.1 轻量化架构
轻量化语言模型架构致力于通过精简模型参数和降低计算复杂度,以适应资源受限的设备。这些架构大多基于编码器或解码器的结构,通过引入各种优化策略,实现了显著的效率提升。
在编码器架构方面,MobileBERT等模型采用了倒瓶颈结构,有效平衡了自注意力和前馈网络的计算开销,实现了显著的尺寸缩减和速度提升。DistilBERT和TinyBERT等模型则通过知识蒸馏等技术,进一步简化了模型结构,同时保持了良好的性能。这些轻量化编码器架构在BERT的基础上进行了优化,为在资源受限设备上部署语言模型提供了有力支持。
在解码器架构方面,小型语言模型遵循自回归语言模型的结构,并强调知识蒸馏、内存开销优化、参数共享和嵌入共享等策略。例如,BabyLLaMA和BabyLLaMA-2等模型通过知识蒸馏技术,将大型教师模型的知识迁移到小型模型中,实现了在数据受限情况下的性能超越。TinyLLaMA和MobilLLaMA等模型则通过优化内存开销和参数共享方案,进一步降低了预训练和部署成本,为在资源受限设备上运行语言模型提供了可能。
2.2 高效自注意力近似
自注意力机制是Transformer架构的核心组件之一,但其在大型语言模型中的计算成本较高。为了降低这一成本,研究者们提出了多种高效自注意力近似策略。
Reformer模型通过引入局部敏感哈希技术,将自注意力的复杂度从O(N²)降低到O(N log N),显著提高了计算效率。同时,基于在线k-means聚类的稀疏路由模块也被用于减少注意力计算的复杂性。这些策略为构建小型语言模型提供了有力支持,降低了计算成本,提高了模型的可扩展性。
此外,研究者们还提出了多种线性注意力机制,将自注意力层的计算复杂度进一步降低到O(N)。这些机制包括使用核特征映射的线性点积、低秩矩阵近似以及Nystrom方法等。这些线性注意力机制在多种下游任务中表现出与原始自注意力机制相当甚至更优的性能,为构建高效的小型语言模型提供了有力保障。
2.3 神经架构搜索技术
神经架构搜索(NAS)技术是一种自动化方法,用于发现最适合特定任务和硬件约束的高效模型架构。在小型语言模型领域,NAS技术被广泛应用于寻找更小、更高效的模型结构。
先前的研究主要集中在视觉任务的NAS和BERT模型的参数优化上。然而,随着大型语言模型的兴起,如何在保持性能的同时减少模型参数成为了一个重要挑战。为此,研究者们提出了多种针对小型语言模型的NAS策略。例如,MobileLLM模型通过探索模型深度和宽度对性能的影响,有效地在数百万参数范围内进行了针对性架构搜索。同时,通过探索合适的初始化策略来减少搜索空间,进一步加快了搜索过程的收敛速度。
这些NAS技术为构建高效的小型语言模型提供了有力支持。通过自动化搜索过程,研究者们能够发现具有优异性能的模型结构,同时降低计算成本和资源消耗。
2.4 小型多模态模型
近年来,小型多模态模型在显著减少参数量的同时,实现了与前代大型模型相当甚至更优的性能。这些模型通过精心策划的数据集和高效的模型架构,实现了跨模态信息的有效融合和推理。
值得注意的例子包括LLaVA-Next、Idefics2和InternVL2等模型。这些模型在视觉和语言任务上均表现出色,部分归功于更多高效的小型语言模型(如Gemma和phi-3-mini)的引入。同时,研究者们还努力在多模态融合过程中缩减视觉编码器的规模。例如,InternVL2利用大规模视觉编码器的中间层输出,同时丢弃后续模块以降低计算成本。更小的模型如PaliGemma和Mini-Gemini则采用了轻量级的视觉编码器来进一步降低资源消耗。
此外,单体多模态模型如Chameleon和Mono-InternVL等则完全消除了视觉编码器,转而使用轻量级架构生成视觉token。这些模型通过引入特定的模态前馈网络来区分不同的模态信息,实现了跨模态信息的有效融合和推理。这些进展为构建高效、可扩展的小型多模态模型提供了有力支持,推动了人工智能技术在多模态信息处理领域的发展。
综上所述,小型语言模型的架构设计在轻量化架构、高效自注意力近似、神经架构搜索技术以及小型多模态模型等方面取得了显著进展。这些进展为构建高效、可扩展的小型语言模型提供了有力支持,推动了人工智能技术在各个领域的应用和发展。未来,随着技术的不断进步和需求的不断变化,小型语言模型的架构设计将继续迎来新的挑战和机遇。
03
训练技术优化:小型语言模型的精进之路
在语言模型的发展历程中,预训练与微调技术扮演着举足轻重的角色。尽管小型语言模型(SLMs)与大型语言模型(LLMs)在训练策略上有所共通,但如何在资源受限的条件下促进SLMs的高效学习,则成为了一个值得深入探讨的课题。
3.1 预训练技术的革新
混合精度训练,作为提升训练效率的关键一环,巧妙地在前向与后向传播中利用低精度表示,同时确保高精度的权重更新。Micikevicius等人(2018)提出的自动混合精度(AMP)技术,通过初始时采用32位浮点(FP32)精度保存权重的主副本,而在计算过程中则使用16位浮点(FP16)精度,有效降低了计算成本。然而,面对FP16在数值范围上的局限性,Rae等人(2021)的研究揭示了其可能导致的精度损失。为解决这一难题,Burgess等人(2019)引入了大脑浮点(BFLOAT16)格式,凭借其更多的指数位,提供了更广阔的动态范围,从而在训练性能和表示精度上均优于FP16。
随着GPU架构的不断演进,现代设备通过专用的Tensor Cores进一步增强了混合精度功能。从早期的FP16和BFLOAT16支持,到NVIDIA最新Hopper架构对8位浮点(FP8)精度的引入,这一系列的进步为大规模语言模型带来了前所未有的计算效率。
在追求训练效率的同时,优化和稳定技术同样不可或缺。Adam(Diederik,2014)和AdamW(Loshchilov和Hutter,2019)优化器虽已广泛应用,但内存高效的变体如Adafactor(Shazeer和Stern,2018)和Sophia(Liu等人,2024b)的涌现,进一步提升了训练速度和效率。梯度裁剪(Zhang等人,2020)作为防止梯度爆炸的有效手段,也被广泛应用于训练过程中。此外,巧妙的初始化策略为模型训练奠定了坚实的基础。这些技术的结合,旨在实现最佳的训练效率,保持数值稳定性,并生成更稳健、更强大的语言模型。
面对预训练阶段庞大的计算需求,分布式计算资源成为了不可或缺的解决方案。为此,多种系统级优化技术应运而生。零冗余数据并行(ZeRO)(Rajbhandari等人,2020)通过三个渐进式的优化阶段,将训练状态分布到更多设备上,从而实现了训练效率和可扩展性的大幅提升。PyTorch的全分片数据并行(FSDP)(Zhao等人,2023b)也采用了类似的设计理念,进一步推动了分布式训练技术的发展。
3.2 微调技术的精进
微调技术允许LLMs在较小的特定任务数据集上充分利用预训练阶段获得的知识,从而在特定任务或领域中展现出卓越的性能。这一技术旨在克服计算资源有限、数据质量参差不齐、可用性受限以及鲁棒性不足等挑战,确保模型能够高效地适应新任务。
3.2.1 参数高效微调的创新
参数高效微调(PEFT)通过仅更新一小部分参数或添加轻量级模块,同时保持大部分预训练模型参数不变,实现了计算成本的显著降低。LoRA(Hu等人,2021)利用低秩分解的思想,Prompt Tuning(Lester等人,2021)则在输入中巧妙地插入可学习的提示,而Llama-Adapter(Zhang等人,2023b;Gao等人,2023)则将提示嵌入到LLaMA的注意力块中。动态适配器(Kong等人,2024;Feng等人,2024;Gou等人,2023;Liu等人,2023b;Luo等人,2024b)则更进一步,通过自动组合多个适配器为专家混合模型,不仅支持多任务处理,还能有效防止遗忘(Han等人,2024;Yang等人,2024)。这些创新技术不仅减少了SLM微调时的计算成本,还保留了模型的知识,减少了过拟合的风险,并提高了模型的灵活性。
3.2.2 数据增强的深化
数据增强技术通过增加训练数据的复杂性、多样性和质量,显著提升了模型在下游任务中的泛化能力和性能。AugGPT(Dai等人,2023)利用ChatGPT对训练样本进行改写,生成了更具挑战性的训练数据。Evol-Instruct(Xu等人,2023)则通过多步修订策略,生成了复杂度更高的多样化开放域指令。Reflection-tuning(Li等人,2023a,2024a)则通过基于预定义标准使用GPT-4对指令和响应进行优化,进一步提升了数据质量和指令响应的一致性。FANNO(Zhu等人,2024)则通过检索增强生成技术引入外部知识源,以增强指令并生成更准确的响应。LLM2LLM(Lee等人,2024b)则在训练过程中基于模型预测生成更难的样本,进一步提升了模型的泛化能力。
数据增强技术在训练数据有限的情况下同样表现出色。例如,在低资源语言(Whitehouse等人,2023)、医疗和临床应用(Chintagunta等人,2021)以及隐私敏感数据(Song等人,2024)等受限场景下,数据增强技术使模型能够更好地泛化并表现出更强的鲁棒性。
在知识蒸馏方面,研究者们也在不断探索新的方法以提升小型语言模型的性能。通过改进序列级蒸馏损失函数、引入任务感知滤波器以及融合多个语言模型的输出概率分布等技术手段,研究者们成功地将大型语言模型的知识蒸馏到小型语言模型中。其中,Boizard等人(2024)提出的基于最优传输理论的通用logit蒸馏损失函数,更是为蒸馏策略提供了新的思路。
此外,蒸馏技术还常常与剪枝技术相结合,以创建更小的语言模型。通过迭代地对大型语言模型进行剪枝并结合蒸馏损失进行重训练,研究者们成功生成了性能卓越的小型模型。这些小型模型不仅在计算资源受限的场景下表现出色,还能在多个基准测试上超越大型语言模型。
最新的研究还探索了超越传统标签蒸馏的方法。通过在蒸馏过程中加入额外的监督信息,如“推理依据”(rationales)等,研究者们成功创建了更加样本高效的小型语言模型。这些模型在算术、多步数学、符号推理和常识推理等能力上均有显著提升。例如,Hsieh等人(2023)的研究发现,在蒸馏过程中使用推理依据作为额外的监督来源,可以显著提高蒸馏后的模型在多个基准测试上的性能。
综上所述,预训练与微调技术的不断革新和深化,为语言模型的性能提升和广泛应用奠定了坚实的基础。未来,随着技术的不断进步和应用的不断拓展,我们有理由相信,语言模型将在更多领域展现出其强大的潜力和价值。
04
结语
鉴于小型语言模型(SLMs)因其卓越的高效性以及在广泛设备与多元环境中的广泛应用而日益凸显其重要性,本文旨在全面综述SLMs的各个方面。我们深入探讨了SLMs的模型架构,这些架构以其精简而高效的设计为核心,旨在在有限的计算资源下实现最佳性能。同时,我们还审视了训练SLMs的最新技术,这些技术不仅提升了模型的准确性,还优化了训练效率,使其更加适应于各种实际应用场景。
进一步地,我们关注于模型压缩技术,这些技术是优化SLMs性能的关键所在。通过减少模型参数、量化权重或利用知识蒸馏等方法,模型压缩技术能够在不牺牲过多性能的前提下,显著减小模型大小,降低运行时的计算需求和能耗。
为了更直观地评估SLMs的性能,我们提出了一种创新的评估指标分类法。这一分类法不仅涵盖了传统的准确性、速度和内存占用等指标,还引入了针对特定应用场景的定制化评估标准,如实时性、可解释性和隐私保护等。通过这些指标,我们可以更全面地了解SLMs在不同设置和应用中的表现,从而为其优化提供有力支持。
此外,我们还总结了用于SLMs训练和基准测试的数据集。这些数据集不仅涵盖了自然语言处理领域的经典任务,如文本分类、情感分析和机器翻译等,还包含了针对特定应用场景的定制化数据集。这些丰富的数据集为SLMs的训练和评估提供了坚实的基础,推动了模型性能的不断提升。
在文章的最后部分,我们强调了SLMs领域中亟待解决的基本挑战和开放性问题。这些挑战包括如何进一步提升模型性能、降低计算成本、提高模型的可解释性和隐私保护能力等。同时,我们也指出了未来研究的可能方向,如探索新的模型架构、开发更高效的训练算法以及构建更加全面和多样化的基准测试集等。
通过这篇综述,我们希望能够为研究人员和从业者提供一份宝贵的资源,推动小型但功能强大的语言模型的进一步发展。我们相信,随着技术的不断进步和应用的不断拓展,SLMs将在未来发挥更加重要的作用,为人类社会的智能化发展贡献更多力量。
在深入探讨了SLMs的各个方面后,我们不禁思考,这些小型而高效的语言模型究竟如何改变了自然语言处理领域的格局。事实上,SLMs的兴起不仅标志着计算资源的高效利用,更体现了人工智能技术在满足多样化需求方面的巨大潜力。
首先,从模型架构的角度来看,SLMs的设计充分体现了简洁与高效的理念。与传统的大型语言模型相比,SLMs通过减少模型参数、优化网络结构等方式,实现了在有限计算资源下的高性能表现。这种设计理念不仅降低了模型的运行成本,还使其更加适应于各种实际应用场景,如移动设备、嵌入式系统和物联网设备等。这些场景通常对计算资源和能耗有着严格的限制,而SLMs的出现正好满足了这些需求。
在训练技术方面,SLMs同样展现出了其独特的优势。随着深度学习技术的不断发展,各种训练算法和技巧不断涌现,为SLMs的性能提升提供了有力支持。例如,自注意力机制、位置编码和层归一化等技术被广泛应用于SLMs中,显著提高了模型的准确性和鲁棒性。同时,分布式训练、数据增强和混合精度训练等技术的引入,也进一步加速了SLMs的训练过程,降低了训练成本。
模型压缩技术是优化SLMs性能的又一关键所在。通过减少模型参数、量化权重或利用知识蒸馏等方法,模型压缩技术能够在保持模型性能的同时,显著减小模型大小,降低运行时的计算需求和能耗。这对于将SLMs部署到资源受限的设备上具有重要意义。例如,在移动设备上运行SLMs时,模型压缩技术可以显著减少内存占用和计算量,从而提高应用的响应速度和用户体验。
在评估SLMs性能时,我们提出了一种创新的评估指标分类法。这一分类法不仅涵盖了传统的准确性、速度和内存占用等指标,还引入了针对特定应用场景的定制化评估标准。这些定制化评估标准旨在更全面地了解SLMs在不同设置和应用中的表现,从而为其优化提供有力支持。例如,在实时性要求较高的应用场景中,我们可以将响应时间作为重要的评估指标;在需要保护用户隐私的应用场景中,我们可以将隐私保护能力作为评估标准之一。通过这些指标的综合考量,我们可以更准确地评估SLMs的性能,并为其优化提供有针对性的建议。
此外,我们还总结了用于SLMs训练和基准测试的数据集。这些数据集不仅涵盖了自然语言处理领域的经典任务,还包含了针对特定应用场景的定制化数据集。这些丰富的数据集为SLMs的训练和评估提供了坚实的基础。通过利用这些数据集进行训练和测试,我们可以更全面地了解SLMs的性能特点,并为其优化提供有力的数据支持。同时,这些数据集也为研究人员和从业者提供了宝贵的资源,推动了SLMs技术的不断发展。
然而,尽管SLMs在多个方面展现出了其独特的优势,但我们仍然面临着许多挑战和开放性问题。例如,如何进一步提升SLMs的性能,使其在处理复杂任务时表现出更强的能力?如何降低SLMs的计算成本,使其更加适应于资源受限的设备?如何提高SLMs的可解释性,使其决策过程更加透明和可控?如何保护用户的隐私安全,避免SLMs在应用中泄露敏感信息?这些问题都需要我们进行深入的研究和探索。
为了应对这些挑战和开放性问题,我们需要不断探索新的模型架构、开发更高效的训练算法以及构建更加全面和多样化的基准测试集。例如,我们可以尝试将深度学习与其他技术相结合,如强化学习、知识图谱等,以进一步提升SLMs的性能。同时,我们也可以利用分布式计算和云计算等技术手段,加速SLMs的训练过程,降低训练成本。此外,我们还可以尝试开发更加先进的模型压缩技术,以进一步减小模型大小并降低运行时的计算需求和能耗。
在未来的研究中,我们还可以关注SLMs在跨语言、跨文化和跨领域等方面的应用。随着全球化的不断推进和人工智能技术的不断发展,SLMs在处理多语言文本、理解不同文化背景以及适应不同应用领域等方面的能力将变得越来越重要。因此,我们需要不断探索SLMs在这些方面的应用潜力,并为其优化提供有针对性的建议和支持。
总之,小型语言模型(SLMs)作为一种高效且功能强大的自然语言处理技术,已经在多个领域展现出了其巨大的应用潜力。通过不断探索新的模型架构、开发更高效的训练算法以及构建更加全面和多样化的基准测试集等努力,我们可以进一步推动SLMs技术的发展和应用拓展。我们相信,在未来的发展中,SLMs将为人类社会的智能化发展贡献更多力量。同时,我们也期待着更多的研究人员和从业者加入到这一领域中来,共同推动SLMs技术的不断进步和创新。
华远系统是致力于人工智能(AI算法以及流媒体技术),信息软件技术,新能源、物联网等领域的集成商,在智慧社区,智慧园区,智慧停车,充电桩(储能充电站/光储充)及充电桩软件管理平台,储能系统集成,车联网有整套解决方案以及成功的项目案例。
来源:华远系统一点号