美光科技术语表

小语言模型

小语言模型 (SLM) 是语言模型的一个类别,与大语言模型 (LLM) 相比,同样能够提供自然语言处理能力,但占用的计算资源和内存更少。SLM 并非 LLM 的规模缩小版替代方案。SLM 通常专为特定的任务和部署环境而设计,在这些应用场景中,效率、延迟、成本或隐私方面的限制至关重要。

小语言模型在实时和分布式计算场景中发挥着重要作用,例如移动设备、嵌入式系统和端侧部署等。在这些环境中,本地运行的模型可减少对云连接的依赖,并提高响应速度。由于模型的规模大小会直接影响内存使用量和计算需求,因此 SLM 的有效性与底层硬件的性能密切相关。

什么是小语言模型?

小语言模型的定义:SLM 是一类自然语言处理 (NLP) 模型,它们利用与大语言模型 (LLM) 类似的机器学习技术来生成或解读文本,但参数数量较少,运行时占用的资源也更少。

与 LLM 相比,SLM 通常专为资源受限的分布式实时环境而设计和优化,这使得 SLM 能够更高效地运行,同时仍然能为特定用例提供有用的语言能力。

与 LLM 相比,SLM 在运行时所需的计算能力和内存通常较少。这使得它们非常适合在设备端或端侧进行部署,在这些场景中,功耗限制、散热限制、延迟要求以及成本因素都会影响系统设计。SLM 的常见应用示例包括移动应用程序,以及设备端的内置功能,比如预测性文本、轻量级助手和嵌入式语言界面等。

小语言模型是如何工作的?

SLM 与 LLM 在许多基本概念和架构上具有共通之处,通常都依赖于基于文本数据集训练的神经网络。与其他机器学习模型一样,SLM 同样经过训练,能够识别语言中的规律,并根据概率和上下文生成响应。

在实践中,许多 SLM 模型由开发人员进行训练或微调,随后进行部署,主要用于推理目的,这意味着此类模型主要用于生成输出结果,而非用于持续进行重新训练。SLM 模型的更新通常通过定期重新训练或微调来实现,而非通过在日常使用过程中的实时学习来实现。

由于 SLM 的容量远小于其他规模更大的模型,因此训练数据的质量尤为重要。经过精心筛选的数据集,以及针对性的微调,有助于确保 SLM 在执行预期任务和用于目标领域时表现出色。在训练和推理过程中,文本会通过一个称为“分词”的过程被分割成较小的单元,即“词元”。词元化使模型能够以数值形式处理语言,并会直接影响模型的效率、内存使用,以及模型一次可以考虑的上下文数量。

小语言模型的发展历史是怎样的?

近几十年来,语言模型一直是自然语言处理相关研究工作的一部分。近年来,随着企业致力于为资源受限的实时环境提供有用的语言功能,SLM 逐渐崭露头角。

  •  21 世纪 10 年代及之前 - 早期 NLP 模型和效率限制:在转换器架构兴起之前,许多语言模型本身规模较小,且设计目标是在计算和内存资源受限的环境中运行。统计语言模型、n-gram 模型和早期神经网络模型被广泛应用于语音识别、移动文本输入和嵌入式系统等领域。这些早期方法确立了在性能与效率之间取得平衡的基础性技术,特别是在计算资源受限系统中运行时。
  • 21 世纪 10 年代末 - 早期转换器基础模型与模型压缩:转换器架构的出现标志着语言模型的性能取得了重大进步。虽然类似 BERT 这样的早期转换器模型侧重于准确率和规模,但它们同时也证明,开发出更小、更高效的变体模型是可行的。在此期间,模型蒸馏和参数缩减等方法催生了 TinyBERT、ALBERT 和 MobileBERT 等紧凑型模型,这些模型专为资源更为受限的部署环境而设计。
  • 21 世纪 10 年代末至 20 年代初 - 效率驱动型模型设计与实际部署:随着转换器技术日趋成熟,人们的关注点逐渐转向提高模型的效率和可部署性。这一时期,人们对优化语言模型以满足实际应用需求的兴趣日益浓厚,其中包括针对特定任务的模型,以及能够在更广泛的硬件平台上运行的轻量级变体模型。当某些应用场景中无需或无法使用全规模模型时,SLM 开始成为一种切实可行的选择。
  • 21 世纪 20 年代至今 - SLM 进入端侧、嵌入式和实时系统:随着集中式云环境之外的环境对 AI 功能的需求不断增长,以及相关支持工具、硬件和优化技术的不断进步,SLM 逐渐扩展到端侧和嵌入式部署领域。这些模型现已融入广泛的技术领域,包括物联网 (IoT) 设备、[BG1] 沉浸式系统(如虚拟现实和增强现实)以及自主平台。在这些环境中,系统设计会优先考虑本地推理、低延迟交互以及对计算、内存和存储资源的高效利用,从而进一步凸显了专用 SLM 的作用。

