SmolLM3:小型、多语言、长上下文推理模型

SmolLM3 3B模型在性能上超越了Llama-3.2-3B和Qwen2.5-3B,同时与更大的4B替代方案(Qwen3和Gemma3)保持竞争力。除了性能数据之外,还分享了使用公共数据集和训练框架构建它的方法。

图片

模型摘要:

3B模型在11T token上训练,在3B规模上达到SOTA,与4B模型具有竞争力

指令模型具有双模式推理,支持think/no_think模式

多语言支持支持6种语言:英语、法语、西班牙语、德语、意大利语和葡萄牙语

长上下文使用NoPE和YaRN支持高达128k

一起公开的还包括架构细节、精确的数据混合比例,展示了如何在三阶段预训练方法中逐步提升各个领域的性能,以及构建混合推理模型的方法论。通常,实现这些结果需要数月的逆向工程。相反,SmolLM3提供了完整的方法论。

图片

预训练

SmolLM3在其前辈基础上改变了架构和数据混合。

架构和训练细节

图片

SmolLM3遵循带有绑定嵌入的transformer解码器架构,类似于SmolLM2,基于Llama架构并进行了一些针对效率和长上下文性能优化的关键修改。

分组查询注意力(GQA): SmolLM3用使用4个组的分组查询注意力替换了多头注意力。SmolLM3在使用来自FineWeb-Edu的100B token训练的3B模型上的消融实验显示,GQA在显著减少推理期间KV缓存大小的同时,匹配了多头注意力的性能。

NoPE: SmolLM3实现了来自"RoPE to NoRoPE and Back Again: A New Hybrid Attention Strategy"的NoPE,有选择地从每第4层中移除旋转位置嵌入。这种方法在不影响短上下文能力的情况下改善了长上下文性能,这在SmolLM3的消融实验证实。

文档内掩码: 在训练期间,SmolLM3使用注意力掩码来确保同一训练序列中不同文档的token不会相互关注。类似于Llama 3,这有助于更快和更稳定的长上下文训练,同时保持短上下文性能。

训练稳定性: 遵循OLMo 2,SmolLM3从嵌入层中移除权重衰减以提高训练稳定性。这种修改有助于更稳定的训练动态,嵌入范数在训练期间自然稳定在更健康的值,而不会影响SmolLM3消融实验中的整体性能。

所有这些变化都通过使用FineWeb-Edu的100Btoken训练的相同3B架构进行消融验证,确保每个修改要么改善性能,要么在提供其他好处的同时保持性能。

训练配置:SmolLM3使用236万token的全局批次大小,序列长度为4096,学习率为2e-4,AdamW优化器(beta1: 0.9,beta2: 0.95),权重衰减为0.1,梯度裁剪为1。SmolLM3使用WSD(Warmup-Stable-Decay)调度器,预热2000步,在最后10%的训练步骤中线性衰减到0。SmolLM3使用nanotron框架进行训练,datatrove用于数据处理,lighteval用于评估。模型在384个H100 GPU上训练了24天。

图片

数据混合和训练阶段

图片

遵循SmolLM2的多阶段方法,SmolLM3使用混合网络、数学和代码数据的三阶段训练策略,在11.2T token上训练SmolLM3,比例在不断演变。SmolLM3在使用50B到100Btoken训练的3B模型上进行了广泛的消融实验,以确定数据混合和比例。

预训练包括以下阶段:

阶段1:稳定阶段(0T → 8Ttoken) 这个基础阶段用SmolLM3的核心数据集混合建立了强大的一般能力:

–网络:85%(12%多语言)- FineWeb-Edu,DCLM,FineWeb2和FineWeb2-HQ

–代码:12% - The Stack v2(16种编程语言),StarCoder2拉取请求,Jupyter和Kaggle笔记本,GitHub问题和StackExchange

–数学:3% - FineMath3+和InfiWebMath3+

阶段2:稳定阶段(8T → 10Ttoken) SmolLM3引入更高质量的数学和代码数据集,同时保持良好的网络覆盖:

–网络:75%(12%多语言)

–代码:15% - 添加Stack-Edu

–数学:10% - 引入FineMath4+,InfiWebMath4+和MegaMath(包括Qwen问答,Pro合成重写和文本-代码交错块)

阶段3:衰减阶段(10T → 11.1Ttoken) 最后阶段进一步上采样数学和代码数据:

–网络:63%(12%多语言)

–代码:24% - 高质量代码数据的上采样

–数学:13% - 数学数据的上采样并引入指令和推理数据集,如OpenMathReasoning

通过这些阶段和混合,SmolLM3为基础模型实现了非常有竞争力的性能。

中间训练

SmolLM3将长上下文适应和推理适应称为"中间训练"。它们比主要预训练短得多,但仍然具有一定的通用性,旨在改善模型在这两个领域的表现。

长上下文扩展

图片

