- SmolLM3 मॉडल 3B पैरामीटर आकार में efficiency और performance, दोनों को साथ लेकर चलने वाला एक open source LLM है
- यह English, French, Spanish, German, Italian, Portuguese समेत 6 भाषाओं को सपोर्ट करता है, और अधिकतम 128k context length तक विस्तार का समर्थन देता है
- dual mode(reasoning/non-reasoning) में
/think,/no_thinkफ्लैग का उपयोग करके reasoning mode बदला जा सकता है - Pretraining, mid-training, post-training जैसी विभिन्न training stages के साथ सार्वजनिक datasets और engineering blueprints भी पूरी तरह उपलब्ध कराए गए हैं
- performance के लिहाज़ से यह Llama-3.2-3B और Qwen2.5-3B से आगे है, और 4B मॉडल के बराबर प्रतिस्पर्धात्मक क्षमता रखता है
अवलोकन
SmolLM3 एक open source large language model है, जो 3B पैरामीटर स्केल पर efficiency और performance, दोनों को साथ हासिल करने का लक्ष्य रखता है। छोटा और तेज़ होने के साथ-साथ, इसका बड़ा अंतर यह है कि यह long-context, multilingual और reasoning—तीनों को सपोर्ट करता है।
- 3B पैरामीटर पर 11 ट्रिलियन (11T) tokens की training
- अत्याधुनिक प्रदर्शन (SoTA), 4B मॉडल से प्रतिस्पर्धा करने की क्षमता
- dual mode instruct model:
/thinkऔर/no_thinkके ज़रिए reasoning और non-reasoning के बीच स्विचिंग - English, French, Spanish, German, Italian, Portuguese का समर्थन
- NoPE, YaRN लागू होने से अधिकतम 128k context
पूरे training process की architecture, data mix और हर stage की recipe पूरी तरह सार्वजनिक की गई है।
Pretraining
आर्किटेक्चर और training सेटअप
SmolLM3, transformer decoder आधारित है, और Llama संरचना को efficiency तथा long-context performance बढ़ाने के लिए संशोधित किया गया है।
- Grouped Query Attention(GQA) : multi-head attention की तुलना में ज़्यादा memory-efficient, performance समान स्तर पर बनाए रखता है
- NoPE: rotary position embedding को हर चौथी layer पर हटाकर long-context performance बेहतर किया गया है
- document-level masking: अलग-अलग documents एक-दूसरे पर attention न दें, इसके लिए masking की गई है, जिससे stable long-context training संभव होती है
- embedding पर weight decay हटाया गया: stable training behavior सुनिश्चित करने के लिए
training configuration:
- 2.36M tokens का global batch, 4096 sequence length, learning rate 2e-4, AdamW(β1:0.9, β2:0.95), weight decay 0.1, gradient clipping 1
- WSD scheduler: 2000 warmup, आख़िरी 10% में linear decay
- distributed training के लिए nanotron framework, data के लिए datatrove, evaluation tool के रूप में lighteval
- 384 H100 GPU, 24 दिन की training
data mix और चरणबद्ध training
3-stage pretraining:
- Stage 1 (0T→8T) : web(85%, 12% multilingual), code(12%), math(3%)
- Stage 2 (8T→10T) : web(75%, 12% multilingual), code(15%), math(10%) - उच्च-गुणवत्ता code और math data जोड़ा गया
- Stage 3 (10T→11.1T) : web(63%, 12% multilingual), code(24%), math(13%) - उच्च-गुणवत्ता code, math upsampling, instruction/reasoning data शामिल
हर stage का data mix ratio कई ablation experiments के ज़रिए optimize किया गया।
pretraining के बाद, long-context और reasoning performance को मज़बूत करने के लिए अतिरिक्त mid-training किया गया।
Mid-training
Long-context training
pretraining के बाद, अतिरिक्त 100B tokens जोड़कर context length को 2 चरणों (4k→32k→64k) में बढ़ाया गया।
- RoPE theta adjustment से length extension
- math, code, reasoning data upsampling
- NoPE और decay mixture से long-sequence performance optimize की गई
- training के दौरान 64k तक, और inference में YaRN लागू करके 128k तक प्रोसेस किया जा सकता है
Reasoning mid-training
reasoning क्षमता बढ़ाने के लिए मॉडल को 35B tokens (OpenThoughts3-1.2M, Llama-Nemotron-Post-Training-Dataset आदि) पर फिर से train किया गया।
- किसी विशेष domain की ओर झुकाव के बिना, सामान्य reasoning क्षमता सीखी गई
- ChatML template, wrapped packing का उपयोग
- 4 epochs (~140B tokens) चलाने के बाद checkpoint सेव किया गया
Post-training
ज़्यादातर reasoning models को बंद या जटिल RL process की ज़रूरत होती थी, लेकिन SmolLM3 ने public data और स्पष्ट recipes के साथ dual instruction (reasoning/non-reasoning) संरचना लागू की है।
Chat template
/think,/no_thinkफ्लैग को system prompt में जोड़कर reasoning mode स्विच किया जाता है- XML Tools, Python Tools के अलग sections देकर code/tool calling सपोर्ट किया गया है
- system message, metadata(date, knowledge cut-off, reasoning mode) का उपयोग और ज़रूरत के अनुसार flexible override संभव
Supervised Finetuning(SFT)
140B reasoning data mid-training के बाद, 1.8B tokens (SFT data: logical reasoning/non-reasoning) पर supervised finetuning की गई
- reasoning के rare domains को पूरा करने के लिए Qwen3-32B से synthetic reasoning data तैयार किया गया
- Best-fit decreasing packing आदि से memory/efficiency को अधिकतम किया गया
- पूरा data और training scripts बाद में सार्वजनिक किए जाएंगे
Anchored Preference Optimization(APO)
- SFT के बाद, Tulu3 preference(non-reasoning), Qwen3-32B/0.6B synthetic preference pairs(reasoning) के आधार पर DPO के एक variant, APO, से model alignment किया गया
- triplet prompt + response के आधार पर loss बनाया गया, जिससे stable optimization और performance हासिल हुई
- reasoning mid-training के प्रभाव से long-context performance में गिरावट देखी गई, जिसे model merging से दूर किया गया
Model merging
- MergeKit library का उपयोग, APO checkpoint model soup(0.9) + mid-training checkpoint(0.1) अनुपात में linear merging
- 128k long-context performance की recovery और overall performance बरकरार
- best checkpoint को final model के रूप में release किया गया
मूल्यांकन
base model
12 प्रमुख benchmarks में अन्य 3B models पर स्पष्ट बढ़त और 4B models के क़रीब performance
- document understanding, reasoning, math, coding—सभी में संतुलित मज़बूती
- RULER 64k आदि में length extension क्षमता स्पष्ट
- Global MMLU, MLMM HellaSwag, Flores-200, Belebele आदि से multilingual क्षमता सिद्ध
- English के अलावा 5 यूरोपीय भाषाओं में भी लगातार प्रदर्शन
Dual Instruct / Reasoning model
non-reasoning मूल्यांकन
SmolLM3, Llama3.2-3B Instruct और Qwen2.5 3B Instruct से बेहतर है, और 4B reasoning models जैसी efficiency व performance का संतुलन देता है
reasoning मूल्यांकन
/think सक्रिय करने पर ज़्यादातर benchmarks में performance तेज़ी से बढ़ती है
- AIME 2025(36.7% vs 9.3%), LiveCodeBench(30.0% vs 15.2%), GPQA Diamond(41.7% vs 35.7%) जैसे कठिन प्रश्न भी हल करता है
- Qwen3 4B के बराबर 3B reasoning, mathematical reasoning और complex problem-solving क्षमता
dual mode के ज़रिए speed और deep analysis के बीच चयन संभव है
व्यावहारिक उपयोग मार्गदर्शिका
SmolLM3 को transformers v4.53.0 या उससे ऊपर में आधिकारिक support मिलता है
- सरल code से model loading, prompt लिखना और inference चलाना संभव
- reasoning/non-reasoning के बीच system prompt में
/think,/no_thinkफ्लैग से स्विच किया जा सकता है
tool calling(Agentic) के लिए xml_tools, python_tools parameters का समर्थन है
निष्कर्ष
SmolLM3, 3B स्केल पर long-context, multilingual और reasoning—तीनों को सपोर्ट करने वाला fully open model है।
- हर stage की training recipes, datasets, training logs समेत engineering blueprint पूरी तरह सार्वजनिक
- इससे community के लिए सुधार और validation में भागीदारी को अधिकतम किया जा सकता है
सामग्री
- model, scripts, datasets आदि: HuggingFaceTB/SmolLM3-3B
- paper, evaluation, lightweighting, merging tools आदि के लिए संबंधित GitHub, Hugging Face और paper links देखें
1 टिप्पणियां
Hacker News राय
llama.cppका उपयोग करके). इस समय Microsoft के अलावा शायद ही कोई कंपनी local AI को लगातार गंभीरता से देख रही है. आम तौर पर मैं ऐसी बातों को दबाकर रखता हूँ, लेकिन HF सचमुच एक शानदार नागरिक होने के बावजूद, superstar का ज़िक्र किए बिना सिर्फ दूसरे मॉडल की श्रेष्ठता पर ज़ोर देना, मुझे इस क्षेत्र के पुराने local SoTA की अनदेखी जैसा लगता है; इसलिए इस बार आगे आकर यह बात कहने को मैंने अर्थपूर्ण समझाllama.cppऔर अन्य inference engine के लिए chat template समस्या का fix किया; चलाने के लिए यह command दर्ज करें./llama.cpp/llama-cli -hf unsloth/SmolLM3-3B-GGUF:Q4_K_XL --jinja -ngl 99smollmbase model पहले से ही high quality है, इसलिए मैं इसे fine-tuning में लगातार इस्तेमाल करता रहा हूँ, और निकट भविष्य में local agent या code completion के लिए भी उपयोग करने की योजना है. RL algorithm भी दिलचस्प लग रहा है. अब तक मैं OpenAI algorithms पर केंद्रित रहा हूँ, लेकिन लगता है कि अब latest SOTA को देखना चाहिए (सचमुच इस क्षेत्र की रफ्तार पागलों जैसी तेज है, पीछा करना मुश्किल है)llama3models को fine-tune करना काफ़ी आसान है (अगर मैं गलत हूँ, या यहाँ इससे बेहतर model हो तो कृपया बताइए). मैं जानना चाहता हूँ किsmollm3की fine-tuning difficulty कैसी है; MoE LLMs इस मामले में खास तौर पर बहुत नखरीले लगते हैं