1 poin oleh GN⁺ 2025-07-09 | 1 komentar | Bagikan ke WhatsApp
  • Model SmolLM3 adalah LLM open source berukuran 3B parameter yang mengejar efisiensi dan performa sekaligus
  • Mendukung 6 bahasa, yaitu Inggris, Prancis, Spanyol, Jerman, Italia, dan Portugis, serta dapat diperluas hingga panjang konteks maksimum 128k
  • Dengan dual mode (reasoning/non-reasoning), mode penalaran dapat diubah menggunakan flag /think, /no_think
  • Menyediakan seluruh tahap pelatihan yang beragam, termasuk pretraining, mid-training, post-training, beserta dataset terbuka dan blueprint engineering
  • Dari sisi performa, model ini melampaui Llama-3.2-3B dan Qwen2.5-3B, serta memiliki daya saing setara model 4B

Ringkasan

SmolLM3 adalah model bahasa besar open source yang mengejar efisiensi dan performa sekaligus pada skala 3B parameter. Diferensiasi utamanya adalah ukurannya yang kecil dan cepat, namun tetap mendukung long-context, multibahasa, dan penalaran.

  • Dilatih dengan 11 triliun (11T) token pada 3B parameter
  • Mencapai performa mutakhir (SoTA), mampu bersaing dengan model 4B
  • Model instruct mode ganda: mendukung perpindahan antara reasoning dan non-reasoning melalui /think dan /no_think
  • Mendukung Inggris, Prancis, Spanyol, Jerman, Italia, dan Portugis
  • NoPE, YaRN diterapkan untuk konteks hingga 128k

Seluruh proses pelatihan, termasuk arsitektur, komposisi data, dan recipe tiap tahap, dibuka sepenuhnya.

Pretraining

Arsitektur dan pengaturan pelatihan

SmolLM3 berbasis transformer decoder, dan memodifikasi arsitektur Llama untuk meningkatkan efisiensi serta performa pada konteks panjang.

  • Grouped Query Attention(GQA): lebih efisien memori dibanding multi-head attention, dengan performa setara
  • NoPE: rotary position embedding dihapus setiap lapisan ke-4 untuk meningkatkan performa konteks panjang
  • Masking dalam dokumen: menerapkan masking agar dokumen yang berbeda tidak saling attending, sehingga mendukung pelatihan long-context yang stabil
  • Weight decay di embedding dihapus: untuk memastikan perilaku pelatihan yang stabil

Konfigurasi pelatihannya:

  • Global batch 2.36M token, panjang sekuens 4096, learning rate 2e-4, AdamW(β1:0.9, β2:0.95), weight decay 0.1, gradient clipping 1
  • Scheduler WSD: 2000 warmup, penurunan linear pada 10% terakhir
  • Menggunakan framework distributed training nanotron, data datatrove, dan alat evaluasi lighteval
  • 384 GPU H100, dilatih selama 24 hari

Campuran data dan pelatihan bertahap

Pretraining 3 tahap:

  • Tahap 1 (0T→8T): web (85%, 12% multibahasa), kode (12%), matematika (3%)
  • Tahap 2 (8T→10T): web (75%, 12% multibahasa), kode (15%), matematika (10%) - menambahkan data kode dan matematika berkualitas lebih tinggi
  • Tahap 3 (10T→11.1T): web (63%, 12% multibahasa), kode (24%), matematika (13%) - upsampling kode dan matematika berkualitas tinggi, serta memasukkan data instruction/penalaran

Rasio campuran data di setiap tahap dioptimalkan melalui banyak eksperimen ablation.

Setelah pretraining, proses mid-training tambahan diterapkan untuk memperkuat performa long-context dan reasoning.

Mid-training

Pelatihan long-context

Setelah pretraining, model diberi tambahan 100B token untuk meningkatkan panjang konteks dalam 2 tahap (4k→32k→64k).

  • Ekstensi panjang melalui penyesuaian RoPE theta
  • Upsampling data matematika, kode, dan penalaran
  • Mengoptimalkan performa sekuens panjang dengan NoPE dan decay mixture
  • Saat pelatihan hingga 64k, dan dengan YaRN saat inferensi dapat memproses hingga 128k

Mid-training reasoning