在预训练之后,SmolLM3在额外的100Btoken上训练SmolLM3以扩展其上下文长度。SmolLM3在两个阶段中顺序扩展上下文窗口,每个阶段50Btoken:首先从4k到32k上下文,RoPE theta增加到150万,然后从32k到64k上下文,RoPE theta增加到500万。两个阶段都上采样了数学、代码和推理数据。在消融实验中,SmolLM3发现上采样特定的长上下文数据,如代码仓库、书籍和长网页(超出SmolLM3混合中自然长样本),并没有进一步提升RULER和HELMET基准的性能。使用NoPE并在具有更长序列和增加的RoPE theta值的衰减混合上训练,足以在64k范围内实现具有竞争力的长上下文性能。

遵循Qwen2.5,SmolLM3使用YARN来推断超出训练上下文长度。在推理期间,模型可以处理高达128k上下文(超出64k训练长度的2倍扩展)。

推理中间训练

中间训练阶段与预训练和后训练阶段的主要区别在于,SmolLM3针对一般能力而不是专注于特定领域。在SmolLM3的情况下,SmolLM3想要训练模型进行推理,而不针对特定领域,如数学或计算机代码。

SmolLM3的中间训练数据集包含35B token,来源于Open Thought的OpenThoughts3-1.2M和NVIDIA的Llama-Nemotron-Post-Training-Dataset-v1.1的子集,其中包含来自R1的推理轨迹。SmolLM3使用ChatML聊天模板和包装打包以避免为模型提供过多结构。SmolLM3训练模型4个epoch(约140Btoken)并使用检查点进行后续的SFT阶段。

后训练

图片

这里SmolLM3解释了SmolLM3如何应对这些挑战并分享了构建双重指令模型的完整过程。SmolLM3详细说明了如何通过精心设计的训练流程平衡推理和非推理模式之间的性能,该流程包括用于一般推理能力的中间训练、使用合成数据生成的监督微调,以及使用锚定偏好优化(APO)的对齐 - DPO的一个最新变体。

监督微调

在推理中间训练阶段(SmolLM3在140Btoken的一般推理数据上训练模型)之后,SmolLM3继续进行监督微调(SFT),以在数学、代码、一般推理、指令遵循、多语言和工具调用方面纳入推理和非推理模式的能力。训练双模式模型需要仔细平衡数据混合,以在所有目标领域的两种模式中保持强大的性能。为了评估SmolLM3在训练过程中的性能,SmolLM3跟踪了以下领域:数学、代码、一般推理、指令遵循和多语言。

在构建推理模式数据集时SmolLM3遇到的主要挑战是某些领域缺乏包含推理轨迹的数据集。为了解决这个差距,SmolLM3通过在推理模式下使用现有非推理数据集的提示来提示Qwen3-32B生成合成数据。这使SmolLM3能够在模型在推理模式下最初困难的领域中改善性能,如多轮对话、多语言和日常对话。

SmolLM3的最终数据混合是广泛消融实验的结果,这些实验检查了推理与非推理token的最佳比例以及每种模式内的组成。产生的SFT数据集包含18亿token:非推理模式10亿,推理模式8亿,包括12个非推理数据集和10个带有推理轨迹的数据集。SmolLM3使用BFD(最佳适应递减)打包训练了4个epoch(约80亿token),在用户轮次和工具调用结果上屏蔽了损失。

图片

使用锚定偏好优化(APO)的离策略模型对齐

图片

在SFT步骤之后,SmolLM3使用Tulu3偏好数据集(用于非推理模式)和SmolLM3从Qwen3-32B和Qwen3-0.6B生成的新合成偏好对(用于推理模式)的组合进行了一轮模型对齐。为了确保非思考数据集中所有领域的完全覆盖,SmolLM3生成了补充的思考模式偏好对。SmolLM3选择Qwen3-32B的生成作为"选择",Qwen3-0.6B的响应作为"拒绝",用于使用锚定偏好优化进行对齐。

锚定偏好优化(APO)是直接偏好优化(DPO)的一个变体,提供了更稳定的优化目标。在DPO中,奖励函数r_θ(x,y)测量训练期间序列概率与训练开始时模型(参考模型)相比的对数比率。

DPO损失优化提示x、选择y_w和拒绝y_l响应的三元组。

APO目标已被证明更稳定,SmolLM3在内部消融实验中也观察到了更高的下游性能。

虽然下游评估显示在数学、科学、指令遵循、编码、聊天和多语言任务方面有改善,但SmolLM3观察到在RULER等长上下文基准上的性能下降。SmolLM3将这种下降追溯到推理中间训练阶段,其中对推理能力的关注影响了长上下文性能。此外,APO训练数据限制在24ktoken,因为SmolLM3推理数据集的绝大部分都低于这个长度。

为了缓解这种性能下降,SmolLM3探索了模型合并作为解决方案。

模型合并

