Apa itu speculative decoding pada LLM?
Speculative decoding adalah cara mempercepat pembuatan teks: model kecil yang cepat membuat draft beberapa token ke depan, lalu model besar memeriksa semuanya dalam satu forward pass. Model besar menyimpan setiap token draft yang cocok dengan hasil yang akan ia keluarkan sendiri, mengganti token pertama yang tidak cocok, lalu siklus berulang. Dengan acceptance rule yang tepat, output mengikuti distribusi model besar secara persis, sehingga kecepatan naik tanpa perubahan kualitas.
Membuat satu token dalam satu waktu dibatasi memory bandwidth, bukan aritmetika: tiap langkah mengalirkan semua weight model dari memori GPU untuk menghasilkan satu token. Speculative decoding memakai komputasi yang menganggur untuk memeriksa beberapa tebakan per satu kali baca weight. Cara ini menurunkan latency per token untuk asisten chat, alat coding, dan semua situasi satu pengguna, dan sudah tertanam di sistem serving seperti vLLM, TensorRT-LLM, dan llama.cpp. Manfaatnya mengecil pada batch size besar, saat GPU sudah sibuk.
Ide utama
- Decoding satu token per pass bersifat memory-bound, jadi unit komputasi GPU lebih banyak menganggur.
- Drafter murah mengusulkan γ token, dan model target memeriksa semuanya dalam satu pass paralel.
- Tiap putaran menyimpan awalan terpanjang yang diterima ditambah satu token dari target, jadi selalu ada kemajuan.
- Dengan acceptance rate α, satu putaran menghasilkan rata-rata (1 − α^(γ+1)) / (1 − α) token.
- Aturan terima dengan min(1, p/q) dan residual resampling menjaga distribusi output tetap identik dengan target.
- Speedup paling besar pada satu request dan mengecil ketika batch size membuat decode menjadi compute-bound.
Pertanyaan umum
Apakah speculative decoding mengurangi total komputasi?
Tidak. Biasanya total kerja floating-point justru naik, karena model draft menjalankan pass tambahan dan target menilai draft yang akhirnya ditolak. Yang berkurang adalah jumlah target pass berurutan, jadi komputasi cadangan ditukar dengan latency lebih rendah. Di server sibuk tanpa komputasi cadangan, pertukaran ini tidak lagi menguntungkan.
Apakah speculative decoding bisa dipakai dengan temperature dan top-p sampling?
Bisa. Acceptance rule berlaku untuk pasangan distribusi apa pun, jadi temperature, top-k, atau top-p diterapkan pada p milik target dan q milik draft sebelum pemeriksaan. Greedy decoding adalah kasus khusus ketika kedua distribusi menaruh seluruh probabilitas pada satu token. Acceptance rate cenderung turun pada temperature tinggi, karena token hasil sampling lebih sulit diprediksi.
Bagaimana cara memilih model draft?
Pilih model yang jauh lebih murah dari target, sering kali 10 sampai 20 kali lebih kecil. Model dari keluarga yang sama dan dilatih pada data serupa lebih sering sepakat dengan target, sehingga acceptance rate naik. Sebagian tim juga melakukan distillation dari target ke model draft untuk menaikkannya lebih jauh.
Apa bedanya speculative decoding dan speculative sampling?
Keduanya nama untuk ide yang sama, dipublikasikan terpisah pada waktu yang berdekatan. Leviathan dkk. (2022) menyebutnya speculative decoding dan Chen dkk. (2023) menyebutnya speculative sampling. Keduanya meminjam istilah dari speculative execution di CPU, ketika prosesor berjalan lebih dulu berdasarkan tebakan dan membuang hasilnya kalau tebakan itu salah.
Penjelasan terkait
- Sampling: Temperature, Top-k, dan Top-p · Cara model bahasa memilih token berikutnya
- KV Cache · Kenapa LLM menyimpan key dan value di cache, dan berapa biayanya
- Decoder-Only Transformer · Arsitektur di balik GPT dan LLM modern
- Quantization · Mengecilkan weight model menjadi 8 dan 4 bit
- Mixture of Experts · Mengirim tiap token ke beberapa expert dalam model yang jauh lebih besar
- Language Modeling · Memprediksi token berikutnya, tujuan yang menggerakkan GPT, BERT, dan NLP modern
Referensi
- Leviathan, Kalman & Matias (2022), "Fast Inference from Transformers via Speculative Decoding"
- Chen et al. (2023), "Accelerating Large Language Model Decoding with Speculative Sampling"
- Cai et al. (2024), "Medusa: Simple LLM Inference Acceleration Framework with Multiple Decoding Heads"
- Li et al. (2024), "EAGLE: Speculative Sampling Requires Rethinking Feature Uncertainty"
Terakhir diperbarui