Untuk meningkatkan kemampuan penalaran, model dilatih ulang menggunakan 35B token (OpenThoughts3-1.2M, Llama-Nemotron-Post-Training-Dataset, dll.).

  • Mempelajari kemampuan reasoning umum tanpa orientasi domain spesifik
  • Menggunakan template ChatML dan wrapped packing
  • Menjalankan 4 epoch (~140B token) lalu menyimpan checkpoint

Post-training

Sebagian besar model reasoning membutuhkan proses RL yang tertutup atau kompleks, tetapi SmolLM3 membangun struktur dual instruction (penalaran/non-penalaran) dengan data terbuka dan recipe yang jelas.

Template chat

  • Mode reasoning diubah dengan memasukkan flag /think, /no_think ke system prompt
  • Menyediakan seksi terpisah untuk XML Tools dan Python Tools guna mendukung kode/pemanggilan tool
  • Menggunakan pesan system, metadata(date, knowledge cut-off, reasoning mode), dan dapat dioverride secara fleksibel

Supervised Finetuning(SFT)

Setelah mid-training reasoning 140B data, dilakukan supervised finetuning dengan 1.8B token (data SFT: penalaran logis/non-penalaran).

  • Untuk melengkapi domain reasoning yang jarang, dibuat data synthetic reasoning menggunakan Qwen3-32B
  • Memaksimalkan memori/efisiensi dengan teknik seperti best-fit decreasing packing
  • Seluruh data dan skrip pelatihan akan dibuka

Anchored Preference Optimization(APO)

  • Setelah SFT, model disejajarkan menggunakan APO, varian DPO, berbasis preferensi Tulu3 (non-reasoning) dan synthetic preference pairs Qwen3-32B/0.6B (reasoning)
  • Loss disusun dengan triplet prompt + response, untuk optimisasi yang stabil dan performa yang terjaga
  • Karena dampak mid-training reasoning menurunkan performa long-context, hal ini diatasi lewat model merging

Model merging

  • Menggunakan library MergeKit, melakukan linear merge dengan rasio checkpoint APO model soup(0.9) + checkpoint mid-training(0.1)
  • Memulihkan performa long-context 128k dan mempertahankan performa keseluruhan
  • Model akhir dirilis dari checkpoint terbaik

Evaluasi

Model dasar

Pada 12 benchmark utama, model ini mengungguli model 3B lain dan menunjukkan performa yang mendekati model 4B

  • Kuat secara merata pada pemahaman dokumen, penalaran, matematika, hingga coding
  • Kemampuan ekstensibilitas panjang terlihat jelas pada RULER 64k, dll.
  • Kemampuan multibahasa terbukti melalui Global MMLU, MLMM HellaSwag, Flores-200, Belebele, dll.
  • Performa konsisten juga terlihat pada 5 bahasa Eropa selain Inggris

Model Dual Instruct / Reasoning

Evaluasi non-reasoning

SmolLM3 lebih unggul daripada Llama3.2-3B Instruct dan Qwen2.5 3B Instruct, serta seimbang dari sisi efisiensi dan performa setara model reasoning 4B

Evaluasi reasoning

Saat /think diaktifkan, performa meningkat tajam pada sebagian besar benchmark

  • AIME 2025(36.7% vs 9.3%), LiveCodeBench(30.0% vs 15.2%), GPQA Diamond(41.7% vs 35.7%), dan mampu menyelesaikan soal-soal sulit
  • Penalaran 3B yang sebanding dengan Qwen3 4B, reasoning matematis, dan kemampuan memecahkan masalah kompleks

Mode ganda memungkinkan pilihan antara kecepatan dan analisis mendalam

Panduan penggunaan nyata

SmolLM3 didukung secara resmi pada transformers v4.53.0 atau lebih baru

  • Memuat model, menulis prompt, dan menjalankan inferensi dengan kode sederhana
  • reasoning/non-reasoning diubah melalui flag /think, /no_think pada system prompt

Untuk pemanggilan tool (Agentic), didukung parameter xml_tools, python_tools

Kesimpulan

SmolLM3 adalah model fully open berskala 3B yang mendukung long-context, multibahasa, dan reasoning sekaligus.

  • Seluruh blueprint engineering seperti recipe pelatihan per tahap, dataset, dan log pelatihan dibuka sepenuhnya
  • Hal ini dapat memaksimalkan partisipasi komunitas dalam peningkatan dan verifikasi

