【新智元导读】重磅开源!新一代最强小模型SmolLM3横空出世:30亿参数,支持128k长上下文!而且训练、对齐、架构、数据等全链路,Hugging Face这次100%开放——堪称真「Open AI」。
小模型负责人Loubna Ben Allal如此评价SmolLM3:「强大、小巧的推理模型」。
重要的是,它公开了完整的构建方法!100%开源,极大减少了反向工程的时间,为小模型开发提供了难得的参考范本。
在Llama架构的基础上,SmolLM3引入多项关键改进,以提升效率和长上下文处理能力。
GQA机制:将传统多头注意力替换为4组Grouped Query Attention,性能相当但大幅降低KV缓存开销,推理更高效。
NoPE编码:每隔4层移除旋转位置编码(RoPE),显著提升长文本处理能力,而短文本任务不受影响。
文档内注意力屏蔽:同一训练序列中不同文档的token彼此隔离,提升训练稳定性和长文本学习能力。
稳定性优化:借鉴OLMo 2,去除嵌入层权重衰减,使参数收敛更稳,对模型性能无负面影响。
基于相同架构进行的消融实验,验证了上述所有改动,确保各项优化措施在提升或保持性能的同时,带来了额外优势。
延续SmolLM2所采用的多阶段训练方法,SmolLM3使用的训练数据总量达11.2万亿个token,训练采用三阶段策略。
团队混合了网页文本、数学内容与代码数据,还根据训练进度,调整各类数据的比例。
为了确定最优的数据构成与配比,在多个3B模型上,他们进行了大量消融实验,训练数据量涵盖从500亿到1000亿token。
此外,在主预训练完成后,研究团队还进行了专门的中间训练阶段,以进一步增强模型在长文本处理和复杂推理任务中的表现。
在主预训练完成后,额外训练了SmolLM3,进一步扩展模型的上下文处理能力。
该阶段共使用了1000亿个token,分为两个阶段,各使用500亿token,改进如下表所示:
这两个阶段均过采样了数学、代码和推理相关数据,增强了模型的长文本理解与推理能力。
这表明:在64k长度的上下文任务中,仅使用NoPE编码、更长的训练序列以及更高的RoPE的theta值,已足以让模型取得优异表现。
此外,借鉴Qwen2.5,在推理阶段,这次采用YARN技术,将上下文窗口从训练时的64k外推至128k,上下文扩展了2倍。
与预训练和后续微调不同,这一阶段不面向任何特定领域,而是着重培养模型的通用推理能力。
为了减少对模型结构的显式引导,这次采用ChatML格式的对话模板,并通过packing技术压缩了数据。
随着DeepSeek R1等推理模型的推出,推理为模型带来的强大表现已获业界公认。
但至今缺乏构建双指令模型(同时支持推理与非推理模式)的完整开源方案。现有方法多依赖复杂强化学习流程与私有数据,严重阻碍研究人员复现与再开发。
训练流程从注入通用推理能力的中间训练起步,融合合成数据监督微调(SFT),再通过基于DPO改进的Anchored Preference Optimization(APO)实现偏好对齐。
SmolLM3双模式模型通过聊天模板与用户交互,允许用户精确控制推理模式。(和Qwen3一样)
聊天模板还包括默认系统消息和元数据(如日期、知识截止时间、推理模式),并允许用户自定义或禁用元数据显示,灵活适配不同场景。
在完成中间训练后,团队继续对SmolLM3进行监督微调,以增强其在推理与非推理两种模式下的综合能力。
核心挑战在于:部分任务领域缺乏带有推理轨迹(reasoning traces)的标注数据。
为弥补这一空缺,他们使用Qwen3-32B以推理模式重新生成了非推理数据集的提示,从而构建出合成推理数据。
IM电竞,IM电竞官网,IM电竞注册,电竞投注平台,电竞博彩,英雄联盟竞猜
在整个监督微调过程中,还对各类数据进行细致调配,以确保模型保持稳健的性能。
在大量消融实验的基础上,最终构建的SFT数据集有18亿token,比例来源如下
非推理模式和推理模式部分,分别采用了Tulu3的公开偏好数据集、Qwen3-32B和Qwen3-0.6B合成的一批偏好对。
在构建偏好数据时,他们选取Qwen3-32B的回答作为偏好对中的「选中答案」(chosen),而Qwen3-0.6B的回答作为「被拒绝答案」(rejected),并采用APO方法进行对齐训练。
对齐流程进一步统一了不同模式下的风格与偏好选择,为后续任务奠定了良好基础。
在DPO中,在训练过程中,奖励函数rθ(x,y)衡量了模型生成序列的概率与训练初期参考模型之间的对数比值:
DPO损失函数主要通过优化由提示x、选中回答y_w和被拒绝回答y_l组成的三元组来实现模型的改进。
虽然在下游评估中,数学、科学、指令跟随、编程、对话和多语言任务均有显著提升,但在长上下文基准(如 RULER)上的表现却有所下降。
在不增加集成计算开销或无需额外训练的情况下,使用MergeKit合并APO检查点与长上下文训练checkpoint(权重0.9:0.1),兼顾推理对齐与长文本能力。
在各项任务中,SmolLM3始终优于其他3B模型,并且在与4B模型对比时也展现了强劲的竞争力。
在知识和推理类基准测试中,SmolLM3取得了第一或第二名,数学和编程能力也表现不俗。
对于长上下文任务,在Ruler 64k基准测试中,SmolLM3表现突出。
在五种主要欧洲语言的基准测试中,它也展现了强大的能力,涵盖Global MMLU、MLMM HellaSwag、Flores-200和Belebele,内容包括知识、常识推理、文本理解和翻译能力。
总体而言,基础模型在多个领域展示了卓越的表现。接下来,让我们看看这些优势如何转化到指令模型的表现上。
SmolLM3同时支持指令模式和推理模式,需要分别评估其表现,并与具备相同能力的其他模型做比较。
SmolLM3与其他3B非推理模型进行了比较,并在多个基准测试中,与Qwen3推理模型在无推理模式下进行对比。
在计算成本较低的情况下,SmolLM3显著超越Qwen3 1.7B,并接近4B模型的性能,领先于测试的其他3B非推理模型。
尽管在推理和非推理模式下,Qwen3-4B通常能够获得最高分数,但SmolLM3在3B参数类中依然展现出了竞争力,特别是在数学推理和复杂问题解决任务中表现突出。
还可以通过最新版本的vllm加载该模型,vllm使用transformers作为后端。
要启用或禁用推理模式,在系统提示中使用/think或/no_think标志,如下所示。
生成带扩展推理的代码步骤相同,唯一的区别在于系统提示应为/thin而不是/no_think。
只需将工具列表传递到xml_tools(标准工具调用)或python_tools(调用如Python函数的工具)参数中。