Speculative Decoding: Mencapai Percepatan Inferensi LLM 2-3x

Speculative decoding berkembang dari riset menjadi standar produksi. NVIDIA mendemonstrasikan peningkatan throughput 3,6x pada GPU H200. vLLM dan TensorRT-LLM menyertakan dukungan native. Draft model mengusulkan 5-8 token yang diverifikasi secara paralel—memanfaatkan kapasitas GPU yang kurang terpakai oleh generasi single-token. Kualitas output tidak berubah; latensi berkurang 2-3x.

Speculative Decoding: Mencapai Percepatan Inferensi LLM 2-3x

Speculative Decoding: Mencapai Percepatan Inferensi LLM 2-3x

Diperbarui 11 Desember 2025

Pembaruan Desember 2025: Speculative decoding berkembang dari riset menjadi standar produksi. NVIDIA mendemonstrasikan peningkatan throughput 3,6x pada GPU H200. vLLM dan TensorRT-LLM menyertakan dukungan native. Draft model mengusulkan 5-8 token yang diverifikasi secara paralel—memanfaatkan kapasitas GPU yang kurang terpakai oleh generasi single-token. Kualitas output tidak berubah; latensi berkurang 2-3x.

Large language model menghasilkan teks satu token per satu waktu, dan setiap token memerlukan forward pass penuh melalui miliaran parameter. Bottleneck sekuensial ini menciptakan latensi yang membuat frustrasi pengguna yang menunggu respons, bahkan ketika GPU sebagian menganggur selama komputasi. Speculative decoding memecahkan bottleneck ini dengan menggunakan draft model yang kecil dan cepat untuk mengusulkan beberapa token yang diverifikasi target model secara paralel, mencapai percepatan 2-3x tanpa mengubah kualitas output.¹

Teknik ini telah matang dari keingintahuan riset menjadi standar produksi pada 2025. Baik vLLM maupun TensorRT-LLM menyertakan dukungan speculative decoding native, dengan NVIDIA mendemonstrasikan peningkatan throughput 3,6x pada GPU H200.² Memahami kapan speculative decoding membantu, cara memilih draft model, dan framework mana yang menawarkan implementasi terbaik memungkinkan organisasi mengurangi biaya dan latensi inferensi secara dramatis.

Cara kerja speculative decoding

Generasi autoregresif tradisional menghasilkan token secara sekuensial:

  1. Model menerima prompt, menghasilkan logits untuk token berikutnya
  2. Sampel token dari distribusi
  3. Tambahkan token ke konteks, ulangi forward pass
  4. Lanjutkan hingga selesai

Setiap langkah memerlukan komputasi model penuh, tetapi GPU memiliki kapasitas jauh lebih besar daripada yang digunakan oleh generasi single-token. Speculative decoding memanfaatkan kapasitas yang tidak terpakai:

Fase draft: Model kecil dan cepat menghasilkan K token spekulatif dengan cepat. Draft model mungkin menghasilkan 5-8 kandidat kelanjutan dalam waktu yang diperlukan target model untuk satu token.

Fase verifikasi: Target model memproses semua K token dalam satu forward pass paralel, menghitung probabilitas untuk setiap posisi secara bersamaan. Paralelisme GPU memungkinkan verifikasi K token dengan biaya serupa untuk menghasilkan satu.

Terima/tolak: Bandingkan distribusi draft dan target di setiap posisi. Terima token di mana distribusi selaras; tolak dan resampel di mana mereka berbeda. Algoritma menjamin output cocok persis dengan apa yang akan dihasilkan target model secara independen.³

Percepatan berasal dari menerima beberapa token per forward pass target model. Jika tingkat penerimaan draft model rata-rata 60% dan mengusulkan 8 token, setiap pass verifikasi menghasilkan sekitar 5 token versus 1 tanpa spekulasi.

Benchmark kinerja

Deployment produksi mendemonstrasikan percepatan substansial di seluruh keluarga model:

Model Llama di vLLM:⁴ - Llama 3.1-70B dengan draft 1B: percepatan 2,31x - Llama 3.1-8B pada single A100: pengurangan latensi 1,8x - Llama 3.1-70B pada tingkat request rendah: pengurangan latensi 1,6x

TensorRT-LLM di H200:⁵ - Llama 3.1-405B dengan berbagai draft model: >3x throughput - Dikombinasikan dengan kuantisasi FP8: peningkatan total 3,6x

SGLang dengan SpecForge:⁶ - Llama 4 Maverick: percepatan 2,18x pada MT-Bench - Llama 4 Scout: akselerasi 2,0x

Metode EAGLE (performa terbaik):⁷ - Sekitar 0,8 akurasi draft (80% penerimaan) - Percepatan tipikal 2,5-2,8x - State-of-the-art pada leaderboard Spec-Bench

Percepatan bervariasi secara signifikan berdasarkan karakteristik workload. Kasus penggunaan sinkron dan sensitif latensi melihat keuntungan terbesar. Pemrosesan batch throughput tinggi kurang diuntungkan karena komputasi GPU menjadi bottleneck daripada generasi sekuensial.