Materi

  • Model, skrip, dataset, dll.: HuggingFaceTB/SmolLM3-3B
  • Paper, evaluasi, lightweighting, alat merging, dll. dapat dilihat melalui tautan GitHub, Hugging Face, dan paper masing-masing

1 komentar

 
GN⁺ 2025-07-09
Komentar Hacker News
  • Tampaknya model ini berhasil mencapai sebagian besar performa SOTA pada ukuran 3B, dan terasa pantas masuk ke klub langka model yang benar-benar membuka semuanya, termasuk kode dan resep reproduksi. Kalau dilatih sendiri, sepertinya butuh waktu GPU senilai sekitar satu juta dolar (berdasarkan 4000 GPU/24 hari), dan dokumentasi yang dibagikan juga sangat kaya, sehingga dinilai sebagai kontribusi yang positif dan solid bagi industri
    • Kenyataannya, cukup menjalankan 384 H100 selama 24 hari, jadi biayanya bahkan tidak sampai setengah dari satu juta dolar
    • Pagi ini saya sempat melakukan cross-check sekitar 10 menit dengan benchmark Phi-4-mini, dan anehnya model ini tidak muncul di benchmark tersebut, sementara secara umum hasilnya selalu tertinggal. Sebagai konteks, saya sedang mengembangkan klien LLM, dan tujuan utama saya adalah meminimalkan kesenjangan antara lokal dan cloud (menggunakan llama.cpp). Saat ini, selain Microsoft, hampir tidak ada perusahaan yang terus-menerus serius melihat AI lokal. Biasanya saya tidak mengangkat hal seperti ini, tetapi meskipun HF benar-benar warga ekosistem yang sangat baik, menonjolkan keunggulan model lain tanpa menyebut superstar terasa seperti mengabaikan local SoTA yang sudah lama ada di bidang ini. Karena itu, kali ini saya merasa ada arti untuk angkat bicara
  • Model ini kecil (3B), tetapi menunjukkan performa luar biasa di benchmark. Karena cocok untuk deployment edge/mobile, ini memberi keuntungan besar dibanding gemma3-4b. Mendukung mode ganda reasoning/non-reasoning, dan seluruh metode pelatihannya dibuka sepenuhnya > Merilis SmolLM3 bersama blueprint rekayasa. Termasuk arsitektur detail, strategi pretraining 3 tahap untuk secara bertahap meningkatkan performa per domain, dan metodologi membangun model reasoning hibrida. Untuk mendapatkan hasil seperti ini biasanya perlu berbulan-bulan reverse engineering, tetapi kami membuka seluruh metodologinya
  • Saya sendiri yang memperbaiki masalah chat template untuk llama.cpp dan mesin inferensi lainnya, untuk menjalankannya masukkan perintah berikut ./llama.cpp/llama-cli -hf unsloth/SmolLM3-3B-GGUF:Q4_K_XL --jinja -ngl 99
  • Performanya hampir mendekati Qwen3 distill, tetapi ukuran modelnya hanya 75% dari itu, dan ini luar biasa. Model dasar smollm sudah berkualitas tinggi, jadi saya juga terus memakainya untuk fine-tuning, dan dalam waktu dekat berencana memakainya untuk agen lokal atau pelengkapan kode. Algoritme RL-nya juga terlihat menarik. Sampai sekarang saya lebih banyak bekerja dengan algoritme ala OpenAI, tetapi sepertinya sudah waktunya memeriksa SOTA terbaru (kecepatan bidang ini benar-benar gila, susah diikuti)
  • Saya penasaran rekomendasi model kecil yang bagus untuk fine-tuning pada berbagai dataset enterprise. Divisi kami sedang mencari model kecil yang bisa dijalankan di browser dan mobile, dan ingin menyelesaikannya tanpa repot dengan RAG dan resource cloud
    • Model kecil punya kelemahan dalam akumulasi pengetahuan. Saya kurang merekomendasikan pendekatan fine-tuning untuk “menanamkan” pengetahuan. Sebagai gantinya, tampaknya lebih baik mengimplementasikan sistem RAG tertanam yang bisa dideploy offline dengan wasm, dan memang sudah ada contoh yang berhasil dengan pendekatan ini
    • Penting untuk benar-benar mencoba sendiri berbagai model dan memiliki benchmark yang layak. ML bukan bidang utama saya, tetapi bahkan ketika fine-tuning memakai panduan dan tool resmi Mistral 7B pun hasilnya tidak memenuhi harapan. Saya memasukkan pertanyaan yang sangat spesifik dari dataset, tetapi seberapa pun variasi fine-tuning dicoba, model tetap tidak bisa menjawab dengan baik. Dibanding berharap model “mempelajari” informasi, pencarian vektor + pencarian kata kunci campuran jauh lebih efektif untuk ekstraksi konteks. Saya menggunakan pendekatan dataset prapelatihan, dan mungkin pendekatan mensintesis Q&A berbasis data untuk pelatihan akan lebih baik, tetapi saya tidak punya cukup waktu untuk bereksperimen sejauh itu
    • Saya pernah fine-tuning Gemma 3N 2B dan performanya bagus, tetapi loading di S23U lambat. Setelah berhasil dijalankan, modelnya bekerja baik. Saya juga memakai SmolVLM 256M dan 500M, yang start-nya jauh lebih cepat dan bisa disertakan ke aplikasi sebagai aset, jadi cukup berguna kalau sudah punya sedikit pengalaman. Namun model kecil memang terbatas performanya karena batas parameter. Selain itu, di Android file di atas 2GB tidak bisa didistribusikan karena isu kompresi, jadi model harus diunduh terpisah, dan file juga tidak bisa langsung dimuat dari folder unduhan sehingga harus disalin ke folder khusus aplikasi. Gemma 3N 2B berukuran 3.14GB dan perlu setidaknya 7GB ruang kosong
    • Saya penasaran sebenarnya tujuan yang ingin dicapai lewat fine-tuning seperti ini apa
  • Ada bagian yang terasa seperti materi sketsa komedi Inggris: "Jadi ini katanya kecil, tapi tetap large language model?" "Ya, memang kecil." "Tapi bagaimana bisa besar sekaligus kecil?" "Kalau dilihat dari standar large language model… ini kecil." "Jadi tetap besar, ya?" "Betul, lumayan besar." "Besar dibanding apa?" "Dibanding small language model." "Kalau begitu yang seperti ChatGPT itu apa? Besar di antara yang besar?" "Tepat sekali. LLLM."
    • Nuansanya terasa seperti komedi gaya Australia, mengingatkan pada Clarke and Dawe/Utopia
    • Tolok ukurnya sendiri terus berubah. GPT-2 dulu pernah disebut "besar", tetapi sekarang hanya sekitar setengah ukuran model ini. Selain itu, Sam Altman saat itu bahkan mengatakan GPT-2 terlalu berbahaya untuk dirilis. Menurut standar saya, kalau tidak bisa dijalankan di perangkat konsumen maka itu "besar", dan berdebat soal definisi tidak terlalu berarti
    • Saya tidak akan menyentuh miniature giant space hamster (humor game BG)
    • Jadi bingung ini big little planet atau small big planet
  • Setahu saya model llama3 cukup mudah untuk fine-tuning (kalau saya salah, atau ada model yang lebih baik di sini, silakan koreksi). Saya penasaran tingkat kesulitan fine-tuning smollm3 seperti apa, karena LLM MoE terasa sangat berubah-ubah dalam hal itu
  • Yang menarik, mereka tidak menerapkan RL secara langsung sendiri, melainkan hanya melakukan fine-tuning menggunakan reasoning trace dari dataset besar
    • Sebenarnya mereka memakai metode offline seperti Anchored Preference Optimization. Seperti terlihat di proyek Open R1, menerapkan multitask RL pada model kecil bukan hal yang mudah. Metode offline jauh lebih cepat iterasinya karena kuncinya ada pada kurasi/generasi dataset. Pendekatan ini cocok untuk skala model yang kami tangani
  • Pekerjaan yang keren, salut untuk anton dan semua pihak terkait. Semoga lini model berukuran 50~100M parameter juga terus berlanjut. Menurut saya model yang bisa selesai cepat di CPU, seperti test case Solve by LLM, juga sangat bermakna