Generasi autoregresif biasanya maju satu token yang diterima pada satu waktu. Setiap token baru memperpanjang prefix, sehingga evaluasi target model berikutnya bergantung pada token yang dipilih pada posisi sebelumnya. Speculative decoding mengubah jadwal eksekusi: proses draft yang lebih murah mengusulkan beberapa token ke depan, lalu target model mengevaluasi posisi tersebut bersama-sama dan menentukan seberapa panjang proposal yang dapat dipertahankan.

Susunan ini dapat mengurangi jumlah pemanggilan target model yang bersifat serial untuk setiap token output. Verifikasi tetap memiliki biaya, dan blok draft yang lebih panjang tidak otomatis lebih baik. Titik operasi yang berguna bergantung pada kecepatan pembuatan proposal, seberapa sering proposal lolos verifikasi target, dan biaya yang ditanggung serving stack untuk pekerjaan yang akhirnya ditolak.

Token draft adalah proposal, bukan output yang sudah pasti

Anggap prefix x dan draft model mengusulkan blok berikut:

d1, d2, d3, d4

Target model mengevaluasi distribusi kondisional untuk posisi terkait. Verifikasi kemudian memproses token proposal sesuai urutan. Setelah sebuah proposal ditolak, token draft setelahnya berasal dari prefix yang bukan lagi jalur yang diterima, sehingga token tersebut tidak dapat langsung dianggap sebagai output final.

Ketergantungan pada prefix ini menjadi batas implementasi utama. Draft empat token tidak menjamin empat token diterima. Jika tiga token pertama lolos dan token keempat gagal, siklus maju dengan prefix yang diterima ditambah token yang dipilih algoritma pada batas penolakan. Jika penolakan terjadi lebih awal, lebih banyak pekerjaan draft menjadi tidak terpakai.

Aturan penerimaan dan penggantian persis bergantung pada algoritma speculative yang digunakan. Pada skema sampling yang dirancang untuk mempertahankan distribusi target, penolakan memerlukan aturan koreksi, bukan resampling sembarang dari distribusi target yang belum dikoreksi. Varian greedy memiliki semantik berbeda. Karena itu, fitur serving dengan label speculative decoding tidak dapat dianggap identik hanya dari namanya.

Penerimaan mengubah verifikasi paralel menjadi kemajuan output

Satu pass verifikasi target dapat memberi skor pada beberapa posisi proposal dalam satu pemanggilan model karena candidate prefix sudah tersedia untuk pass tersebut. Namun, kemajuan yang benar-benar berguna ditentukan oleh panjang prefix yang diterima.

Misalkan blok draft berisi K token. Jika seluruh K proposal lolos, satu siklus verifikasi dapat mengesahkan beberapa posisi sebelum langkah target serial berikutnya diperlukan. Jika penolakan sering terjadi di bagian depan blok, lebar verifikasi yang sama menghasilkan kemajuan jauh lebih sedikit.

Di sini ada perbedaan antara verification width dan throughput token yang diterima. Menaikkan K memperbesar jumlah candidate work yang tersedia untuk diverifikasi, tetapi juga menambah posisi tempat draft dan target dapat menyimpang. Proposal yang lebih akhir hanya berguna jika semua proposal sebelumnya yang diperlukan untuk mencapainya telah lolos.

Persentase penerimaan agregat juga dapat menyembunyikan efek posisi. Sistem yang sering menolak proposal pertama berperilaku berbeda dari sistem yang biasanya menerima prefix panjang lalu menolak mendekati akhir, meskipun statistik penerimaan kasarnya tampak serupa. Untuk analisis serving, panjang prefix yang diterima per siklus lebih dekat dengan mekanisme eksekusi yang sedang dioptimalkan.

Draft yang lebih akurat belum tentu cocok untuk serving

Kualitas proposal hanya satu sisi dari perhitungan biaya. Jalur draft harus cukup murah untuk membenarkan pekerjaan target yang dapat dihindari.

Draft model yang lebih besar dapat menghasilkan proposal yang lebih sering sesuai dengan target, tetapi membutuhkan waktu lebih lama untuk membuat setiap proposal. Draft yang lebih kecil dapat jauh lebih murah namun lebih cepat menyimpang. Tidak satu pun dari dua sifat itu secara terpisah menentukan latensi end-to-end.

Perbandingan yang relevan setidaknya mencakup biaya pembuatan blok draft, verifikasi target, pemrosesan penerimaan, pembaruan cache, serta pekerjaan pemulihan setelah penolakan. Penjadwalan runtime juga berpengaruh saat request di-batch: eksekusi draft tambahan dapat berebut kapasitas accelerator dengan pekerjaan target model.

Karena itu, acceptance rate tidak tepat diperlakukan sebagai metrik speedup langsung. Nilai tersebut menggambarkan kelangsungan proposal pada workload dan konfigurasi decoding tertentu. Latensi dan throughput tetap merupakan pengukuran sistem yang dipengaruhi ukuran model, panjang sequence, batching, kernel, traffic memori, dan kebijakan scheduler.