Implementasi framework

Speculative decoding vLLM

vLLM mendukung beberapa metode speculative decoding termasuk draft model, ngram matching, dan EAGLE:

# Aktifkan spekulasi draft model
vllm serve meta-llama/Llama-3.1-70B-Instruct \
    --speculative-model meta-llama/Llama-3.2-1B-Instruct \
    --num-speculative-tokens 5 \
    --speculative-draft-tensor-parallel-size 1

Integrasi EAGLE (direkomendasikan):

# EAGLE mencapai tingkat penerimaan lebih tinggi
vllm serve meta-llama/Llama-3.1-70B-Instruct \
    --speculative-model yuhuili/EAGLE-LLaMA3.1-Instruct-70B \
    --speculative-method eagle \
    --num-speculative-tokens 8

Integrasi Eagle 3 vLLM memberikan percepatan hingga 2,5x di berbagai skenario.⁸ Framework secara otomatis menangani verifikasi token dan rejection sampling, mempertahankan kesetaraan output dengan generasi non-spekulatif.

Speculative decoding TensorRT-LLM

TensorRT-LLM menawarkan optimisasi lebih dalam untuk hardware NVIDIA:

# Build engine dengan speculative decoding
trtllm-build \
    --speculative_decoding_mode draft_tokens_external \
    --max_draft_len 8 \
    --checkpoint_dir $TARGET_CHECKPOINT \
    --output_dir $ENGINE_DIR

Untuk konfigurasi draft model:

# Draft model dengan engine terpisah
trtllm-build \
    --checkpoint_dir $DRAFT_CHECKPOINT \
    --output_dir $DRAFT_ENGINE \
    --max_batch_size 256

Kernel kustom TensorRT-LLM mengoptimalkan fase generasi draft dan verifikasi, mengekstrak kinerja maksimum dari Tensor Cores dan bandwidth memori.

Integrasi Triton Inference Server

NVIDIA Triton Inference Server mendukung speculative decoding melalui backend vLLM:⁹

model_repository/
└── speculative_llm/
    ├── config.pbtxt
    └── 1/
        └── model.py

Integrasi Triton memungkinkan deployment skala produksi dengan request batching, pengumpulan metrik, dan scaling native Kubernetes sambil mempertahankan manfaat speculative decoding.

Pemilihan draft model

Kualitas draft model menentukan efektivitas speculative decoding. Draft model yang buruk membuang komputasi pada proposal yang ditolak target model.

Kriteria pemilihan

Keselarasan arsitektur: Draft model dari keluarga yang sama dengan target mencapai penerimaan lebih tinggi. Llama 3.2-1B yang melakukan draft untuk Llama 3.1-70B mengungguli model kecil generik karena data pelatihan dan tokenisasi selaras.¹⁰

Rasio ukuran: Draft model biasanya berkisar dari 1/10 hingga 1/50 ukuran target. Draft lebih kecil menghasilkan lebih cepat tetapi mungkin memiliki penerimaan lebih rendah. Uji beberapa ukuran untuk menemukan rasio optimal untuk workload Anda.

Ambang tingkat penerimaan: Targetkan tingkat penerimaan 60%+. Di bawah 50%, overhead verifikasi dapat meniadakan manfaat spekulasi. Gunakan profiling untuk mengukur penerimaan aktual untuk prompt spesifik Anda.

Fine-tuning draft model

Draft model out-of-box sering berkinerja kurang baik pada tugas spesifik domain. Fine-tuning secara dramatis meningkatkan penerimaan:¹¹

# Fine-tune draft model pada distribusi target
from transformers import Trainer, TrainingArguments

# Hasilkan data pelatihan dengan sampling dari target model
# Fine-tune draft untuk mencocokkan distribusi output target

training_args = TrainingArguments(
    output_dir="./draft_finetuned",
    per_device_train_batch_size=8,
    num_train_epochs=3,
    learning_rate=2e-5,
)

trainer = Trainer(
    model=draft_model,
    args=training_args,
    train_dataset=target_samples,
)
trainer.train()

Organisasi melaporkan peningkatan tingkat penerimaan 20-40% dari fine-tuning draft spesifik domain. Investasi ini memberikan hasil untuk workload inferensi volume tinggi.

SpecForge untuk SGLang

SpecForge menyediakan ekosistem yang dibangun khusus untuk melatih draft model:¹²

  • Integrasi native SGLang
  • Resep pelatihan teroptimasi untuk varian Llama 4
  • Speculator pra-latih untuk model umum

Proyek Speculators Red Hat menstandarkan speculative decoding dengan format Hugging Face terpadu dan integrasi vLLM, menyederhanakan penemuan dan deployment draft model.¹³

Teknik lanjutan

Self-speculative decoding (SWIFT)

SWIFT menghilangkan draft model terpisah dengan secara adaptif melewati layer intermediate dari target LLM:¹⁴

  • Tidak memerlukan model tambahan
  • Tidak memerlukan pelatihan tambahan
  • Percepatan 1,3x-1,6x sambil mempertahankan distribusi output

