Bagaimana spike mengubah pemrosesan bobot
Dalam artikel «Spike-Aware INT8 Execution for Spiking Language Models on Commodity CPUs» Ting Liu menjelaskan decoding model bahasa spiking pada CPU.
- Aktivasi spike biner memungkinkan pembacaan hanya pada kolom bobot yang aktif.
- Perkalian digantikan dengan penjumlahan bobot.

Makna praktis pendekatan ini adalah tidak memproses kolom yang tidak aktif. Keuntungannya bergantung pada sparsitas aktivasi, bukan hanya format bobot.
Cara kerja jalur INT8
Implementasi C++ diuji pada model bahasa dengan gating spike berparameter 874M. Implementasi ini menggunakan mode berbeda untuk proyeksi sparse dan padat.
- Proyeksi sparse menyimpan bobot INT8 dalam format column-major.
- Akumulasi dilakukan dalam bilangan bulat, lalu skala diterapkan sekali untuk setiap kanal keluaran.
- Proyeksi padat tetap menggunakan akses row-major dan aktivasi FP32.
Ini adalah skema campuran, bukan mengubah semua operasi model menjadi INT8. Kriteria pemilihannya adalah kesediaan untuk tetap menggunakan FP32 pada proyeksi padat demi jalur INT8 sparse.
Metrik kecepatan dan penyimpanan yang dilaporkan
Checkpoint awal dibandingkan dengan satu thread. Dalam pengujian ini, INT8 menunjukkan throughput decoding yang lebih tinggi dan ukuran penyimpanan bobot yang lebih kecil.
| Checkpoint awal, satu thread | Kecepatan decoding | Penyimpanan bobot |
|---|---|---|
| FP32 | 9.82 tokens/s | 3355.2 MiB |
| INT8 | 23.31 tokens/s | 1087.4 MiB |
Hasil terpisah untuk checkpoint final dilaporkan pada AMD Ryzen 7 5800X. Kondisinya berbeda dari perbandingan checkpoint awal.
| Mode checkpoint final INT8 | Metrik |
|---|---|
| Decoding, satu thread | 22.63 tokens/s |
| Decoding, empat thread | 47.90 tokens/s |
| Prefill urutan 512 token, delapan thread | 94.68 tokens/s |
Metrik ini tidak dapat langsung disatukan dalam satu tabel perbandingan: metrik tersebut berasal dari checkpoint dan mode yang berbeda. Untuk menilai throughput, versi checkpoint dan jumlah thread sama-sama penting.
Apa yang berubah dengan varian INT4
Varian INT4 untuk proyeksi padat mengurangi ukuran penyimpanan sebesar 17.4% lagi. Namun, throughput decoding turun sebesar 46.6%.
Dalam versi artikel yang telah diperbaiki, hasil tidak valid untuk INT4 murni telah ditarik. Karena itu, kompromi yang dilaporkan berlaku untuk INT4 pada proyeksi padat, bukan model yang sepenuhnya INT4.
Kriteria pemilihannya adalah mengutamakan penyimpanan daripada kecepatan decoding. Hasil INT4 murni tidak dapat digunakan sebagai bukti performa.
Apa yang diketahui tentang konsumsi energi
Dalam studi terpisah pada output head di ARM, dua konfigurasi pemeriksaan kandidat mencatat angka konsumsi energi yang lebih tinggi pada jendela decoding yang dipersingkat.
Versi artikel yang telah diperbaiki juga menambahkan validasi numerik dan studi konsumsi energi berdasarkan wall power pada ARM. Data dari pengujian kecepatan CPU saja tidak cukup untuk menyimpulkan adanya penghematan energi.



