1 puan yazan GN⁺ 2025-07-09 | 1 yorum | WhatsApp'ta paylaş
  • SmolLM3 modeli, 3B parametre boyutunda verimlilik ve performansı aynı anda hedefleyen açık kaynaklı bir LLM'dir
  • İngilizce, Fransızca, İspanyolca, Almanca, İtalyanca, Portekizce olmak üzere 6 dili destekler ve en fazla 128k bağlam uzunluğuna kadar genişletilebilir
  • dual mode (reasoning/non-reasoning) ile /think, /no_think bayrakları kullanılarak akıl yürütme modu değiştirilebilir
  • Pretraining, mid-training, post-training gibi farklı eğitim aşamaları ile birlikte herkese açık veri kümeleri ve mühendislik blueprint'lerinin tamamını sunar
  • Performans açısından Llama-3.2-3B ve Qwen2.5-3B modellerini geride bırakır ve 4B modellere yakın rekabet gücü sunar

Genel bakış

SmolLM3, 3B parametre ölçeğinde verimlilik ve performansı aynı anda hedefleyen açık kaynaklı bir büyük dil modelidir. Küçük ve hızlı olmasına rağmen long-context, çok dillilik ve akıl yürütmeyi aynı anda desteklemesi en büyük farkıdır.

  • 3B parametre ile 11 trilyon (11T) token eğitimi
  • En güncel performans (SoTA), 4B modellerle rekabet edebilir
  • Çift modlu instruct model: /think ve /no_think ile reasoning ve non-reasoning arasında geçiş desteği
  • İngilizce, Fransızca, İspanyolca, Almanca, İtalyanca, Portekizce desteği
  • NoPE, YaRN uygulaması ile en fazla 128k bağlam

Tüm eğitim sürecinin mimarisi, veri bileşimi ve her aşamadaki tarifler tamamen açıklandı.

Pretraining

Mimari ve eğitim ayarları

SmolLM3, transformer decoder tabanlıdır ve Llama yapısı, verimliliği ve uzun bağlam performansını artıracak şekilde değiştirilmiştir.

  • Grouped Query Attention (GQA): multi-head attention'a göre daha bellek verimlidir, benzer performansı korur
  • NoPE: rotary position embedding'in her 4. katmanda kaldırılmasıyla uzun bağlam performansı iyileştirilir
  • Belge içi maskeleme: farklı belgelerin birbirine attend etmesini engelleyen maskeleme ile kararlı long-context eğitimi sağlanır
  • embedding üzerinde weight decay kaldırıldı: kararlı eğitim davranışı sağlanır

Eğitim yapılandırması:

  • 2.36M token'lık 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, son %10'da lineer düşüş
  • Dağıtık eğitim için nanotron framework, veri için datatrove, değerlendirme için lighteval kullanıldı
  • 384 adet H100 GPU, 24 günlük eğitim

Veri karışımı ve aşamalı eğitim