模型合并是一种流行且强大的技术,允许结合不同模型的优势,而无需集成的计算开销或额外训练的需要。SmolLM3使用MergeKit库来执行模型合并,因为它包含几种合并方法,包括线性和非线性合并。

SmolLM3的合并配方包括两个步骤:

1.取每个APO检查点并创建一个模型"汤"

2.将模型汤与具有强长内容性能的中间训练检查点结合。APO模型汤和中间训练检查点的权重分别为0.9和0.1的线性合并实现了最佳性能。SmolLM3能够在高达128ktoken的上下文上恢复基础模型的RULER得分。

产生的模型是SmolLM3今天发布的检查点。它在广泛的任务中保持性能。让SmolLM3转向这个模型以及基础模型的评估结果。

评估

SmolLM3在推理和非推理模式下评估基础模型和指令模型。

基础模型

图片

SmolLM3在评估知识、推理、数学和编码能力的12个流行基准上的胜率。SmolLM3一致优于其他3B模型。

用于胜率的评估基准:HellaSwag、ARC、Winogrande、CommonsenseQA、MMLU-CF、MMLU Pro CF、PIQA、OpenBookQA、GSM8K、MATH、HumanEval+、MBPP+

图片

SmolLM3在知识和推理基准(HellaSwag、ARC、BoolQ)上获得第一或第二名,在这些核心能力中表现出强大的性能。数学和编码性能在3B类别中具有竞争力。Ruler 64k上的长上下文性能显示模型可以有效处理扩展序列。

当在包括Global MMLU、MLMM HellaSwag、Flores-200、Belebele在内的多语言基准上进行评估时,模型在五种主要欧洲语言中表现出强大的多语言性能,测试知识、常识推理、文本理解和翻译。这表明SmolLM3在英语之外保持了一致的性能。

图片

双重指令/推理模型

由于SmolLM3既有指令模式又有推理模式,SmolLM3需要在两种模式下评估模型,并与具有相同能力的模型进行比较。

无扩展思考评估

SmolLM3在多个基准上评估SmolLM3与其他3B非推理模型的对比,并在无思考模式下将其与Qwen3推理模型进行比较。如性能图所示,SmolLM3优于其他3B非推理模型,包括Llama3.2 3B Instruct和Qwen2.5 3B Instruct,在推理模型中处于效率最佳平衡点,显著优于Qwen3 1.7B,同时以更低的计算成本接近4B模型性能。

图片

扩展思考评估

当评估SmolLM3启用扩展思考的推理能力时,与其非推理对应物相比,模型在大多数基准上显示出实质性改进。SmolLM3观察到在具有挑战性的任务上的显著提升,如AIME 2025(36.7%对9.3%)、LiveCodeBench上的竞争性编程(30.0%对15.2%)和GPQA Diamond上的研究生级推理(41.7%对35.7%)。

图片

如何学习大模型 AI ?

由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。

但是具体到个人,只能说是:

“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。

这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。

我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。

我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

在这里插入图片描述

第一阶段(10天):初阶应用

该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。

  • 大模型 AI 能干什么?
  • 大模型是怎样获得「智能」的?
  • 用好 AI 的核心心法
  • 大模型应用业务架构
  • 大模型应用技术架构
  • 代码示例:向 GPT-3.5 灌入新知识
  • 提示工程的意义和核心思想
  • Prompt 典型构成
  • 指令调优方法论
  • 思维链和思维树
  • Prompt 攻击和防范

第二阶段(30天):高阶应用

该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。

  • 为什么要做 RAG
  • 搭建一个简单的 ChatPDF
  • 检索的基础概念
  • 什么是向量表示(Embeddings)
  • 向量数据库与向量检索
  • 基于向量检索的 RAG
  • 搭建 RAG 系统的扩展知识
  • 混合检索与 RAG-Fusion 简介
  • 向量模型本地部署

第三阶段(30天):模型训练

恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。

到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?

  • 为什么要做 RAG
  • 什么是模型
  • 什么是模型训练
  • 求解器 & 损失函数简介
  • 小实验2:手写一个简单的神经网络并训练它
  • 什么是训练/预训练/微调/轻量化微调
  • Transformer结构简介
  • 轻量化微调
  • 实验数据集的构建

第四阶段(20天):商业闭环

对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。

  • 硬件选型
  • 带你了解全球大模型
  • 使用国产大模型服务
  • 搭建 OpenAI 代理
  • 热身:基于阿里云 PAI 部署 Stable Diffusion
  • 在本地计算机运行大模型
  • 大模型的私有化部署
  • 基于 vLLM 部署大模型
  • 案例:如何优雅地在阿里云私有部署开源大模型
  • 部署一套开源 LLM 项目
  • 内容安全
  • 互联网信息服务算法备案

学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。

如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。

这份完整版的大模型 AI 学习资料已经上传优快云,朋友们如果需要可以微信扫描下方优快云官方认证二维码免费领取【保证100%免费

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值