SmolLM3:小型、多語言、長上下文推理模型
SmolLM3 3B模型在性能上超越了Llama-3.2-3B和Qwen2.5-3B,同時與更大的4B替代方案(Qwen3和Gemma3)保持競爭力。除了性能數(shù)據(jù)之外,還分享了使用公共數(shù)據(jù)集和訓練框架構建它的方法。
圖片
模型摘要:
?3B模型在11T token上訓練,在3B規(guī)模上達到SOTA,與4B模型具有競爭力
?指令模型具有雙模式推理,支持think/no_think模式
?多語言支持支持6種語言:英語、法語、西班牙語、德語、意大利語和葡萄牙語
?長上下文使用NoPE和YaRN支持高達128k
一起公開的還包括架構細節(jié)、精確的數(shù)據(jù)混合比例,展示了如何在三階段預訓練方法中逐步提升各個領域的性能,以及構建混合推理模型的方法論。通常,實現(xiàn)這些結果需要數(shù)月的逆向工程。相反,SmolLM3提供了完整的方法論。
圖片
預訓練
SmolLM3在其前輩基礎上改變了架構和數(shù)據(jù)混合。
架構和訓練細節(jié)
圖片
SmolLM3遵循帶有綁定嵌入的transformer解碼器架構,類似于SmolLM2,基于Llama架構并進行了一些針對效率和長上下文性能優(yōu)化的關鍵修改。
分組查詢注意力(GQA): SmolLM3用使用4個組的分組查詢注意力替換了多頭注意力。SmolLM3在使用來自FineWeb-Edu的100B token訓練的3B模型上的消融實驗顯示,GQA在顯著減少推理期間KV緩存大小的同時,匹配了多頭注意力的性能。
NoPE: SmolLM3實現(xiàn)了來自"RoPE to NoRoPE and Back Again: A New Hybrid Attention Strategy"的NoPE,有選擇地從每第4層中移除旋轉位置嵌入。這種方法在不影響短上下文能力的情況下改善了長上下文性能,這在SmolLM3的消融實驗證實。
文檔內掩碼: 在訓練期間,SmolLM3使用注意力掩碼來確保同一訓練序列中不同文檔的token不會相互關注。類似于Llama 3,這有助于更快和更穩(wěn)定的長上下文訓練,同時保持短上下文性能。
訓練穩(wěn)定性: 遵循OLMo 2,SmolLM3從嵌入層中移除權重衰減以提高訓練穩(wěn)定性。這種修改有助于更穩(wěn)定的訓練動態(tài),嵌入范數(shù)在訓練期間自然穩(wěn)定在更健康的值,而不會影響SmolLM3消融實驗中的整體性能。
所有這些變化都通過使用FineWeb-Edu的100Btoken訓練的相同3B架構進行消融驗證,確保每個修改要么改善性能,要么在提供其他好處的同時保持性能。
訓練配置:SmolLM3使用236萬token的全局批次大小,序列長度為4096,學習率為2e-4,AdamW優(yōu)化器(beta1: 0.9,beta2: 0.95),權重衰減為0.1,梯度裁剪為1。SmolLM3使用WSD(Warmup-Stable-Decay)調度器,預熱2000步,在最后10%的訓練步驟中線性衰減到0。SmolLM3使用nanotron框架進行訓練,datatrove用于數(shù)據(jù)處理,lighteval用于評估。模型在384個H100 GPU上訓練了24天。
圖片
數(shù)據(jù)混合和訓練階段
圖片
遵循SmolLM2的多階段方法,SmolLM3使用混合網(wǎng)絡、數(shù)學和代碼數(shù)據(jù)的三階段訓練策略,在11.2T token上訓練SmolLM3,比例在不斷演變。SmolLM3在使用50B到100Btoken訓練的3B模型上進行了廣泛的消融實驗,以確定數(shù)據(jù)混合和比例。
預訓練包括以下階段:
?階段1:穩(wěn)定階段(0T → 8Ttoken) 這個基礎階段用SmolLM3的核心數(shù)據(jù)集混合建立了強大的一般能力:
–網(wǎng)絡:85%(12%多語言)- FineWeb-Edu,DCLM,F(xiàn)ineWeb2和FineWeb2-HQ
–代碼:12% - The Stack v2(16種編程語言),StarCoder2拉取請求,Jupyter和Kaggle筆記本,GitHub問題和StackExchange
–數(shù)學:3% - FineMath3+和InfiWebMath3+
?階段2:穩(wěn)定階段(8T → 10Ttoken) SmolLM3引入更高質量的數(shù)學和代碼數(shù)據(jù)集,同時保持良好的網(wǎng)絡覆蓋:
–網(wǎng)絡:75%(12%多語言)
–代碼:15% - 添加Stack-Edu
–數(shù)學:10% - 引入FineMath4+,InfiWebMath4+和MegaMath(包括Qwen問答,Pro合成重寫和文本-代碼交錯塊)
?階段3:衰減階段(10T → 11.1Ttoken) 最后階段進一步上采樣數(shù)學和代碼數(shù)據(jù):
–網(wǎng)絡:63%(12%多語言)
–代碼:24% - 高質量代碼數(shù)據(jù)的上采樣
–數(shù)學:13% - 數(shù)學數(shù)據(jù)的上采樣并引入指令和推理數(shù)據(jù)集,如OpenMathReasoning
通過這些階段和混合,SmolLM3為基礎模型實現(xiàn)了非常有競爭力的性能。
中間訓練
SmolLM3將長上下文適應和推理適應稱為"中間訓練"。它們比主要預訓練短得多,但仍然具有一定的通用性,旨在改善模型在這兩個領域的表現(xiàn)。
長上下文擴展
圖片
在預訓練之后,SmolLM3在額外的100Btoken上訓練SmolLM3以擴展其上下文長度。SmolLM3在兩個階段中順序擴展上下文窗口,每個階段50Btoken:首先從4k到32k上下文,RoPE theta增加到150萬,然后從32k到64k上下文,RoPE theta增加到500萬。兩個階段都上采樣了數(shù)學、代碼和推理數(shù)據(jù)。在消融實驗中,SmolLM3發(fā)現(xiàn)上采樣特定的長上下文數(shù)據(jù),如代碼倉庫、書籍和長網(wǎng)頁(超出SmolLM3混合中自然長樣本),并沒有進一步提升RULER和HELMET基準的性能。使用NoPE并在具有更長序列和增加的RoPE theta值的衰減混合上訓練,足以在64k范圍內實現(xiàn)具有競爭力的長上下文性能。
遵循Qwen2.5,SmolLM3使用YARN來推斷超出訓練上下文長度。在推理期間,模型可以處理高達128k上下文(超出64k訓練長度的2倍擴展)。
推理中間訓練
中間訓練階段與預訓練和后訓練階段的主要區(qū)別在于,SmolLM3針對一般能力而不是專注于特定領域。在SmolLM3的情況下,SmolLM3想要訓練模型進行推理,而不針對特定領域,如數(shù)學或計算機代碼。
SmolLM3的中間訓練數(shù)據(jù)集包含35B token,來源于Open Thought的OpenThoughts3-1.2M和NVIDIA的Llama-Nemotron-Post-Training-Dataset-v1.1的子集,其中包含來自R1的推理軌跡。SmolLM3使用ChatML聊天模板和包裝打包以避免為模型提供過多結構。SmolLM3訓練模型4個epoch(約140Btoken)并使用檢查點進行后續(xù)的SFT階段。
后訓練
圖片
這里SmolLM3解釋了SmolLM3如何應對這些挑戰(zhàn)并分享了構建雙重指令模型的完整過程。SmolLM3詳細說明了如何通過精心設計的訓練流程平衡推理和非推理模式之間的性能,該流程包括用于一般推理能力的中間訓練、使用合成數(shù)據(jù)生成的監(jiān)督微調,以及使用錨定偏好優(yōu)化(APO)的對齊 - DPO的一個最新變體。
監(jiān)督微調
在推理中間訓練階段(SmolLM3在140Btoken的一般推理數(shù)據(jù)上訓練模型)之后,SmolLM3繼續(xù)進行監(jiān)督微調(SFT),以在數(shù)學、代碼、一般推理、指令遵循、多語言和工具調用方面納入推理和非推理模式的能力。訓練雙模式模型需要仔細平衡數(shù)據(jù)混合,以在所有目標領域的兩種模式中保持強大的性能。為了評估SmolLM3在訓練過程中的性能,SmolLM3跟蹤了以下領域:數(shù)學、代碼、一般推理、指令遵循和多語言。
在構建推理模式數(shù)據(jù)集時SmolLM3遇到的主要挑戰(zhàn)是某些領域缺乏包含推理軌跡的數(shù)據(jù)集。為了解決這個差距,SmolLM3通過在推理模式下使用現(xiàn)有非推理數(shù)據(jù)集的提示來提示Qwen3-32B生成合成數(shù)據(jù)。這使SmolLM3能夠在模型在推理模式下最初困難的領域中改善性能,如多輪對話、多語言和日常對話。
SmolLM3的最終數(shù)據(jù)混合是廣泛消融實驗的結果,這些實驗檢查了推理與非推理token的最佳比例以及每種模式內的組成。產(chǎn)生的SFT數(shù)據(jù)集包含18億token:非推理模式10億,推理模式8億,包括12個非推理數(shù)據(jù)集和10個帶有推理軌跡的數(shù)據(jù)集。SmolLM3使用BFD(最佳適應遞減)打包訓練了4個epoch(約80億token),在用戶輪次和工具調用結果上屏蔽了損失。
圖片
使用錨定偏好優(yōu)化(APO)的離策略模型對齊
圖片
在SFT步驟之后,SmolLM3使用Tulu3偏好數(shù)據(jù)集(用于非推理模式)和SmolLM3從Qwen3-32B和Qwen3-0.6B生成的新合成偏好對(用于推理模式)的組合進行了一輪模型對齊。為了確保非思考數(shù)據(jù)集中所有領域的完全覆蓋,SmolLM3生成了補充的思考模式偏好對。SmolLM3選擇Qwen3-32B的生成作為"選擇",Qwen3-0.6B的響應作為"拒絕",用于使用錨定偏好優(yōu)化進行對齊。
錨定偏好優(yōu)化(APO)是直接偏好優(yōu)化(DPO)的一個變體,提供了更穩(wěn)定的優(yōu)化目標。在DPO中,獎勵函數(shù)r_θ(x,y)測量訓練期間序列概率與訓練開始時模型(參考模型)相比的對數(shù)比率。
DPO損失優(yōu)化提示x、選擇y_w和拒絕y_l響應的三元組。
APO目標已被證明更穩(wěn)定,SmolLM3在內部消融實驗中也觀察到了更高的下游性能。
雖然下游評估顯示在數(shù)學、科學、指令遵循、編碼、聊天和多語言任務方面有改善,但SmolLM3觀察到在RULER等長上下文基準上的性能下降。SmolLM3將這種下降追溯到推理中間訓練階段,其中對推理能力的關注影響了長上下文性能。此外,APO訓練數(shù)據(jù)限制在24ktoken,因為SmolLM3推理數(shù)據(jù)集的絕大部分都低于這個長度。
為了緩解這種性能下降,SmolLM3探索了模型合并作為解決方案。
模型合并
模型合并是一種流行且強大的技術,允許結合不同模型的優(yōu)勢,而無需集成的計算開銷或額外訓練的需要。SmolLM3使用MergeKit庫來執(zhí)行模型合并,因為它包含幾種合并方法,包括線性和非線性合并。
SmolLM3的合并配方包括兩個步驟:
1.取每個APO檢查點并創(chuàng)建一個模型"湯"
2.將模型湯與具有強長內容性能的中間訓練檢查點結合。APO模型湯和中間訓練檢查點的權重分別為0.9和0.1的線性合并實現(xiàn)了最佳性能。SmolLM3能夠在高達128ktoken的上下文上恢復基礎模型的RULER得分。
產(chǎn)生的模型是SmolLM3今天發(fā)布的檢查點。它在廣泛的任務中保持性能。讓SmolLM3轉向這個模型以及基礎模型的評估結果。
評估
SmolLM3在推理和非推理模式下評估基礎模型和指令模型。
基礎模型
圖片
SmolLM3在評估知識、推理、數(shù)學和編碼能力的12個流行基準上的勝率。SmolLM3一致優(yōu)于其他3B模型。
用于勝率的評估基準:HellaSwag、ARC、Winogrande、CommonsenseQA、MMLU-CF、MMLU Pro CF、PIQA、OpenBookQA、GSM8K、MATH、HumanEval+、MBPP+
圖片
SmolLM3在知識和推理基準(HellaSwag、ARC、BoolQ)上獲得第一或第二名,在這些核心能力中表現(xiàn)出強大的性能。數(shù)學和編碼性能在3B類別中具有競爭力。Ruler 64k上的長上下文性能顯示模型可以有效處理擴展序列。
當在包括Global MMLU、MLMM HellaSwag、Flores-200、Belebele在內的多語言基準上進行評估時,模型在五種主要歐洲語言中表現(xiàn)出強大的多語言性能,測試知識、常識推理、文本理解和翻譯。這表明SmolLM3在英語之外保持了一致的性能。
圖片
雙重指令/推理模型
由于SmolLM3既有指令模式又有推理模式,SmolLM3需要在兩種模式下評估模型,并與具有相同能力的模型進行比較。
無擴展思考評估
SmolLM3在多個基準上評估SmolLM3與其他3B非推理模型的對比,并在無思考模式下將其與Qwen3推理模型進行比較。如性能圖所示,SmolLM3優(yōu)于其他3B非推理模型,包括Llama3.2 3B Instruct和Qwen2.5 3B Instruct,在推理模型中處于效率最佳平衡點,顯著優(yōu)于Qwen3 1.7B,同時以更低的計算成本接近4B模型性能。
圖片
擴展思考評估
當評估SmolLM3啟用擴展思考的推理能力時,與其非推理對應物相比,模型在大多數(shù)基準上顯示出實質性改進。SmolLM3觀察到在具有挑戰(zhàn)性的任務上的顯著提升,如AIME 2025(36.7%對9.3%)、LiveCodeBench上的競爭性編程(30.0%對15.2%)和GPQA Diamond上的研究生級推理(41.7%對35.7%)。
圖片
博客地址:??https://huggingface.co/blog/smollm3??
本文轉載自??????AI帝國??????,作者:無影寺

