3 aşamalı pretraining:

  • 1. aşama (0T→8T): web (%85, bunun %12'si çok dilli), kod (%12), matematik (%3)
  • 2. aşama (8T→10T): web (%75, bunun %12'si çok dilli), kod (%15), matematik (%10) - daha yüksek kaliteli kod ve matematik verisi eklendi
  • 3. aşama (10T→11.1T): web (%63, bunun %12'si çok dilli), kod (%24), matematik (%13) - yüksek kaliteli kod, matematik upsampling'i, instruction/akıl yürütme verisi eklendi

Her aşamadaki veri karışım oranı, çok sayıda ablation deneyiyle optimize edildi.

Pretraining sonrasında long-context ve reasoning performansını güçlendirmek için ek mid-training süreci uygulandı.

Mid-training

Long-context eğitimi

Pretraining sonrasında, ek 100B token kullanılarak bağlam uzunluğu 2 aşamada (4k→32k→64k) artırıldı.

  • RoPE theta ayarıyla uzunluk genişletildi
  • Matematik, kod ve reasoning verisi upsampling'i
  • NoPE ve decay mixture ile uzun sequence performansı optimize edildi
  • Eğitim sırasında 64k'ya kadar, çıkarımda YaRN uygulaması ile 128k'ya kadar işlenebilir

Reasoning mid-training

Akıl yürütme yeteneğini artırmak için model, 35B token (OpenThoughts3-1.2M, Llama-Nemotron-Post-Training-Dataset vb.) ile yeniden eğitildi.

  • Belirli bir alana odaklanmadan genel reasoning yeteneği eğitildi
  • ChatML template ve wrapped packing kullanıldı
  • 4 epoch (~140B token) sonrasında checkpoint kaydedildi

Post-training

Çoğu reasoning modeli kapalı ya da karmaşık RL süreçleri gerektirirken, SmolLM3 açık veri ve net tariflerle dual instruction (reasoning/non-reasoning) yapısını hayata geçiriyor.

Chat template

  • System prompt içine /think, /no_think bayrakları eklenerek reasoning modu değiştirilir
  • Kod ve araç çağrılarını desteklemek için ayrı XML Tools ve Python Tools bölümleri sunulur
  • system message ve metadata (date, knowledge cut-off, reasoning mode) kullanılır ve esnek biçimde override edilebilir

Supervised Finetuning (SFT)

140B reasoning verili mid-training sonrasında, 1.8B token (SFT verisi: mantıksal reasoning / non-reasoning) ile supervised fine-tuning yapıldı.

  • Reasoning'in nadir alanlarını tamamlamak için Qwen3-32B ile sentetik reasoning verisi üretildi
  • Best-fit decreasing packing gibi yöntemlerle bellek/verimlilik en üst düzeye çıkarıldı
  • Tüm veri ve eğitim script'leri yayımlanacak

Anchored Preference Optimization (APO)

  • SFT sonrasında, Tulu3 preference (non-reasoning) ve Qwen3-32B/0.6B synthetic preference pairs (reasoning) temel alınarak, DPO'nun bir türevi olan APO ile model hizalaması yapıldı
  • triplet prompt + response ile loss oluşturuldu, kararlı optimizasyon ve performans elde edildi
  • Reasoning mid-training etkisiyle long-context performansında düşüş gözlendiği için bu sorun model merging ile aşıldı

Model merging

  • MergeKit kütüphanesi kullanılarak APO checkpoint modeli (%0.9) + mid-training checkpoint'i (%0.1) oranında lineer merging yapıldı
  • 128k long-context performansı geri kazanıldı ve genel performans korundu
  • Nihai model, en iyi checkpoint ile yayımlandı

Değerlendirme

Temel model

12 ana benchmark'ta diğer 3B modelleri açık ara geride bırakan ve 4B modellere yaklaşan performans

  • Belge anlama, reasoning, matematik ve kodlamada dengeli güçlü yönler
  • RULER 64k gibi testlerde bağlam uzunluğu genişletme yeteneği net biçimde doğrulandı
  • Global MMLU, MLMM HellaSwag, Flores-200, Belebele gibi testlerde çok dilli yetenek kanıtlandı
  • İngilizce dışındaki 5 Avrupa dilinde de tutarlı performans

Dual Instruct / Reasoning modeli

non-reasoning değerlendirmesi

SmolLM3, Llama3.2-3B Instruct ve Qwen2.5 3B Instruct'tan daha iyi olup, 4B reasoning modelleri seviyesinde verimlilik-performans dengesi sunuyor

reasoning değerlendirmesi

/think etkinleştirildiğinde çoğu benchmark'ta performans belirgin şekilde artıyor

  • AIME 2025 (%36.7 vs %9.3), LiveCodeBench (%30.0 vs %15.2), GPQA Diamond (%41.7 vs %35.7) gibi zor problemleri de çözebiliyor
  • Qwen3 4B ile yarışabilecek düzeyde 3B akıl yürütme, matematiksel reasoning ve karmaşık problem çözme yeteneği

Çift mod sayesinde hız ile derin analiz arasında seçim yapılabilir

Gerçek kullanım rehberi

SmolLM3, transformers v4.53.0 ve sonrasında resmi olarak desteklenir

  • Basit kodlarla model yükleme, prompt yazma ve çıkarım yapılabilir
  • reasoning / non-reasoning, system prompt içindeki /think, /no_think bayraklarıyla değiştirilir

Araç çağrıları (Agentic) için xml_tools, python_tools parametreleri desteklenir

Sonuç

SmolLM3, 3B ölçeğinde long-context, çok dillilik ve reasoning'i bir arada sunan fully open bir modeldir.

  • Aşamaların tamamındaki eğitim tarifleri, veri kümeleri, eğitim log'ları ve mühendislik blueprint'leri tamamen açıklandı
  • Topluluğun geliştirme ve doğrulama sürecine katılımını en üst düzeye çıkarabilir

Kaynaklar

  • Model, script'ler, veri kümeleri vb.: HuggingFaceTB/SmolLM3-3B
  • Makale, değerlendirme, hafifletme ve merging araçları için ilgili GitHub, Hugging Face ve makale bağlantılarına bakılabilir

1 yorum

 
GN⁺ 2025-07-09
Hacker News görüşü
  • SOTA performansının büyük kısmını 3B boyutunda yakalamış gibi görünüyor; tamamen açık, kodu ve yeniden üretim tarifini de eksiksiz paylaşan ender model kulübüne rahatça katılmış hissi veriyor. Bunu doğrudan eğitmek için muhtemelen yaklaşık 1 milyon dolarlık GPU süresi gerekir diye düşündüm (4000 GPU/24 gün hesabıyla); paylaşılan belgelerin zenginliği de etkileyici, sektör için olumlu ve sağlam bir katkı olarak değerlendiriliyor
    • Aslında 384 adet H100'ü 24 gün çalıştırmak gerekiyor, yani maliyet 1 milyon doların yarısından bile az
    • Sabah Phi-4-mini benchmark'larıyla yaklaşık 10 dakika çapraz kontrol yaptım; benchmark'ta bu modelin eksik olması tuhaftı ve genel olarak sürekli geride kaldığı görünüyor. Referans olarak, ben bir LLM istemcisi geliştiriyorum ve yerel ile bulut arasındaki farkı en aza indirmek ana hedefim (llama.cpp kullanarak). Şu anda Microsoft dışında yerel AI'ya sürekli ciddi yaklaşan şirket neredeyse yok. Normalde bu tür şeyleri pek dile getirmem ama HF gerçekten harika bir topluluk vatandaşı olsa da, süperstarı anmadan sadece başka modellerin üstünlüğünü vurgulamak, bu alandaki eski local SoTA'yı görmezden gelmek gibi geliyor; bu yüzden bu kez çıkıp söylemenin anlamı olduğunu düşündüm
  • Bu model küçük (3B) ve benchmark'larda harika performans gösteriyor. Edge/mobil dağıtım için çok uygun olduğundan gemma3-4b'ye kıyasla avantajı büyük. Çıkarım/çıkarımsız çift mod desteği var ve tüm eğitim yaklaşımını tamamen açmışlar> SmolLM3'ü bir mühendislik blueprint'i ile birlikte yayımlıyoruz. Ayrıntılı yapı, alan bazlı performansı kademeli olarak yükselten 3 aşamalı pretraining stratejisi ve hibrit reasoning modeli kurma metodolojisi de dahil. Bu tür sonuçları elde etmek için normalde aylarca tersine mühendislik yapmak gerekir ama biz tüm metodolojiyi açıyoruz
  • llama.cpp ve diğer çıkarım motorları için chat template sorununa yönelik düzeltmeyi bizzat yaptım; çalıştırmak için şu komutu girin ./llama.cpp/llama-cli -hf unsloth/SmolLM3-3B-GGUF:Q4_K_XL --jinja -ngl 99
  • Qwen3 distill performansına neredeyse yaklaşıyor ama model boyutu onun yalnızca %75'i; bu müthiş bir iş. smollm temel modeli zaten yüksek kaliteliydi, ben de ince ayar için sürekli kullandım ve yakın gelecekte yerel ajanlar ya da kod tamamlama için de kullanmayı planlıyorum. RL algoritması da ilginç görünüyor. Şimdiye kadar daha çok OpenAI algoritmaları etrafında çalıştım ama en yeni SOTA'yı kontrol etmenin zamanı gelmiş gibi (gerçekten bu alanın hızı delice, takip etmek zor)
  • Çeşitli kurumsal veri kümelerinde fine-tuning için uygun küçük model önerisi merak ediyorum; iş birimimiz tarayıcıda ve mobilde çalışabilecek küçük modeller arıyor ve bunu RAG ile bulut kaynaklarının zahmetine girmeden çözmek istiyoruz
    • Küçük modeller bilgi biriktirme konusunda zayıf. Bilgiyi modele gömmek için fine-tuning yaklaşımını pek önermem. Onun yerine wasm ile çevrimdışı dağıtılabilir gömülü bir RAG sistemi kurmak daha iyi görünüyor; bu yaklaşımla başarılı olan örnekler de var
    • Bence farklı modelleri gerçekten deneyip düzgün benchmark oluşturmak önemli. Makine öğrenmesi uzmanlık alanım değil ama Mistral 7B'nin resmi kılavuzu ve araçlarıyla fine-tuning yaptığımda da sonuçlar beklentiyi karşılamadı. Veri setinden çok spesifik sorular ekledim ama fine-tuning varyasyonlarını ne kadar denesem de doğru yanıt veremedi. Bilgiyi öğrenmesini beklemektense vektör arama + anahtar kelime aramasının birleşimi, bağlam çıkarımı için çok daha etkili. Ön eğitim veri kümesi yaklaşımını kullandım; veriye dayalı Q&A sentezleyip bununla eğitmek daha iyi bir yaklaşım olabilir ama o yöntemi denemeye vaktim olmadı
    • Gemma 3N 2B ile fine-tuning denedim ve performansı iyiydi, ama S23U'da yükleme yavaş. Bir kez açıldı mı iyi çalışıyor. SmolVLM 256M ve 500M de kullandım; çok daha hızlı açılıyorlar ve uygulamaya varlık olarak gömülebiliyorlar, biraz tecrübeniz varsa kullanılabilirler. Yine de küçük modellerde parametre sınırı nedeniyle performans sınırlı. Ayrıca Android'de 2GB üzeri dosyalar sıkıştırma sorunları yüzünden dağıtılamıyor, bu yüzden modeli ayrı indirmek gerekiyor; bir de indirme klasöründen doğrudan yüklenemediği için uygulamaya özel klasöre kopyalamak şart. Gemma 3N 2B 3.14GB ve en az 7GB boş alan istiyor
    • Bu şekilde fine-tuning yaparak tam olarak neyi amaçladığınızı merak ediyorum
  • Bir İngiliz komedi skeç konusu gibi: "Bu, küçük diyorsunuz ama yine de büyük dil modeli mi?" "Evet, gerçekten küçük." "Ama nasıl hem büyük hem küçük olabiliyor?" "Büyük dil modelleri ölçeğine göre... küçük." "Yani büyük diyorsunuz?" "Evet, epey büyük." "Neye göre büyük?" "Küçük dil modellerine göre." "Peki ChatGPT gibi şeyler ne oluyor? Büyüklerin de büyüğü mü?" "Aynen öyle. LLLM."
    • Avustralya tarzı komedi havası var, Clarke and Dawe/Utopia stilini hatırlatıyor
    • Ölçütlerin kendisi sürekli değişiyor. GPT-2 bir zamanlar "büyük" sayılıyordu ama bugün bu model boyutunun yarısı kadar. Üstelik Sam Altman o zaman GPT-2'yi bile tehlikeli bulup yayımlayamayacaklarını söylemişti. Benim açımdan tüketici cihazında çalışmıyorsa "büyük"tür; tanım üstüne tartışmanın da çok anlamı yok
    • Minyatür dev uzay hamster'ına hiç girmeyeceğim (BG oyun esprisi)
    • big little planet mi, small big planet mı, insan karıştırıyor
  • Duyduğum kadarıyla llama3 modelleri fine-tuning açısından epey kolaymış (yanlışsam ya da burada daha iyi modeller varsa lütfen düzeltin). smollm3'ün fine-tuning zorluğu ne düzeyde, merak ediyorum; MoE LLM'ler bu konuda özellikle daha kaprisli gibi hissettiriyor
  • İlginç olan nokta, RL'i doğrudan uygulamak yerine büyük bir veri kümesindeki reasoning trace'lerle fine-tuning yapmış olmaları
    • Aslında Anchored Preference Optimization gibi çevrimdışı yöntemler kullanılıyor; Open R1 projesinde gördüğümüz gibi, küçük modellere çok görevli RL uygulamak hiç de kolay değil. Çevrimdışı yöntemlerde veri kümesi kürasyonu/üretimi asıl kritik nokta olduğu için iterasyon hızı çok daha yüksek. Çalıştığımız model ölçeğine uygun yöntem bu
  • Harika iş, anton ve katkı veren herkese saygılar. 50~100M parametre aralığındaki modellerin de devam etmesini umuyorum. Solve by LLM test senaryolarındaki gibi CPU üzerinde hızla tamamlanan modellerin de fazlasıyla anlamlı olduğunu düşünüyorum