在AI模型日益庞大的今天,Hugging Face研究院另辟蹊径,开发了一系列轻量级但性能优异的"Smol"模型家族。这个家族包括专注于文本处理的SmolLM/SmolLM2,以及具备多模态能力的SmolVLM/SmolVLM2。这些模型最大的特点就是在保持较小参数规模的同时,通过精心设计的数据策略和训练方法,实现了接近大模型的性能表现。
提示:小型语言模型(Small Language Model)通常指参数规模在10亿以下的模型,它们最大的优势是可以在手机、平板等边缘设备上本地运行,而不需要依赖云端算力。
目前Smol系列主要包含以下成员:
纯文本模型:
多模态模型:
SmolLM2最突出的创新在于其数据策略。研究团队发现,对于小型模型而言,数据质量比数量更重要。他们精心构建了几个关键数据集:
FineWeb-Edu:从FineWeb数据集中筛选出的教育类内容,包含2200亿token,特点是知识结构系统、语言规范。
DCLM:对话式语言数据集,来源于论坛、问答社区等,特点是语言生动、涵盖日常推理场景。
FineMath:新建的数学数据集,包含540亿token,特点是:
Stack-Edu:编程教育数据集,从StarCoder2数据中精选125亿token,特点:
SmolLM2采用创新的四阶段训练法,每个阶段侧重不同能力:
| 训练阶段 | Token范围 | 数据配比 | 能力重点 |
|---|---|---|---|
| 阶段1 | 0-6T | 90%网页+10%代码 | 基础语言理解 |
| 阶段2 | 6-8T | 75%网页+20%代码+5%数学 | 初级推理能力 |
| 阶段3 | 8-10T | 60%网页+20%代码+10%数学 | 数学与代码深化 |
| 阶段4 | 10-11T | 58%网页+28%代码+14%数学 | 高阶推理精调 |
这种渐进式的训练方法有效避免了小模型常见的"灾难性遗忘"问题——即学习新知识时丢失旧知识的现象。
针对不同规模的SmolLM2,研究团队采用了差异化的架构设计:
135M/360M型号:
1.7B型号:
SmolVLM系列在SmolLM2基础上增加了视觉处理能力:
图像编码创新:
视频理解能力:
研究团队创建了专门的SmolTalk数据集进行指令微调,包含:
对于较小的135M/360M型号,使用了简化版的SmolTalk,专注于基础指令跟随能力。
采用直接偏好优化(DPO)技术,使用UltraFeedback数据集进行两轮训练:
第一轮:基础偏好学习
第二轮:精细调整
在标准语言模型评估中,SmolLM2-1.7B表现出色:
相比同类模型,SmolLM2展现出显著优势:
| 模型 | 参数 | 显存占用 | 推理速度(tokens/s) |
|---|---|---|---|
| SmolLM2-1.7B | 1.7B | 3.8GB | 48 |
| Qwen2.5-1.5B | 1.5B | 4.2GB | 42 |
| Llama3.2-1B | 1B | 3.1GB | 52 |
移动端应用:
教育工具:
工业应用:
量化部署:
硬件适配:
内存管理:
复杂推理:
长文档处理:
训练成本:
架构创新:
数据优化:
应用扩展:
在实际使用中,我发现小型模型特别需要注意提示工程的质量。相比大模型,它们对提示词的敏感性更高。一个实用的技巧是:在复杂任务中,将指令分解为多个明确的小步骤,并为每个步骤提供清晰的示例。这能显著提升小模型的任务完成度。