ONNX 模型库
返回模型

说明文档

SmolLM3

image/png

目录

  1. 模型概述
  2. 使用方法
  3. 评估
  4. 训练
  5. 局限性
  6. 许可证

模型概述

SmolLM3 是一个拥有 30 亿参数的语言模型,旨在突破小型模型的边界。它支持 6 种语言、高级推理和长上下文。SmolLM3 是一个完全开放的模型,在 30-40 亿参数规模上提供了强大的性能。

image/png

SmolLM3-3B-Base 是预训练后的基础模型,你可以在 SmolLM3-3B 找到指令微调模型。

该模型是一个仅解码器的 Transformer,使用了 GQA 和 NoPE,在 11.2 万亿个 token 上进行预训练,采用分阶段课程学习,涵盖网页、代码、数学和推理数据。后训练包括在 1400 亿推理 token 上进行中间训练,然后进行监督微调,并通过锚定偏好优化(APO)进行对齐。

主要特点

  • 指令微调模型,针对混合推理进行了优化
  • 完全开放的模型:开放权重 + 完整训练细节,包括公开的数据混合和训练配置
  • 长上下文:在 64k 上下文上训练,支持使用 YARN 外推最高达 128k tokens
  • 多语言:原生支持 6 种语言(英语、法语、西班牙语、德语、意大利语和葡萄牙语)

更多详细信息请参考我们的博客文章:https://hf.co/blog/smollm3

