- Repositori MobileLLM menyediakan kode pelatihan untuk makalah ICML 2024 “MobileLLM: Optimizing Sub-billion Parameter Language Models for On-Device Use Cases”, yang membahas desain untuk meningkatkan kualitas model bahasa dengan kurang dari 1 miliar parameter
- Desain model menyusun MobileLLM dengan menggabungkan SwiGLU, struktur yang dalam dan tipis, berbagi embedding, serta grouped-query attention
- MobileLLM-125M/350M mencapai peningkatan akurasi 2,7%/4,3% dibandingkan model SoTA 125M/350M sebelumnya pada tugas penalaran akal sehat zero-shot, dan versi yang diperbarui juga menunjukkan hasil SoTA pada 600M/1B/1.5B
- Kode pelatihan memerlukan Python 3.9 dan PyTorch 2.0 atau lebih baru;
pretrain.shdimulai dengantorchrunpada node 1x8 GPU, dan jika jumlah node atau ukuran batch ditingkatkan, learning rate harus dinaikkan secara linear - Biaya pelatihan untuk 1T token, berdasarkan 32 GPU NVIDIA A100 80G, membutuhkan sekitar 3 hari untuk 125M, sekitar 6 hari untuk 350M, sekitar 8 hari untuk 600M, sekitar 12 hari untuk 1B, dan sekitar 18 hari untuk 1.5B
Tujuan dan cakupan rilis MobileLLM
- MobileLLM adalah repositori yang berisi kode pelatihan untuk mengoptimalkan model bahasa sub-miliar parameter bagi kasus penggunaan di perangkat
- Makalah dasarnya adalah MobileLLM: Optimizing Sub-billion Parameter Language Models for On-Device Use Cases, yang dipublikasikan di ICML 2024
- Tujuan utamanya adalah mempertimbangkan berbagai elemen desain secara menyeluruh untuk membuat LLM berkualitas tinggi bahkan dengan kurang dari 1 miliar parameter
Elemen desain model
- MobileLLM menggabungkan elemen desain berikut
- Fungsi aktivasi SwiGLU
- Arsitektur yang dalam dan tipis
-
Berbagi embedding
- grouped-query attention
- Pada versi yang diperbarui, filosofi desain ini disebut diperluas juga ke model yang lebih besar, dan menunjukkan hasil SoTA pada MobileLLM-600M/1B/1.5B
Rilis dan kabar model lanjutan
- Pada 30 Oktober 2024, model MobileLLM dirilis di HuggingFace
- Pada September 2025, karya lanjutan MobileLLM-R1 dirilis
- Dengan sekitar 2T token prapelatihan dan total kurang dari 5T token, hasilnya menyamai atau melampaui hasil Qwen3-0.6B dengan 36T token pada MATH, GSM8K, MMLU, dan LiveCodeBench
- Kode, model, data, dan resep pelatihan dirilis
- Koleksi HuggingFace tersedia
- Pada November 2025, MobileLLM-R1.5 dirilis
- MobileLLM-R1.5-950M melampaui DeepSeek-R1-Distill-Qwen-1.5B pada semua benchmark matematika dan coding yang dievaluasi
- Jumlah parameternya lebih sedikit, yaitu 0.95B vs 1.5B
- Pada Januari 2026, MobileLLM-R1 diterima di ICLR 2026
Eksekusi dan konfigurasi pelatihan
- Persyaratannya adalah Python 3.9, PyTorch 2.0 atau lebih baru, dan
pip install -r requirement.txt - Prapemrosesan data dilakukan dengan membagi dataset yang sudah ditokenisasi atau menokenisasi dataset sendiri, lalu mendistribusikannya sesuai jumlah total node pelatihan
- Setiap node terdiri dari 1x8 GPU
- Struktur data berbentuk file
xxx.jsonldi bawahbasepath/1,basepath/2, ...,basepath/#nodes - Setiap baris
jsonladalah pasangan key-value data tokenisasi dalam bentuk{"token_ids": [1,2,3,4,...]} - Kode pelatihan kompatibel dengan metode prapemrosesan data dari LLM360/amber-data-prep
pretrain.shadalah skrip untuk memulai pelatihan dengantorchrunpada konfigurasi node 1x8--nnodesdan pengaturan lain dapat diubah agar sesuai dengan konfigurasi multinode seperti Slurm atau TorchX- Learning rate dalam skrip didasarkan pada node 1x8 dan ukuran batch 32
- Jika jumlah node atau ukuran batch ditingkatkan, learning rate harus ditingkatkan secara linear
- Prosedur eksekusinya adalah menetapkan
--train_data_local_pathke data yang sudah dipraproses dipretrain.sh, menetapkan--input_model_filenameke./configs/{model_size}/, lalu menjalankanbash pretrain.sh - Evaluasi Wiki dijalankan dengan mengunduh model, memperbarui path checkpoint di
eval.sh, lalu menjalankanbash eval.sh
Biaya pelatihan
- Saat melatih MobileLLM dengan 1T token, waktu yang dibutuhkan berdasarkan 32 GPU NVIDIA A100 80G adalah sebagai berikut
- 125M: sekitar 3 hari
- 350M: sekitar 6 hari
- 600M: sekitar 8 hari
- 1B: sekitar 12 hari
- 1.5B: sekitar 18 hari
Hasil penalaran akal sehat zero-shot
- MobileLLM-125M mencatat rata-rata 46.3 pada arc_easy, arc_challenge, boolq, piqa, siqa, hellaswag, obqa, dan winogrande
- OPT-125M mencatat 42.6, GPT-neo-125M 42.9, dan Pythia-160M 42.5
- MobileLLM-LS-125M memiliki rata-rata 47.0
- MobileLLM-350M mencatat rata-rata 51.3
- OPT-350M mencatat 43.9 dan Pythia-410M 46.6
- MobileLLM-LS-350M memiliki rata-rata 52.1
- MobileLLM-600M mencatat rata-rata 54.3
- Qwen1.5-500M mencatat 48.8, BLOOM-560M 44.2, dan MobiLlama-800M 50.7
- MobileLLM-1B mencatat rata-rata 57.3
- Pythia-1B mencatat 48.7, MobiLlama-1B 55.2, Falcon-1B 56.3, BLOOM-1.1B 46.9, dan TinyLlama-1.1B 54.2
- MobileLLM-1.5B mencatat rata-rata 59.4
- GPT-neo-1.3B mencatat 50.6, OPT-1.3B 52.3, BLOOM-1.7B 49.6, dan Qwen1.5-1.8B 56.5
- GPT-neo-2.7B mencatat 52.8, OPT-2.7B 55.1, Pythia-2.8B 55.8, dan BLOOM-3B 52.3
Proyek terkait dan lisensi
- Kode ini sebagian berbasis repositori HuggingFace Transformers, dan repositori tersebut menggunakan Apache License
- Proyek terkait yang disebutkan adalah sebagai berikut
- Sebagai langkah berikutnya, MobileLLM-R1 dan model MobileLLM-R1.5 disebutkan
- MobileLLM saat ini menggunakan lisensi FAIR NC
1 komentar
Komentar Hacker News
Model kecil memang sedikit membaik, tetapi sepertinya masih belum cukup untuk dipakai pada tujuan yang sama seperti model online. Meski begitu, kemajuan bertahap itu sendiri tetap bagus
Model 1,5 miliar parameter terlihat seperti lompatan yang cukup besar, dan model yang lebih besar juga unggul dengan selisih besar. Saya tidak tahu kenapa mereka tidak membuatnya lebih besar. Model yang lebih efisien dan muat di perangkat keras setingkat Raspberry Pi bisa mengubah permainan. Kalau tidak salah, TinyLlama 7B juga nyaris hanya sekadar bisa dijalankan
Untuk penggunaan seperti ini, membandingkan model kecil dengan model cloud tidak terlalu adil. Sedikit kenaikan akurasi pada model kecil pun sudah berarti dan bisa langsung berdampak ke pendapatan
Walaupun model 7B “berjalan baik” di Raspberry Pi, menurut saya pribadi model 7B masih agak besar untuk diunduh dan dijalankan lewat antarmuka berbasis web. Sebaliknya, model 125M yang lumayan bisa dijalankan di halaman web, dan waktu unduh serta biaya bandwidth ke browser lokal juga tidak berlebihan
Apakah benar harus ada di perangkat mobile? Memang penggunaan yang niche, tetapi kalau tidak terlalu boros sumber daya, sepertinya bisa dipakai untuk membuat dialog NPC di game jadi lebih menarik
Lebih bagus lagi kalau bisa disetel entah bagaimana agar percakapan memengaruhi perilaku atau aksi NPC
Saya bisa membayangkan LLM dilatih dengan data game agar NPC dapat menjelaskan dunia game yang benar-benar ada. Tetapi saya tidak tahu perlu skala sebesar apa agar itu menjadi lebih murah daripada sekadar menyuruh manusia menulis dialog. Mungkin di skala Ubisoft itu memungkinkan. Setahu saya, Ubisoft juga pernah meneliti penulisan dengan AI, tetapi terutama untuk penggunaan yang sangat repetitif dan nyaris seperti noise, misalnya teriakan saat pertempuran
Saat ini aplikasi apa yang bisa menjalankan model seperti ini di iPhone? Yang saya tahu hanya MLC, tetapi di sana cuma ada tiga model lama
https://llm.mlc.ai/docs/deploy/android.html
Saya penasaran sejauh mana pendekatan lebih dalam dan lebih tipis bisa didorong. Pada titik tertentu, jika seluruh FFN muat di cache L2, rasanya akan ada titik performa yang melonjak cukup besar
Kalau begitu, seharusnya ada batas pada jaringan kecil tempat pendekatan ini berhenti efektif. Kalau tidak, hasilnya saling bertentangan. Atau mungkin ini berarti model-model baru ini masih bisa ditingkatkan jauh lebih banyak
Mungkin ada yang saya lewatkan, tetapi bukankah sesuatu seperti distilasi pengetahuan bisa membantu di sini?
Deep link HTML ke bagian terkait: https://ar5iv.labs.arxiv.org/html/2402.14905#S3.SS5
“Sampai saat ini, kami melatih model kecil dari nol dengan menggunakan token berikutnya sebagai hard label. Kami juga mengeksplorasi distilasi pengetahuan (KD)... Sayangnya, KD meningkatkan waktu pelatihan (2,6~3,2x lebih lambat), dan menunjukkan akurasi yang mirip atau lebih rendah dibanding pelatihan berbasis label (lihat lampiran untuk detail).”
Saat ini saya benar-benar membutuhkan pengenalan suara on-device mirip wake-word. Model apa yang memiliki WER terendah sambil tetap bisa berjalan di Raspberry Pi 4B? Saya sedang melihat openWakeWord untuk sistem inventaris DIY
Untuk model kecil, tampaknya berbagi embedding/pengikatan bobot antara linear head dan token embedding paling besar mengurangi ukuran. Saya penasaran apakah ada riset yang berjalan untuk menguranginya lebih jauh dari situ
Sayangnya, yang saya temukan soal ini hanya sebatas bahwa model besar mendapat keuntungan dari lapisan terpisah. Namun saya melihatnya dari komentar di suatu Discord, jadi tidak ada makalah yang bisa dibaca, dan secara naluri pribadi saya rasa ini seharusnya juga bekerja pada model besar. Pada akhirnya GPT-3 juga hanyalah GPT-2 yang diperbesar
Dalam eksperimen pribadi saya, ketika model diberi tugas yang lebih sulit, hasil belajarnya justru lebih baik. Bobot yang diikat bisa jadi salah satunya, prediksi multi-token juga bisa begitu, dan bitnet juga bisa dilihat seperti itu. Dropout juga sama
Bagaimana kalau bukan AI generatif di desktop, melainkan AI desktop saja. Akan bagus jika ia bisa mengatur semua file, email, dan catatan saya lalu mencari informasi dari data saya
Bagus. Apakah ini juga bisa dipakai untuk melatih model untuk Windows PC? RAM saya tidak banyak
Meski begitu, tujuan akhirnya kemungkinan besar adalah mengunduh model seperti ini, atau membayar biaya fine-tuning lalu mendapatkannya, kemudian menggunakannya lewat chip jaringan saraf yang dioptimalkan
Sekarang ini lebih mirip soal kapan hal itu akan terjadi. Sertifikasi Windows terbaru pun sudah mensyaratkan semacam chip jaringan saraf, dan Google Pixel 8 Pro saya juga bisa meng-host model kecil. Pixel memang bukan ponsel murah, tetapi prosesor pendamping akan jauh lebih murah daripada GPU besar
Menarik, tapi saya penasaran apa kegunaannya selain autocompletion yang lebih baik
Saya suka pendekatan yang tampaknya sedang ditempuh Apple. Tugas sehari-hari ditangani oleh model kecil yang sudah di-fine-tune, dan hal yang tidak bisa ditangani dengan yakin diteruskan ke model besar di luar perangkat. Rasanya kita bisa membuat set pelatihan yang mencakup contoh ketika jawaban berkepercayaan rendah harus diberikan, lalu menambahkan output yang pada dasarnya berarti “minta bantuan” dan melatih model untuk memilih opsi itu. Kalau modelnya kecil, beberapa bisa dijalankan secara paralel, dan model lain bisa merutekan permintaan ke ahli yang tepat
Pada dasarnya semua tugas yang memerlukan tindakan, bukan pengetahuan. Jika saya berkata “beri tahu istri saya bahwa saya terlambat”, ia akan menanganinya dengan berbicara ke suatu layanan melalui cara ajaib yang sudah disiapkan
Siri cukup baik untuk otomatisasi rumah tanpa internet, tetapi Google Assistant lama dan Alexa sama sekali tidak begitu, dan rasanya tidak pernah bisa secara offline. Ini memungkinkan asisten yang benar-benar bekerja dengan pendekatan local-first
Ia bisa meneruskan permintaan pengguna ke aplikasi terkait dalam bentuk bahasa alami, lalu mengoordinasikan aplikasi-aplikasi tersebut. Permintaan yang melampaui kemampuan perangkat bisa dikirim ke model cloud. Ini kuat karena bisa mengubah cara kita berinteraksi dengan perangkat
Asisten AI yang saya inginkan harus 1) memahami bahasa Inggris dan bahasa ibu saya, 2) tahu bahwa ia berjalan di Android atau KDE/Linux dan memahami perintah seperti “buka bagian aplikasi di pengaturan Android”, “bacakan halaman yang terbuka di browser”, “bacakan teks dari popup yang sedang terbuka sekarang”, serta terintegrasi dengan sistem operasi lewat API publik. Perusahaan AI besar bisa bersaing dengan menjual asisten yang lebih baik, terutama bagi pengguna multibahasa
3) modelnya harus kecil, dan tidak perlu tahu pengetahuan seperti geografi, sejarah, atau band musik. Untuk tugas yang ditanyakan pengguna, cukup ada opsi untuk meneruskannya ke mesin pencari atau LLM online