1 पॉइंट द्वारा GN⁺ 2025-07-09 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • 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 टिप्पणियां

 
GN⁺ 2025-07-09
Hacker News राय
  • ज़्यादातर SOTA प्रदर्शन को 3B आकार में हासिल करते दिखता है, और पूरी तरह open, code, तथा reproduction recipe तक सब कुछ सार्वजनिक करने वाले दुर्लभ मॉडल क्लब में यह आत्मविश्वास से शामिल हुआ लगता है. अगर इसे खुद train करना हो तो लगभग दस लाख डॉलर के बराबर GPU समय चाहिए होगा (4000 GPU/24 दिन के हिसाब से), और भरपूर साझा documentation भी प्रभावशाली है; इसे इंडस्ट्री के लिए सकारात्मक और ठोस योगदान माना गया
    • असल में 384 H100 को 24 दिनों तक चलाना होगा, इसलिए लागत दस लाख डॉलर की आधी से भी कम है
    • मैंने सुबह Phi-4-mini benchmark के साथ लगभग 10 मिनट cross-check किया, तो यह अजीब लगा कि benchmark में यह मॉडल गायब था, और कुल मिलाकर यह हर बार पीछे ही दिखा. संदर्भ के लिए, मैं LLM client बना रहा हूँ, और local तथा cloud के बीच के gap को न्यूनतम करना मेरा मुख्य लक्ष्य है (llama.cpp का उपयोग करके). इस समय Microsoft के अलावा शायद ही कोई कंपनी local AI को लगातार गंभीरता से देख रही है. आम तौर पर मैं ऐसी बातों को दबाकर रखता हूँ, लेकिन HF सचमुच एक शानदार नागरिक होने के बावजूद, superstar का ज़िक्र किए बिना सिर्फ दूसरे मॉडल की श्रेष्ठता पर ज़ोर देना, मुझे इस क्षेत्र के पुराने local SoTA की अनदेखी जैसा लगता है; इसलिए इस बार आगे आकर यह बात कहने को मैंने अर्थपूर्ण समझा
  • यह मॉडल छोटा है (3B), और benchmark में शानदार प्रदर्शन दिखाता है. edge/mobile deployment के लिए यह बहुत उपयुक्त है, इसलिए gemma3-4b की तुलना में इसका लाभ बड़ा है. reasoning/non-reasoning dual mode का support है, और पूरे training approach को पूरी तरह सार्वजनिक किया गया है> SmolLM3 को engineering blueprint के साथ जारी किया गया. इसमें detailed architecture, domain-विशिष्ट performance को क्रमशः ऊपर ले जाने वाली 3-stage pretraining strategy, और hybrid reasoning model बनाने की methodology शामिल है. ऐसे परिणाम पाने के लिए आम तौर पर महीनों तक reverse engineering करनी पड़ती है, लेकिन हमने पूरी methodology सार्वजनिक कर दी
  • मैंने खुद llama.cpp और अन्य inference engine के लिए chat template समस्या का fix किया; चलाने के लिए यह command दर्ज करें ./llama.cpp/llama-cli -hf unsloth/SmolLM3-3B-GGUF:Q4_K_XL --jinja -ngl 99
  • Qwen3 distill के लगभग बराबर प्रदर्शन, लेकिन model size सिर्फ 75% है; यह बड़ी बात है. smollm base model पहले से ही high quality है, इसलिए मैं इसे fine-tuning में लगातार इस्तेमाल करता रहा हूँ, और निकट भविष्य में local agent या code completion के लिए भी उपयोग करने की योजना है. RL algorithm भी दिलचस्प लग रहा है. अब तक मैं OpenAI algorithms पर केंद्रित रहा हूँ, लेकिन लगता है कि अब latest SOTA को देखना चाहिए (सचमुच इस क्षेत्र की रफ्तार पागलों जैसी तेज है, पीछा करना मुश्किल है)
  • मैं जानना चाहता हूँ कि विभिन्न enterprise dataset पर fine-tune करने के लिए कौन-सा छोटा मॉडल अच्छा रहेगा. हमारी business unit browser और mobile में चल सकने वाला छोटा मॉडल ढूँढ रही है, और हम RAG तथा cloud resources की झंझट के बिना इसे हल करना चाहते हैं
    • छोटे मॉडल ज्ञान संचित करने में कमजोर होते हैं. knowledge भरने के लिए fine-tuning का तरीका मैं खास तौर पर recommend नहीं करूँगा. इसके बजाय offline deployment योग्य embedded RAG system को wasm में implement करना बेहतर लगेगा; इस तरीके से सफल होने के उदाहरण भी हैं
    • कई models को खुद आज़माना और एक सही benchmark रखना महत्वपूर्ण है. machine learning मेरा विशेषज्ञ क्षेत्र नहीं है, लेकिन Mistral 7B की official guide और tools के साथ fine-tuning करने पर भी परिणाम उम्मीद के मुताबिक नहीं आए. मैंने dataset में बहुत specific सवाल डाले, लेकिन fine-tuning के अलग-अलग रूप आज़माने पर भी वह सही जवाब नहीं दे पाया. जानकारी सिखाने की उम्मीद रखने से बेहतर, vector search + keyword search का मिश्रण context extraction में कहीं अधिक प्रभावी है. मैंने pretraining dataset approach अपनाया था, और data-आधारित Q&A synthesize करके train करने वाला तरीका बेहतर हो सकता था, लेकिन उस पद्धति तक प्रयोग करने का समय नहीं था
    • Gemma 3N 2B पर fine-tuning करके देखा, प्रदर्शन अच्छा है, लेकिन S23U पर loading धीमी है. एक बार चल पड़ने के बाद ठीक चलता है. SmolVLM 256M, 500M भी इस्तेमाल किए; वे बहुत तेज़ी से शुरू होते हैं और app में asset के रूप में शामिल किए जा सकते हैं, इसलिए कुछ अनुभव हो तो उपयोगी हैं. लेकिन छोटे models में parameter सीमा के कारण प्रदर्शन सीमित रहता है. और Android पर 2GB से बड़े files को compression issue के कारण distribute नहीं किया जा सकता, इसलिए model अलग से डाउनलोड करना पड़ता है; साथ ही download folder से सीधे load भी नहीं होता, इसलिए app-specific folder में copy करना पड़ता है. Gemma 3N 2B का आकार 3.14GB है, इसलिए कम से कम 7GB खाली जगह चाहिए
    • मैं जानना चाहता हूँ कि इस तरह fine-tuning करके हासिल क्या करना चाहते हैं
  • यह हिस्सा किसी ब्रिटिश comedy sketch के material जैसा है: "यह, छोटा होते हुए भी बड़ा language model है?" "हाँ, सचमुच छोटा है." "लेकिन यह एक साथ बड़ा और छोटा कैसे है?" "बड़े language model के मानक से देखें तो... छोटा है." "मतलब बड़ा है?" "हाँ, काफ़ी बड़ा है." "किससे तुलना में बड़ा?" "छोटे language model से." "तो ChatGPT जैसा क्या कहलाएगा? बड़े में भी बड़ा?" "बिलकुल. LLLM."
    • इसमें Australian comedy का एहसास है, Clarke and Dawe/Utopia शैली याद आती है
    • मानक खुद लगातार बदलते रहते हैं. GPT-2 कभी "बड़ा" था, लेकिन अब यह इस model size का आधा है. ऊपर से Sam Altman ने उस समय कहा था कि GPT-2 भी इतना खतरनाक है कि उसे सार्वजनिक नहीं किया जा सकता. मेरी नज़र में अगर यह consumer device पर नहीं चल सकता, तो यह "बड़ा" है; और परिभाषा पर बहस करने का खास मतलब नहीं है
    • miniature giant space hamster को मैं नहीं छेड़ूँगा (BG game humor)
    • big little planet है या small big planet, यही उलझन है
  • सुना है कि llama3 models को fine-tune करना काफ़ी आसान है (अगर मैं गलत हूँ, या यहाँ इससे बेहतर model हो तो कृपया बताइए). मैं जानना चाहता हूँ कि smollm3 की fine-tuning difficulty कैसी है; MoE LLMs इस मामले में खास तौर पर बहुत नखरीले लगते हैं
  • दिलचस्प बात यह है कि इसने RL को सीधे लागू नहीं किया, बल्कि बड़े dataset में मौजूद reasoning trace के आधार पर ही fine-tuning की
    • वास्तव में इसने Anchored Preference Optimization जैसी offline method का उपयोग किया. Open R1 project में जैसा देखा गया, छोटे models पर multitask RL लागू करना काफ़ी कठिन काम है. offline methods में dataset curation/generation ही मुख्य बात होती है, इसलिए iteration की गति बहुत तेज़ होती है. यह हमारे द्वारा संभाले जाने वाले model scale के लिए उपयुक्त तरीका है
  • शानदार काम, anton और संबंधित लोगों को सम्मान. उम्मीद है कि 50~100M parameter आकार के models पर भी काम जारी रहेगा. मुझे लगता है कि Solve by LLM test cases की तरह CPU पर तेज़ी से खत्म हो जाने वाले models भी पूरी तरह सार्थक हैं