- Memperkenalkan contoh setup dan benchmark yang menjalankan model kuantisasi A3B Q40 dari Qwen3 30B MoE dengan menggabungkan empat papan Raspberry Pi kecil sebagai node inferensi terdistribusi
- Jaringan dikonfigurasi melalui switch jaringan dengan 1 ROOT + 3 WORKER (semuanya Raspberry Pi 5 8GB)
- Kecepatan generasi token diukur sebesar 14.33 tok/s pada tahap evaluasi dan 13.04 tok/s pada tahap prediksi
- Model ini berbasis arsitektur Qwen3 MoE dan terdiri dari 48 layer serta 128 expert
- Memungkinkan menjalankan model bahasa berkinerja tinggi di perangkat keras berbiaya rendah, sehingga membuka kemungkinan klaster Raspberry Pi dan riset AI yang efisien secara biaya
Gambaran proyek
- Menjalankan model Qwen3 30B A3B Q40 pada 4 Raspberry Pi 5 8GB menggunakan Distributed Llama v0.16.0
- Dirancang agar model bahasa besar dapat dijalankan di perangkat berbiaya rendah
- Jaringan dihubungkan dengan switch TP-Link LS1008G
- Tujuan utama adalah menjalankan model AI secara efisien tanpa sumber daya komputasi berkinerja tinggi
- Pekerjaan didistribusikan ke 4 perangkat (1 root, 3 worker)
- Alamat IP: root (10.0.0.2), worker (10.0.0.1, 10.0.0.3, 10.0.0.4)
Pengaturan perangkat keras dan jaringan
- Konfigurasi: klaster yang terdiri dari 4 Raspberry Pi 5 8GB
- Setiap perangkat terhubung ke switch TP-Link LS1008G
- Node root dan 3 node worker berkomunikasi melalui jaringan
- Inisialisasi jaringan: berhasil terhubung ke semua node worker (10.0.0.1:9999, 10.0.0.3:9999, 10.0.0.4:9999)
- Jaringan berjalan dalam mode non-blocking
- Transfer data: saat evaluasi mengirim 12084kB, menerima 20085kB
- Pemanfaatan CPU: pemrosesan komputasi dioptimalkan dengan dukungan Neon Dotprod FP16
Detail model
- Model: Qwen3 30B A3B Q40
- Arsitektur: Qwen3 MoE (Mixture of Experts)
- Jumlah layer: 48
- Jumlah expert: 128, expert aktif 8
- Dimensi: Dim 2048, QDim 4096, KvDim 512, HiddenDim 6144
- Tokenizer: ukuran kosakata 151669, sedikit tidak cocok dengan ukuran kosakata model 151936
- Ukuran kosakata umum: 151643
- Ukuran kosakata khusus: 26
- Kebutuhan memori: 5513MB
- Panjang sekuens maksimum: 4096
- NormEpsilon: 0.000001, RopeTheta: 10000000
Performa benchmark
- Tahap evaluasi
- Jumlah batch: 32
- Jumlah token: 19
- Kecepatan generasi token: 14.33 tok/s (69.80ms/tok)
- Tahap prediksi
- Jumlah token: 109
- Kecepatan generasi token: 13.04 tok/s (76.69ms/tok)
- Log detail prediksi:
- Setiap tahap prediksi memakan waktu sekitar 49~70ms, waktu sinkronisasi 14~94ms
- Data terkirim 636kB, data diterima 1057kB secara konsisten
- Contoh token yang dihasilkan: "Of", "course", "Poland"
- Jumlah thread: 4
- Tipe float buffer: Q80
- Panjang sekuens maksimum: 4096
Perhatian dan batasan (Notes & Caveats)
- Ada peringatan ketidakcocokan antara ukuran kosakata tokenizer dan ukuran kosakata model, sehingga verifikasi konsistensi tokenizer diperlukan
- A3B Q40 termasuk kuantisasi agresif, sehingga perlu mempertimbangkan trade-off presisi dan kualitas respons
- Konfigurasi Pi 5 8GB × 4 memiliki keterbatasan memori dan komputasi, sehingga sangat mungkin terjadi variasi bergantung pada panjang prompt, konkurensi, dan kualitas jaringan
Makna praktis
- Proyek yang menunjukkan kemungkinan menjalankan AI berbiaya rendah
- Sebagai contoh reproduksi yang menjalankan model MoE kelas 30B secara terdistribusi dengan klaster SBC berbiaya rendah, ini dapat menjadi referensi yang menurunkan hambatan untuk eksperimen inferensi ringan dan pengembangan on-premise
- Menyertakan log jaringan dan sinkronisasi per token, sehingga menyediakan data yang bermakna untuk mengukur dan menyetel overhead terdistribusi
- Kombinasi framework terdistribusi + model terkuantisasi dapat meningkatkan performa relatif terhadap TCO di lingkungan edge/riset personal
3 komentar
Mini PC seri n juga murah, tapi kalau digabungkan jadi 4 unit dengan RAM 16GB... dipikir-pikir jadinya setara dengan harga 8845 dengan RAM 32GB ya wkwk
Luar biasa. Senang rasanya karena belakangan ini makin banyak informasi tentang pengoperasian LLM beban rendah.
Luar biasa..