这种情况可能属于对“三个例子”句式结构的过度使用。两个句子连续出现,每个句子各举了三个例子,其中第三个例子中又进一步举了三个例子。

小语言模型主要有哪些类型?

可根据设计目标和部署环境对 SLM 进行分类。

通用型 SLM

通用型 SLM 可完成基本对话、文本预测和简单问答等常见语言任务,适用于效率至关重要的消费级和企业级应用场景。

特定领域的 SLM

特定领域的 SLM 是指针对特定行业或工作流(例如客户支持、技术文档或企业运营)进行训练或微调的模型,其侧重点是在特定范围内提高准确性。这些 SLM 通常经过优化,以便更好地遵循提示和指令,提高交互式应用程序的一致性和易用性。

专注于代码的 SLM

专注于代码的 SLM 经过优化,可完成诸如代码补全、代码解释和调试等软件开发任务,这些 SLM 通常基于编程语言和开发人员工作流进行训练。

设备内置 SLM

针对设备端和端侧环境优化的 SLM 旨在以更少的内存占用和更低的计算需求运行,可帮助实现本地推理、降低交互中的延迟,并增强数据隐私保护。

小语言模型是如何使用的?

SLM 被广泛应用于各种场景,这些场景既需要紧凑且高效的模型来提供切实可用的语言能力,同时又力图避免超大规模模型带来的计算开销。企业还可以对 SLM 进行微调,使其更好地适应具体的业务需求和数据领域。

智能手机中,SLM 用于支持预测输入、语音助手和实时语言处理等用户日常使用的功能。在这些环境中,SLM 通常在设备本地运行,以便实现快速响应,减少对持续云连接的依赖,还可通过将数据保留在设备上来增强隐私保护。

在聊天机器人和嵌入式助手等对话式界面中,SLM 能够支持响应迅速的低延迟交互,因此非常适合用于实时客户支持服务,以及打造良好的设备端用户体验。

在企业及生产力应用场景中,SLM 可协助完成文本分类、信息提取、内容摘要和工作流自动化等任务,尤其是在任务范围界定明确,无需具备更强推理能力的大型模型参与情况下。

小语言模型还被应用于开发工具中,其中专注于代码的小语言模型可协助完成代码补全、解释和故障排除等任务,为目标明确的软件开发任务提供了高效的解决方案。

SLM 通常部署在更接近数据生成或消费的位置,因此能够支持那些优先考虑低延迟、数据本地性以及高效利用计算、内存和存储资源的 AI 架构。在这些应用场景下,硬件性能对整体系统效率和用户体验起着重要作用。

常见问答

小语言模型常见问答

LLM 相比,SLM 的主要优势在于其效率。较小的规模降低了对计算和内存的需求,不仅能降低运行功耗和成本,还能缩短响应时间。这种特性使得 SLM 非常适合实时设备端处理和端侧部署。

由于规模较小,SLM 在处理高度复杂或开放式任务时可能会遇到困难,此类任务需要具备更多知识和更强推理能力的 LLM 来处理。当任务范围界定明确,并且模型针对预期用途进行了微调时,SLM 才能获得最佳表现。

目前尚无明确的阈值来定义什么样的模型属于 SLM。作为一般性参考,许多 SLM 的参数数量大致在 1 亿至 7 亿之间,具体参数量级会因所在组织和用例的不同而有所差异。实际上,“小”语言模型通常指的是那些在计算和内存资源受限的情况下仍能高效运行,同时又能提供有用语言功能的模型。