模型简介
模型特点
模型能力
使用案例
🚀 SmolLM3
SmolLM3是一款拥有30亿参数的语言模型,旨在突破小模型的性能边界。它支持6种语言,具备强大的推理能力和长上下文处理能力,是一款完全开源的模型,在30 - 40亿参数规模下表现出色。
🚀 快速开始
安装依赖
SmolLM3的建模代码在transformers v4.53.0
版本中可用,请确保升级你的transformers版本。你也可以使用最新的 vllm
加载模型,它以transformers为后端。
pip install -U transformers
代码示例
from transformers import AutoModelForCausalLM, AutoTokenizer
checkpoint = "HuggingFaceTB/SmolLM3-3B"
device = "cuda" # 用于GPU使用,或 "cpu" 用于CPU使用
tokenizer = AutoTokenizer.from_pretrained(checkpoint)
# 对于多GPU,安装accelerate并使用 `model = AutoModelForCausalLM.from_pretrained(checkpoint, device_map="auto")`
model = AutoModelForCausalLM.from_pretrained(checkpoint).to(device)
inputs = tokenizer.encode("Gravity is", return_tensors="pt").to(device)
outputs = model.generate(inputs)
print(tokenizer.decode(outputs[0]))
本地推理
对于本地推理,你可以使用 llama.cpp
、ONNX
、MLX
和 MLC
。你可以在这个集合(https://huggingface.co/collections/HuggingFaceTB/smollm3-686d33c1fdffe8e635317e23)中找到量化的检查点。
长上下文处理
当前的 config.json
设置的上下文长度最大为65,536个标记。要处理更长的输入(128k或256k),我们使用YaRN,你可以将 max_position_embeddings
和 rope_scaling
修改为:
{
...,
"rope_scaling": {
"factor": 2.0, # 2x65536 = 131,072
"original_max_position_embeddings": 65536,
"type": "yarn"
}
}
✨ 主要特性
- 混合推理优化:针对混合推理进行了优化的指令模型。
- 完全开源:开放模型权重和完整的训练细节,包括公开的数据混合和训练配置。
- 长上下文支持:在64k上下文上进行训练,并使用YARN外推法支持最多128k个标记。
- 多语言支持:原生支持6种语言(英语、法语、西班牙语、德语、意大利语和葡萄牙语)。
更多详细信息请参考我们的博客文章:https://hf.co/blog/smollm3
📚 详细文档
模型概述
SmolLM3是一个仅解码器的Transformer模型,使用了GQA和NoPE技术。它在11.2T标记上进行了预训练,采用了包括网络、代码、数学和推理数据的分阶段课程。训练后包括在140B推理标记上进行中间训练,然后通过锚定偏好优化(APO)进行有监督的微调与对齐。
评估
在本节中,我们报告了SmolLM3模型的评估结果。除非另有说明,所有评估均为零样本评估,我们使用 lighteval 进行评估。我们用粗体突出显示最佳分数,用下划线标记第二佳分数。
基础预训练模型
英文基准测试
类别 | 指标 | SmolLM3-3B | Qwen2.5-3B | Llama3-3.2B | Qwen3-1.7B-Base | Qwen3-4B-Base |
---|---|---|---|---|---|---|
推理与常识 | HellaSwag | 76.15 | 74.19 | 75.52 | 60.52 | 74.37 |
ARC-CF(平均) | 65.61 | 59.81 | 58.58 | 55.88 | 62.11 | |
Winogrande | 58.88 | 61.41 | 58.72 | 57.06 | 59.59 | |
CommonsenseQA | 55.28 | 49.14 | 60.60 | 48.98 | 52.99 | |
知识与理解 | MMLU-CF(平均) | 44.13 | 42.93 | 41.32 | 39.11 | 47.65 |
MMLU Pro CF | 19.61 | 16.66 | 16.42 | 18.04 | 24.92 | |
MMLU Pro MCF | 32.70 | 31.32 | 25.07 | 30.39 | 41.07 | |
PIQA | 78.89 | 78.35 | 78.51 | 75.35 | 77.58 | |
OpenBookQA | 40.60 | 40.20 | 42.00 | 36.40 | 42.40 | |
BoolQ | 78.99 | 73.61 | 75.33 | 74.46 | 74.28 | |
数学与代码 | ||||||
编码与数学 | HumanEval+ | 30.48 | 34.14 | 25.00 | 43.29 | 54.87 |
MBPP+ | 52.91 | 52.11 | 38.88 | 59.25 | 63.75 | |
MATH(4-shot) | 46.10 | 40.10 | 7.44 | 41.64 | 51.20 | |
GSM8k(5-shot) | 67.63 | 70.13 | 25.92 | 65.88 | 74.14 | |
长上下文 | ||||||
Ruler 32k | 76.35 | 75.93 | 77.58 | 70.63 | 83.98 | |
Ruler 64k | 67.85 | 64.90 | 72.93 | 57.18 | 60.29 | |
Ruler 128k | 61.03 | 62.23 | 71.30 | 43.03 | 47.23 |
多语言基准测试
类别 | 指标 | SmolLM3 3B Base | Qwen2.5-3B | Llama3.2 3B | Qwen3 1.7B Base | Qwen3 4B Base |
---|---|---|---|---|---|---|
主要支持语言 | ||||||
法语 | MLMM Hellaswag | 63.94 | 57.47 | 57.66 | 51.26 | 61.00 |
Belebele | 51.00 | 51.55 | 49.22 | 49.44 | 55.00 | |
Global MMLU(CF) | 38.37 | 34.22 | 33.71 | 34.94 | 41.80 | |
Flores-200(5-shot) | 62.85 | 61.38 | 62.89 | 58.68 | 65.76 | |
西班牙语 | MLMM Hellaswag | 65.85 | 58.25 | 59.39 | 52.40 | 61.85 |
Belebele | 47.00 | 48.88 | 47.00 | 47.56 | 50.33 | |
Global MMLU(CF) | 38.51 | 35.84 | 35.60 | 34.79 | 41.22 | |
Flores-200(5-shot) | 48.25 | 50.00 | 44.45 | 46.93 | 50.16 | |
德语 | MLMM Hellaswag | 59.56 | 49.99 | 53.19 | 46.10 | 56.43 |
Belebele | 48.44 | 47.88 | 46.22 | 48.00 | 53.44 | |
Global MMLU(CF) | 35.10 | 33.19 | 32.60 | 32.73 | 38.70 | |
Flores-200(5-shot) | 56.60 | 50.63 | 54.95 | 52.58 | 50.48 | |
意大利语 | MLMM Hellaswag | 62.49 | 53.21 | 54.96 | 48.72 | 58.76 |
Belebele | 46.44 | 44.77 | 43.88 | 44.00 | 48.78 | |
Global MMLU(CF) | 36.99 | 33.91 | 32.79 | 35.37 | 39.26 | |
Flores-200(5-shot) | 52.65 | 54.87 | 48.83 | 48.37 | 49.11 | |
葡萄牙语 | MLMM Hellaswag | 63.22 | 57.38 | 56.84 | 50.73 | 59.89 |
Belebele | 47.67 | 49.22 | 45.00 | 44.00 | 50.00 | |
Global MMLU(CF) | 36.88 | 34.72 | 33.05 | 35.26 | 40.66 | |
Flores-200(5-shot) | 60.93 | 57.68 | 54.28 | 56.58 | 63.43 |
该模型还在阿拉伯语(标准语)、中文和俄语数据上进行了训练,但与上述6种语言相比,这些语言的标记数量较少。我们报告这些语言的性能仅供参考。
类别 | 指标 | SmolLM3 3B Base | Qwen2.5-3B | Llama3.2 3B | Qwen3 1.7B Base | Qwen3 4B Base |
---|---|---|---|---|---|---|
其他支持语言 | ||||||
阿拉伯语 | Belebele | 40.22 | 44.22 | 45.33 | 42.33 | 51.78 |
Global MMLU(CF) | 28.57 | 28.81 | 27.67 | 29.37 | 31.85 | |
Flores-200(5-shot) | 40.22 | 39.44 | 44.43 | 35.82 | 39.76 | |
中文 | Belebele | 43.78 | 44.56 | 49.56 | 48.78 | 53.22 |
Global MMLU(CF) | 36.16 | 33.79 | 39.57 | 38.56 | 44.55 | |
Flores-200(5-shot) | 29.17 | 33.21 | 31.89 | 25.70 | 32.50 | |
俄语 | Belebele | 47.44 | 45.89 | 47.44 | 45.22 | 51.44 |
Global MMLU(CF) | 36.51 | 32.47 | 34.52 | 34.83 | 38.80 | |
Flores-200(5-shot) | 47.13 | 48.74 | 50.74 | 54.70 | 60.53 |
指令模型
无扩展思考
非推理模型和推理模型在无思考模式下的评估结果。我们用粗体突出显示最佳和第二佳分数。
类别 | 指标 | SmoLLM3-3B | Qwen2.5-3B | Llama3.1-3B | Qwen3-1.7B | Qwen3-4B |
---|---|---|---|---|---|---|
高中数学竞赛 | AIME 2025 | 9.3 | 2.9 | 0.3 | 8.0 | 17.1 |
数学问题解决 | GSM-Plus | 72.8 | 74.1 | 59.2 | 68.3 | 82.1 |
竞赛编程 | LiveCodeBench v4 | 15.2 | 10.5 | 3.4 | 15.0 | 24.9 |
研究生水平推理 | GPQA Diamond | 35.7 | 32.2 | 29.4 | 31.8 | 44.4 |
指令遵循 | IFEval | 76.7 | 65.6 | 71.6 | 74.0 | 68.9 |
对齐 | MixEval Hard | 26.9 | 27.6 | 24.9 | 24.3 | 31.6 |
工具调用 | BFCL | 92.3 | - | 92.3 * | 89.5 | 95.0 |
多语言问答 | Global MMLU | 53.5 | 50.54 | 46.8 | 49.5 | 65.1 |
(*):这是一个工具调用微调模型。
扩展思考
SmolLM3和Qwen3模型在推理模式下的评估结果:
类别 | 指标 | SmoLLM3-3B | Qwen3-1.7B | Qwen3-4B |
---|---|---|---|---|
高中数学竞赛 | AIME 2025 | 36.7 | 30.7 | 58.8 |
数学问题解决 | GSM-Plus | 83.4 | 79.4 | 88.2 |
竞赛编程 | LiveCodeBench v4 | 30.0 | 34.4 | 52.9 |
研究生水平推理 | GPQA Diamond | 41.7 | 39.9 | 55.3 |
指令遵循 | IFEval | 71.2 | 74.2 | 85.4 |
对齐 | MixEval Hard | 30.8 | 33.9 | 38.0 |
工具调用 | BFCL | 88.8 | 88.8 | 95.5 |
多语言问答 | Global MMLU | 64.1 | 62.3 | 73.3 |
训练
模型
- 架构:Transformer解码器
- 预训练标记:11T
- 精度:bfloat16
软件与硬件
开放资源
这里有一个包含所有训练细节的信息图。
- 预训练使用的数据集可以在这个 集合 中找到,中间训练和训练后使用的数据集将在接下来的几周内发布。
- 训练和评估配置及代码可以在 huggingface/smollm 仓库中找到。
🔧 技术细节
模型架构
SmolLM3采用了仅解码器的Transformer架构,并使用了GQA和NoPE技术,以提升模型的性能和效率。
训练过程
模型在11.2T标记上进行预训练,采用了分阶段的课程,包括网络、代码、数学和推理数据。训练后包括在140B推理标记上进行中间训练,然后通过锚定偏好优化(APO)进行有监督的微调与对齐。
📄 许可证
本项目采用 Apache 2.0 许可证。
⚠️ 重要提示
SmolLM3可以生成关于各种主题的文本,但生成的内容可能并不总是事实准确、逻辑一致,或者不受训练数据中存在的偏差影响。这些模型应作为辅助工具使用,而不是信息的最终来源。用户应始终验证重要信息,并批判性地评估任何生成的内容。