如何使用

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.cppONNXMLXMLC。你可以在此合集中找到量化后的检查点(https://huggingface.co/collections/HuggingFaceTB/smollm3-686d33c1fdffe8e635317e23)。

长上下文处理

当前的 config.json 设置为支持最多 65,536 个 token 的上下文长度。为了处理更长的输入(128k 或 256k),我们使用 YaRN,你可以更改 max_position_embeddingsrope_scaling

{
  ...,
  "rope_scaling": {
    "factor": 2.0, #2x65536=131072 
    "original_max_position_embeddings": 65536,
    "type": "yarn"
  }
}

评估

本节我们报告 SmolLM3 模型的评估结果。除非另有说明,所有评估都是零样本评估,我们使用 lighteval 运行它们。

我们将最佳分数加粗显示,第二名加下划线。

基础预训练模型

英语基准测试

注意:除非另有说明,所有评估都是零样本评估。对于 Ruler 64k 评估,我们对 Qwen 模型使用 32k 上下文应用 YaRN 来外推上下文长度。

类别 指标 SmolLM3-3B Qwen2.5-3B Llama3.2B Qwen3-1.7B-Base Qwen3-4B-Base
推理与常识 HellaSwag 76.15 74.19 <u>75.52</u> 60.52 74.37
ARC-CF (平均) 65.61 59.81 58.58 55.88 <u>62.11</u>
Winogrande 58.88 61.41 58.72 57.06 <u>59.59</u>
CommonsenseQA <u>55.28</u> 49.14 60.60 48.98 52.99
知识与理解 MMLU-CF (平均) <u>44.13</u> 42.93 41.32 39.11 47.65
MMLU Pro CF <u>19.61</u> 16.66 16.42 18.04 24.92
MMLU Pro MCF <u>32.70</u> 31.32 25.07 30.39 41.07
PIQA 78.89 78.35 <u>78.51</u> 75.35 77.58
OpenBookQA 40.60 40.20 <u>42.00</u> 36.40 42.40
BoolQ 78.99 73.61 <u>75.33</u> 74.46 74.28
数学与代码
编程与数学 HumanEval+ 30.48 34.14 25.00 <u>43.29</u> 54.87
MBPP+ 52.91 52.11 38.88 <u>59.25</u> 63.75
MATH (4-shot) <u>46.10</u> 40.10 7.44 41.64 51.20
GSM8k (5-shot) 67.63 <u>70.13</u> 25.92 65.88 74.14
长上下文
Ruler 32k 76.35 75.93 <u>77.58</u> 70.63 83.98
Ruler 64k <u>67.85</u> 64.90 72.93 57.18 60.29
Ruler 128k 61.03 <u>62.23</u> 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 <u>61.00</u>
Belebele 51.00 <u>51.55</u> 49.22 49.44 55.00
Global MMLU (CF) <u>38.37</u> 34.22 33.71 34.94 41.80
Flores-200 (5-shot) 62.85 61.38 <u>62.89<u/u> 58.68 65.76
西班牙语 MLMM Hellaswag 65.85 58.25 59.39 52.40 <u>61.85</u>
Belebele 47.00 <u>48.88</u> 47.00 47.56 50.33
Global MMLU (CF) <u>38.51</u> 35.84 35.60 34.79 41.22
Flores-200 (5-shot) <u>48.25</u> 50.00 44.45 46.93 50.16
德语 MLMM Hellaswag 59.56 49.99 53.19 46.10 <u>56.43</u>
Belebele <u>48.44</u> 47.88 46.22 48.00 53.44
Global MMLU (CF) <u>35.10</u> 33.19 32.60 32.73 38.70
Flores-200 (5-shot) 56.60 50.63 <u>54.95</u> 52.58 50.48
意大利语 MLMM Hellaswag 62.49 53.21 54.96 48.72 <u>58.76</u>
Belebele <u>46.44</u> 44.77 43.88 44.00 48.78
Global MMLU (CF) <u>36.99</u> 33.91 32.79 35.37 39.26
Flores-200 (5-shot) <u>52.65<u/> 54.87 48.83 48.37 49.11
葡萄牙语 MLMM Hellaswag 63.22 57.38 56.84 50.73 <u>59.89</u>
Belebele 47.67 49.22 45.00 44.00 50.00
Global MMLU (CF) <u>36.88</u> 34.72 33.05 35.26 40.66
Flores-200 (5-shot) <u>60.93</u> 57.68 54.28 56.58 63.43

该模型还接受了阿拉伯语(标准)、中文和俄语数据的训练,但与上述 6 种语言相比,这些语言看到的 token 较少。我们报告这些语言的性能仅供参考。

类别 指标 SmolLM3 3B Base Qwen2.5-3B Llama3.2 3B Qwen3 1.7B Base Qwen3 4B Base
其他支持语言
阿拉伯语 Belebele 40.22 44.22 <u>45.33</u> 42.33 51.78
Global MMLU (CF) 28.57 28.81 27.67 <u>29.37</u> 31.85
Flores-200 (5-shot) <u>40.22</u> 39.44 44.43 35.82 39.76
中文 Belebele 43.78 44.56 <u>49.56</u> 48.78 53.22
Global MMLU (CF) 36.16 33.79 <u>39.57</u> 38.56 44.55
Flores-200 (5-shot) 29.17 33.21 31.89 25.70 <u>32.50</u>
俄语 Belebele <u>47.44</u> 45.89 <u>47.44</u> 45.22 51.44
Global MMLU (CF) <u>36.51</u> 32.47 34.52 34.83 38.80
Flores-200 (5-shot) 47.13 48.74 50.74 <u>54.70</u> 60.53

指令模型

无扩展思考

非推理模型和推理模型在无思考模式下的评估结果。我们将最佳和第二名分数加粗显示。

类别 指标 SmoLLM3-3B Qwen2.5-3B Llama3.1-3B Qwen3-1.7B Qwen3-4B
高中数学竞赛 AIME 2025 <u>9.3</u> 2.9 0.3 8.0 17.1
数学问题求解 GSM-Plus 72.8 <u>74.1</u> 59.2 68.3 82.1
竞技编程 LiveCodeBench v4 <u>15.2</u> 10.5 3.4 15.0 24.9
研究生级推理 GPQA Diamond <u>35.7</u> 32.2 29.4 31.8 44.4
指令遵循 IFEval 76.7 65.6 71.6 <u>74.0</u> 68.9
对齐 MixEval Hard 26.9 <u>27.6</u> 24.9 24.3 31.6
工具调用 BFCL <u>92.3</u> - <u>92.3</u> * 89.5 95.0
多语言问答 Global MMLU <u>53.5</u> 50.54 46.8 49.5 65.1

(*): 这是一个工具调用微调

扩展思考

SmolLM3 和 Qwen3 模型在推理模式下的评估结果:

类别 指标 SmoLLM3-3B Qwen3-1.7B Qwen3-4B
高中数学竞赛 AIME 2025 <u>36.7</u> 30.7 58.8
数学问题求解 GSM-Plus <u>83.4</u> 79.4 88.2
竞技编程 LiveCodeBench v4 30.0 <u>34.4</u> 52.9
研究生级推理 GPQA Diamond <u>41.7</u> 39.9 55.3
指令遵循 IFEval 71.2 <u>74.2</u> 85.4
对齐 MixEval Hard 30.8 <u>33.9</u> 38.0
工具调用 BFCL <u>88.8</u> <u>88.8</u> 95.5
多语言问答 Global MMLU <u>64.1</u> 62.3 73.3

训练

模型

  • 架构: Transformer 解码器
  • 预训练 token 数量: 11T
  • 精度: bfloat16

软件与硬件

开放资源

以下是一张包含所有训练细节的信息图。

image/png

局限性

SmolLM3 可以就各种主题生成文本,但生成的内容可能并不总是事实准确、逻辑一致或完全不含训练数据中存在的偏见。这些模型应作为辅助工具使用,而不是权威信息来源。用户应始终验证重要信息并批判性地评估任何生成的内容。

许可证

Apache 2.0

引用

@misc{bakouch2025smollm3,
  title={{SmolLM3: smol, multilingual, long-context reasoner}},
  author={Bakouch, Elie and Ben Allal, Loubna and Lozhkov, Anton and Tazi, Nouamane and Tunstall, Lewis and Patiño, Carlos Miguel and Beeching, Edward and Roucher, Aymeric and Reedi, Aksel Joonas and Gallouédec, Quentin and Rasul, Kashif and Habib, Nathan and Fourrier, Clémentine and Kydlicek, Hynek and Penedo, Guilherme and Larcher, Hugo and Morlon, Mathieu and Srivastav, Vaibhav and Lochner, Joshua and Nguyen, Xuan-Son and Raffel, Colin and von Werra, Leandro and Wolf, Thomas},
  year={2025},
  howpublished={\url{https://huggingface.co/blog/smollm3}}
}

HuggingFaceTB/SmolLM3-3B-Base

作者 HuggingFaceTB

text-generation transformers
↓ 95.6K ♥ 151

创建时间: 2025-06-19 11:33:11+00:00

更新时间: 2025-08-14 16:41:36+00:00

在 Hugging Face 上查看

文件 (27)

.gitattributes
README.md
config.json
generation_config.json
model-00001-of-00002.safetensors
model-00002-of-00002.safetensors
model.safetensors.index.json
notebook.ipynb
onnx/model.onnx ONNX
onnx/model.onnx_data
onnx/model_bnb4.onnx ONNX
onnx/model_bnb4.onnx_data
onnx/model_fp16.onnx ONNX
onnx/model_fp16.onnx_data
onnx/model_int8.onnx ONNX
onnx/model_int8.onnx_data
onnx/model_q4.onnx ONNX
onnx/model_q4.onnx_data
onnx/model_q4f16.onnx ONNX
onnx/model_q4f16.onnx_data
onnx/model_quantized.onnx ONNX
onnx/model_quantized.onnx_data
onnx/model_uint8.onnx ONNX
onnx/model_uint8.onnx_data
special_tokens_map.json
tokenizer.json
tokenizer_config.json