Blok draft panjang menambah peluang sekaligus pekerjaan terbuang

Panjang draft menentukan seberapa jauh jalur speculative berjalan sebelum verifikasi target. Blok pendek membatasi kemajuan maksimum per siklus, tetapi juga membatasi pekerjaan proposal yang dapat terbuang setelah mismatch awal. Blok panjang memberi peluang lebih besar untuk mengamortisasi satu pemanggilan target ketika tingkat kesesuaian tetap tinggi.

Biayanya menjadi tidak simetris setelah penolakan. Jika proposal d2 gagal pada blok delapan token, token d3 sampai d8 dihitung dari continuation speculative yang tidak lagi valid untuk sequence yang diterima. Komputasi tersebut mungkin tidak membantu kemajuan output maupun prefix yang akan dipakai berikutnya.

Implementasi adaptif dapat mengubah panjang draft berdasarkan sinyal runtime, tetapi kebijakan itu sendiri menjadi bagian dari perilaku serving. Nilai K tetap, stop rule berbasis confidence, dan controller berbasis riwayat dapat menghasilkan bentuk verifikasi berbeda pada prompt dan model yang sama. Perbandingan perlu menyatakan kebijakan yang menghasilkan pengukuran.

Setting sampling dapat mengubah perilaku penerimaan

Kesesuaian draft dan target bergantung pada proses decoding, bukan hanya pasangan model. Temperature, truncation filter, token constraint, dan logit processing khusus aplikasi dapat mengubah distribusi yang digunakan selama proposal dan verifikasi.

Pada speculative sampling yang mempertahankan distribusi, probabilitas draft dan target terlibat langsung dalam penerimaan dan koreksi. Perubahan setting decoding karena itu dapat mengubah frekuensi penolakan meskipun bobot model tetap sama. Benchmark dengan greedy decoding tidak membuktikan perilaku penerimaan yang sama pada stochastic sampling.

Kompatibilitas tokenizer juga menjadi batas keras untuk banyak desain berbasis token. Verifikasi bekerja pada identitas token proposal di posisi tertentu. Jika jalur draft dan target tidak berbagi representasi token yang dibutuhkan, implementasi memerlukan mapping eksplisit atau metode speculative yang berbeda; token ID tidak dapat diasumsikan bersesuaian hanya karena teks hasil decoding tampak mirip.

Penanganan KV cache harus mengikuti prefix yang diterima

Eksekusi draft dan target umumnya memakai KV cache agar prefix penuh tidak dihitung ulang. Speculation membuat cache state untuk posisi yang kemudian mungkin ditolak.

Setelah verifikasi, cache state harus sesuai dengan sequence yang benar-benar bertahan. Mempertahankan KV entry untuk token continuation yang ditolak akan membuat attention berikutnya beroperasi pada prefix yang berbeda dari output yang sudah disahkan. Implementasi dapat menghindari, memangkas, menimpa, atau menempatkan speculative cache entry pada staging dengan cara berbeda, tetapi batas logisnya sama: state decoding berikutnya harus cocok dengan riwayat token yang diterima.

Hal ini juga memengaruhi perencanaan memori. Serving runtime mungkin memerlukan kapasitas sementara untuk posisi speculative di luar sequence yang sudah disahkan. Besarnya bergantung pada panjang blok, bentuk batch, layout cache, dan strategi implementasi. Karena itu, speculative decoding tidak tepat dimodelkan sebagai optimisasi compute murni tanpa biaya pengelolaan state.

Evaluasi membutuhkan sinyal pada tingkat siklus

Telemetry yang berguna menghubungkan pekerjaan proposal dengan kemajuan yang diterima. Jumlah token draft, panjang prefix yang diterima, posisi penolakan, waktu verifikasi, waktu draft, dan token output per siklus menunjukkan bagian mekanisme yang berbeda. Latensi request end-to-end dan throughput tetap diperlukan karena perbaikan lokal dapat tertutup oleh biaya di bagian serving lain.

Metrik juga perlu dipisahkan menurut kondisi yang secara material mengubah kesesuaian, seperti pasangan model, konfigurasi decoding, karakteristik prompt atau sequence, dan kebijakan panjang draft. Satu angka penerimaan global dapat menyembunyikan kasus yang mendominasi biaya.

Batas praktisnya sederhana: speculative decoding menukar komputasi candidate tambahan dengan lebih sedikit langkah target model yang serial. Nilainya muncul ketika kemajuan output yang diterima cukup besar untuk membayar biaya proposal, verifikasi, dan pengelolaan state. Draft model berguna bukan sekadar ketika menghasilkan teks yang masuk akal, tetapi ketika proposalnya cukup sering lolos algoritma target dengan biaya eksekusi yang cukup rendah untuk workload serving terkait.