Teknik ini bekerja dengan memprediksi layer mana yang dapat dilewati berdasarkan kepercayaan token. Kelanjutan sederhana melewati lebih banyak layer; penalaran kompleks menggunakan kedalaman model penuh.

# Konfigurasi SWIFT konseptual
config = SwiftConfig(
    skip_threshold=0.8,  # Lewati layer saat confidence > 0.8
    min_layers=16,       # Selalu gunakan minimal 16 layer
    adaptive=True        # Sesuaikan secara dinamis per token
)

SWIFT cocok untuk skenario di mana memelihara draft model terpisah menambah kompleksitas yang tidak diinginkan.

Spekulasi ngram

Untuk output terstruktur atau pola yang dapat diprediksi, ngram matching menyediakan spekulasi tanpa neural network:

# Spekulasi ngram vLLM
vllm serve meta-llama/Llama-3.1-70B-Instruct \
    --speculative-model "[ngram]" \
    --ngram-prompt-lookup-max 4 \
    --num-speculative-tokens 4

Spekulasi ngram mengidentifikasi pola berulang dalam prompt atau riwayat generasi, mengusulkan token berdasarkan urutan yang diamati. Pendekatan ini bekerja dengan baik untuk generasi kode, data terstruktur, dan konten repetitif.

Medusa heads

Medusa menambahkan head prediksi tambahan ke target model, menghasilkan beberapa kandidat token secara paralel:

# Medusa memerlukan modifikasi model
model = load_medusa_model("path/to/medusa_llama_70b")
# Head tambahan memprediksi token di posisi +1, +2, +3, ...

Medusa menghilangkan draft model sepenuhnya tetapi memerlukan modifikasi model dan retraining. Organisasi dengan deployment model kustom mungkin menganggap Medusa bermanfaat meskipun kompleksitas integrasi lebih tinggi.

Kapan speculative decoding membantu

Speculative decoding memberikan hasil terbaik dalam kondisi spesifik:

Skenario menguntungkan: - Aplikasi chat interaktif yang memprioritaskan latensi - Inferensi single-user di mana underutilisasi GPU tinggi - Generasi bentuk panjang (cerita, dokumen, kode) - Workload dengan pola token yang dapat diprediksi

Skenario kurang menguntungkan: - Pemrosesan batch throughput tinggi yang sudah menyaturasi GPU - Respons sangat pendek (sedikit token untuk dispekulasi) - Generasi sangat kreatif/random dengan tingkat penerimaan rendah - Deployment dengan keterbatasan memori di mana draft model tidak muat

Kerangka keputusan:

IF (utilisasi GPU < 50% selama generasi)
    AND (panjang respons rata-rata > 100 token)
    AND (draft model muat di memori)
     Aktifkan speculative decoding

IF (utilisasi GPU > 80%)
    OR (tekanan memori tinggi)
     Fokus pada optimisasi batching sebagai gantinya

Pertimbangan infrastruktur

Speculative decoding memperkenalkan persyaratan infrastruktur spesifik:

Overhead memori: Draft model mengkonsumsi memori GPU tambahan. Pastikan headroom yang cukup: - Bobot draft model: ~1-8GB tergantung ukuran - KV cache tambahan untuk draft token - Alokasi tensor verifikasi

Pola komputasi: Fase verifikasi menciptakan pola komputasi bursty yang berbeda dari generasi autoregresif stabil. Monitor variabilitas utilisasi GPU dan sesuaikan ukuran batch sesuai kebutuhan.

Serving draft model: Opsi termasuk: - Co-located: Draft berjalan di GPU yang sama dengan target - Terpisah: GPU dedicated untuk generasi draft - CPU-offloaded: Draft kecil dapat berjalan di CPU untuk penghematan memori

Organisasi yang men-deploy speculative decoding dalam skala besar dapat memanfaatkan keahlian infrastruktur GPU Introl untuk konfigurasi hardware dan perencanaan kapasitas optimal.

Checklist deployment produksi

Sebelum mengaktifkan speculative decoding di produksi:

1. Pengukuran baseline - Ukur latensi dan throughput saat ini - Profil utilisasi GPU selama generasi - Identifikasi bottleneck (memori, komputasi, komunikasi)

2. Pemilihan draft model - Uji beberapa ukuran draft dengan prompt representatif - Ukur tingkat penerimaan untuk distribusi spesifik Anda - Pertimbangkan fine-tuning jika penerimaan di bawah 60%

3. Tuning konfigurasi - Eksperimen dengan num_speculative_tokens (biasanya 4-8) - Seimbangkan tingkat penerimaan vs overhead draft - Profil penggunaan memori dengan ukuran batch target

**4. Rollo

[Konten dipotong untuk terjemahan]

Minta Penawaran_

Ceritakan tentang proyek Anda dan kami akan merespons dalam 72 jam.

> TRANSMISSION_COMPLETE

Permintaan Diterima_

Terima kasih atas pertanyaan Anda. Tim kami akan meninjau permintaan Anda dan merespons dalam 72 jam.

QUEUED FOR PROCESSING