小型语言模型(SLM)技术最新全面综述
小型语言模型(Small Language Models, SLMs)因其低延迟、成本效益高、易于开发和定制而受到广泛青睐。特别是在资源受限的环境和特定领域知识获取场景中,SLMs 展现出了比大型语言模型(LLMs)更优的部署灵活性和响应速度。
SLMs 发展时间线

构建语言模型的基本概念
构建 SLMs 的基础概念主要涵盖架构设计、训练技术以及从 LLMs 迁移至 SLMs 的方法论。
架构(Architecture)
大多数 SLMs 采用 Transformer 架构。这是一种基于自注意力机制(Self-Attention)的模型结构,能够有效处理长距离文本依赖关系。相比传统的 RNN 或 CNN 架构,Transformer 在并行计算能力上具有显著优势,非常适合资源受限的环境。

训练技术(Training Techniques)
预训练范式经历了显著的演变:
- BERT 范式:预训练加微调(Pre-training + Fine-tuning),适用于分类等判别任务。
- T5 范式:预训练加提示(Pre-training + Prompting),将生成任务统一为文本到文本格式。
- GPT 范式:预训练加上下文学习(Pre-training + In-context Learning),通过 Few-shot 示例激发模型能力。
这些技术显著提升了 NLP 的应用范围,使得 SLMs 能够在特定任务上达到接近 LLMs 的性能。
从 LLMs 获取 SLMs(Obtain SLMs from LLMs)
为了在保持性能的同时降低资源消耗,通常采用以下三种核心压缩技术:
剪枝(Pruning)
通过移除模型中较不重要的参数来减小模型大小。主要包括:
- 无结构剪枝:随机移除权重,可能导致稀疏矩阵,需要特殊硬件支持才能加速。
- 结构化剪枝:移除整个神经元、层或通道,保持矩阵密度,便于在通用硬件上加速。

知识蒸馏(Knowledge Distillation)
通过训练一个小型的'学生'模型来模仿一个大型的'教师'模型的输出。这不仅能保留大模型的知识,还能提升小模型的泛化能力。
- Logits 蒸馏:学生模型学习教师模型输出的概率分布。
- 隐藏状态蒸馏:对齐中间层的特征表示。
- 注意力转移:让学生模型关注与教师模型相似的注意力区域。











