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