SmolLM
定义
SmolLM是Hugging Face推出的一个开源小型语言模型系列,由多档参数规模的基础模型与对应的指令微调模型组成,定位是在算力有限的设备上完成文本生成、改写与摘要等任务[1][2]。该系列并非单一模型,而是随版本更替不断扩充的模型家族,首代为SmolLM,其后推出SmolLM2和SmolLM3[4]。
这些模型均采用仅解码器结构,参数量处于1亿至30亿量级,可在中央处理器、消费级显卡或手机上推理,同时也常被量化后部署到本地推理框架中[2][5]。
原理
该系列模型采用仅解码器的Transformer架构,以自回归方式逐词元预测下一个词元来生成文本[6][3]。首代的1.35亿与3.6亿参数版本参考了MobileLLM的设计思路,引入分组查询注意力并侧重增加层深,17亿参数版本则沿用较为常规的结构,三者都使用词嵌入共享与2048个词元的上下文长度。
SmolLM3在这一基础上继续调整结构:注意力层分为4组以减少键值缓存占用,每4层中有1层去掉了旋转位置编码,同一条训练序列内来自不同文档的词元彼此不可见,同时移除了嵌入层的权重衰减以稳定训练[7][8]。这些改动均在参数量相同、训练词元量相同的模型上做过消融实验验证[7]。
该系列的训练重心放在数据侧。首代使用由3部分组成的训练语料:约280亿词元的合成教材与故事、约2200亿词元经教育价值筛选并去重的网页文本,以及约40亿词元从代码库中筛选出的Python 样本;1.35亿和3.6亿参数版本各训练6000亿词元,17亿参数版本训练1万亿词元[1][9]。SmolLM2延续多尺寸策略,其中3.6亿参数版本在1.7亿至2万亿量级的语料上训练,并在监督微调后使用直接偏好优化进行对齐[6]。SmolLM3则按阶段调整网页、代码与数学数据的配比,预训练总量约11.2万亿词元,并在中期训练中加入长上下文与推理数据[7]。
以SmolLM3的注意力为例,缩放点积注意力的计算可写作 $\mathrm{Attention}(Q,K,V)=\mathrm{softmax}\left(\frac{QK^{\top}}{\sqrt{d_k}}+M\right)V$,其中 $d_k$ 为每个注意力头的维度,$M$ 为掩码矩阵,文档内掩码即通过 $M$ 阻断不同文档词元之间的相互关注[7]。
发展历程
2024年7月16日,Hugging Face发布首代SmolLM,同时公开1.35亿、3.6亿和17亿参数3个尺寸的模型、训练语料SmolLM-Corpus以及训练代码[1][9]。官方公布的对比结果显示,当时最小的1.35亿参数版本在部分基准上优于参数更多的同类小模型,17亿参数版本在多项评测中超过同期若干3B以下模型[10]。
此后推出的SmolLM2保持135M、360M、1.7B三个尺寸,在指令遵循、知识与推理方面较首代有所提升,并伴随发布了FineMath、Stack-Edu和SmolTalk等数据集,相关论文于2025年2月公开[6][9]。该代1.7B指令模型采用Apache 2.0许可,支持文本改写、摘要和函数调用[9][2]。
2025年7月,Hugging Face发布SmolLM3,参数量为30亿,支持思考与非思考两种推理模式,原生支持英语、法语、西班牙语、德语、意大利语和葡萄牙语6种语言,并可在扩展后处理最长12.8万个词元的上下文[3]。官方称其在3B至4B规模上具有较强性能,且权重、数据混合比例与训练配置全部公开[3]。
应用
该系列模型的典型用途是在不依赖云端算力的条件下完成本地文本任务,例如个人设备上的自动补全、文本改写、摘要与代码辅助[10][5]。较小的版本适合内存受限的场景,较大的版本可用于本地智能体与工具调用流程[2]。
开发者可以通过Transformers、vLLM等库加载模型,也可借助llama.cpp、MLX、transformers.js等工具运行量化版本,从而在手机浏览器、单板计算机或笔记本电脑上部署[2][5]。以SmolLM3为例,其17亿参数级别的同系列模型经4位量化后权重约1GB,可在消费级硬件上运行[5]。
由于参数规模较小,这类模型也适合在单张消费级显卡上用低秩适配等方式做领域微调,用于构建特定业务场景的问答或路由模型[11]。SmolLM3的对话模板内置XML与Python两种工具描述格式,便于接入外部函数调用。
局限
首代SmolLM的模型卡指出,这些模型主要理解和生成英语内容,生成结果未必事实准确、逻辑一致,也可能带有训练数据中的偏见,因此更适合作为辅助工具而非权威信息源[12]。语境长度为2048个词元也限制了其处理长文档的能力。
在数学与多步推理类任务上,小参数模型的短板较为明显。Hugging Face公开的对比数据显示,SmolLM2-360M在GSM8K 5-shot评测上的得分为3.2,低于同期Qwen2.5-0.5B的33.4[6]。SmolLM3虽扩展至12.8万词元上下文,但其原生训练上下文为6.4万词元,更长的上下文依赖YaRN外推实现[3]。
训练数据的公开程度也并非完全一致。首代与第二代的部分数据集在发布时表示将随后公开,语料与配比信息的完整程度因版本而异,使用者在复现时需以各版本模型卡为准[1][6]。
参见
-
Hugging Face —— 发布并维护SmolLM系列模型与训练语料的机构。
-
Transformer —— SmolLM各代模型所采用的仅解码器架构的基础。
-
分组查询注意力 —— SmolLM小尺寸版本与SmolLM3为降低键值缓存开销采用的结构。
-
量化 —— 使SmolLM能够在手机、单板计算机等设备上运行的主要压缩手段。
-
直接偏好优化 —— SmolLM2指令模型对齐阶段使用的偏好优化方法。
-
SmolVLM —— 与SmolLM同属smol模型系列的视觉语言模型。
参考资料
- SmolLM:一个超快速、超高性能的小模型集合 - SmolLM: 一个超快速、超高性能的小模型集合 [引用日期2026-10-29]
- SmolLM family [引用日期2026-10-29]
- README [引用日期2026-10-29]
- SmolLM family [引用日期2026-10-29]
- saidutta69/SmolLM2-1.7B-Instruct-heretic · Hugging Face [引用日期2026-10-29]
- README [引用日期2026-10-29]
- HuggingFace重磅开源SmolLM3:小巧、多语言、长上下文推理模型,技术报告解读! [引用日期2026-10-29]
- 最强3B「小钢炮」,代码数据全公开!推理随意开关,128k超长上下文 [引用日期2026-10-29]
- SmolLM model series: SmolLM, SmolLM2, SmolLM3 [引用日期2026-10-29]
- venturebeat.com 上的网页 [引用日期2026-10-29]
- kdnuggets.com 上的网页 [引用日期2026-10-29]
- README [引用日期2026-10-29]