Speculative Decoding: เร่งความเร็ว LLM Inference ได้ 2-3 เท่า

Speculative decoding พัฒนาจากงานวิจัยสู่มาตรฐานการผลิตจริง NVIDIA แสดงให้เห็นการปรับปรุง throughput 3.6 เท่าบน GPU H200 vLLM และ TensorRT-LLM รองรับ native support โดย Draft models เสนอ 5-8 tokens ที่ถูกตรวจสอบพร้อมกัน—ใช้ประโยชน์จากความสามารถของ GPU ที่ไม่ได้ถูกใช้งานเต็มที่จากการสร้าง single-token คุณภาพ output ไม่เปลี่ยนแปลง latency ลดลง 2-3 เท่า

Speculative Decoding: เร่งความเร็ว LLM Inference ได้ 2-3 เท่า

Speculative Decoding: เร่งความเร็ว LLM Inference ได้ 2-3 เท่า

อัปเดต 11 ธันวาคม 2025

อัปเดตธันวาคม 2025: Speculative decoding พัฒนาจากงานวิจัยสู่มาตรฐานการผลิตจริง NVIDIA แสดงให้เห็นการปรับปรุง throughput 3.6 เท่าบน GPU H200 vLLM และ TensorRT-LLM รองรับ native support โดย Draft models เสนอ 5-8 tokens ที่ถูกตรวจสอบพร้อมกัน—ใช้ประโยชน์จากความสามารถของ GPU ที่ไม่ได้ถูกใช้งานเต็มที่จากการสร้าง single-token คุณภาพ output ไม่เปลี่ยนแปลง latency ลดลง 2-3 เท่า

Large language models สร้างข้อความทีละหนึ่ง token และแต่ละ token ต้องใช้ forward pass เต็มรูปแบบผ่าน parameters หลายพันล้านตัว คอขวดแบบ sequential นี้สร้าง latency ที่ทำให้ผู้ใช้หงุดหงิดขณะรอการตอบสนอง แม้ว่า GPU จะว่างบางส่วนระหว่างการคำนวณ Speculative decoding ทำลายคอขวดนี้โดยใช้ draft models ขนาดเล็กและรวดเร็วเพื่อเสนอ tokens หลายตัวที่ target models ขนาดใหญ่ตรวจสอบพร้อมกัน บรรลุความเร็วเพิ่มขึ้น 2-3 เท่าโดยไม่เปลี่ยนคุณภาพ output¹

เทคนิคนี้พัฒนาจากความน่าสนใจในงานวิจัยสู่มาตรฐานการผลิตในปี 2025 ทั้ง vLLM และ TensorRT-LLM รองรับ native speculative decoding โดย NVIDIA แสดงให้เห็นการปรับปรุง throughput 3.6 เท่าบน GPU H200² การเข้าใจว่า speculative decoding ช่วยได้เมื่อไหร่ วิธีเลือก draft models และ frameworks ใดที่มี implementations ที่ดีที่สุด ช่วยให้องค์กรลดต้นทุน inference และ latency ได้อย่างมาก

วิธีการทำงานของ speculative decoding

การสร้างแบบ autoregressive แบบดั้งเดิมผลิต tokens ตามลำดับ:

  1. Model รับ prompt สร้าง logits สำหรับ token ถัดไป
  2. Sample token จาก distribution
  3. เพิ่ม token เข้าไปใน context ทำซ้ำ forward pass
  4. ดำเนินต่อจนเสร็จสมบูรณ์

แต่ละขั้นตอนต้องใช้การคำนวณเต็มรูปแบบของ model แต่ GPU มีความสามารถมากกว่าที่การสร้าง single-token ใช้งาน Speculative decoding ใช้ประโยชน์จากความสามารถที่ไม่ได้ใช้:

Draft phase: Model ขนาดเล็กและรวดเร็วสร้าง K speculative tokens อย่างรวดเร็ว Draft model อาจผลิต 5-8 candidate continuations ในเวลาที่ target model ใช้สำหรับหนึ่ง token

Verify phase: Target model ประมวลผล K tokens ทั้งหมดใน single parallel forward pass คำนวณ probabilities สำหรับแต่ละตำแหน่งพร้อมกัน GPU parallelism ช่วยให้การตรวจสอบ K tokens มีต้นทุนใกล้เคียงกับการสร้างหนึ่ง token

Accept/reject: เปรียบเทียบ draft และ target distributions ที่แต่ละตำแหน่ง ยอมรับ tokens ที่ distributions ตรงกัน ปฏิเสธและ resample ที่ไม่ตรงกัน Algorithm รับประกันว่า output ตรงกับสิ่งที่ target model จะผลิตโดยอิสระ³

ความเร็วที่เพิ่มขึ้นมาจากการยอมรับ tokens หลายตัวต่อ target model forward pass ถ้า acceptance rate ของ draft model เฉลี่ย 60% และเสนอ 8 tokens แต่ละ verification pass จะผลิตประมาณ 5 tokens เทียบกับ 1 โดยไม่มี speculation

Performance benchmarks

Production deployments แสดงให้เห็นความเร็วที่เพิ่มขึ้นอย่างมากในหลาย model families:

Llama models บน vLLM:⁴ - Llama 3.1-70B กับ 1B draft: เร็วขึ้น 2.31 เท่า - Llama 3.1-8B บน A100 ตัวเดียว: latency ลดลง 1.8 เท่า - Llama 3.1-70B ที่ request rates ต่ำ: latency ลดลง 1.6 เท่า

TensorRT-LLM บน H200:⁵ - Llama 3.1-405B กับ draft models ต่างๆ: throughput มากกว่า 3 เท่า - รวมกับ FP8 quantization: การปรับปรุงรวม 3.6 เท่า

SGLang กับ SpecForge:⁶ - Llama 4 Maverick: เร็วขึ้น 2.18 เท่าบน MT-Bench - Llama 4 Scout: เร่งความเร็ว 2.0 เท่า

EAGLE method (ผลงานดีที่สุด):⁷ - Draft accuracy ประมาณ 0.8 (acceptance 80%) - ความเร็วเพิ่มขึ้นทั่วไป 2.5-2.8 เท่า - State-of-the-art บน Spec-Bench leaderboard

ความเร็วที่เพิ่มขึ้นแตกต่างกันอย่างมากตามลักษณะของ workload กรณีใช้งานแบบ synchronous ที่ไวต่อ latency ได้รับประโยชน์มากที่สุด High-throughput batch processing ได้ประโยชน์น้อยกว่าเมื่อ GPU compute กลายเป็นคอขวดแทนที่จะเป็นการสร้างแบบ sequential

Framework implementations

vLLM speculative decoding

vLLM รองรับหลาย speculative decoding methods รวมถึง draft model, ngram matching และ EAGLE:

# Enable draft model speculation
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

EAGLE integration (แนะนำ):

# EAGLE achieves higher acceptance rates
vllm serve meta-llama/Llama-3.1-70B-Instruct \
    --speculative-model yuhuili/EAGLE-LLaMA3.1-Instruct-70B \
    --speculative-method eagle \
    --num-speculative-tokens 8

การรวม Eagle 3 ของ vLLM ให้ความเร็วเพิ่มขึ้นถึง 2.5 เท่าในสถานการณ์ที่หลากหลาย⁸ Framework จัดการ token verification และ rejection sampling โดยอัตโนมัติ รักษาความเท่าเทียมของ output กับการสร้างแบบไม่มี speculation

TensorRT-LLM speculative decoding

TensorRT-LLM เสนอการ optimization ที่ลึกกว่าสำหรับ NVIDIA hardware:

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

สำหรับ draft model configuration:

# Draft model with separate engine
trtllm-build \
    --checkpoint_dir $DRAFT_CHECKPOINT \
    --output_dir $DRAFT_ENGINE \
    --max_batch_size 256

Custom kernels ของ TensorRT-LLM optimize ทั้ง draft generation และ verification phases ดึงประสิทธิภาพสูงสุดจาก Tensor Cores และ memory bandwidth

Triton Inference Server integration

NVIDIA Triton Inference Server รองรับ speculative decoding ผ่าน vLLM backend:⁹

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

การรวม Triton ช่วยให้ deploy ในระดับ production ด้วย request batching, metrics collection และ Kubernetes-native scaling ในขณะที่รักษาประโยชน์ของ speculative decoding

การเลือก draft model

คุณภาพของ draft model กำหนดประสิทธิภาพของ speculative decoding Draft models ที่ไม่ดีเสีย compute ไปกับ proposals ที่ target model ปฏิเสธ

เกณฑ์การเลือก

Architecture alignment: Draft models จาก family เดียวกับ targets บรรลุ acceptance สูงกว่า Llama 3.2-1B drafting สำหรับ Llama 3.1-70B ทำได้ดีกว่า generic small models เพราะ training data และ tokenization ตรงกัน¹⁰

Size ratio: Draft models โดยทั่วไปมีขนาด 1/10 ถึง 1/50 ของ target Draft ขนาดเล็กกว่าสร้างเร็วกว่าแต่อาจมี acceptance ต่ำกว่า ทดสอบหลายขนาดเพื่อหา ratio ที่เหมาะสมที่สุดสำหรับ workload ของคุณ

Acceptance rate threshold: ตั้งเป้า acceptance rate 60% ขึ้นไป ต่ำกว่า 50% verification overhead อาจลบล้างประโยชน์ของ speculation ใช้ profiling เพื่อวัด acceptance จริงสำหรับ prompts ที่เฉพาะเจาะจงของคุณ

Fine-tuning draft models

Draft models แบบพร้อมใช้มักทำได้ไม่ดีใน domain-specific tasks Fine-tuning ปรับปรุง acceptance อย่างมาก:¹¹

# Fine-tune draft model on target distribution
from transformers import Trainer, TrainingArguments

# Generate training data by sampling from target model
# Fine-tune draft to match target's output distribution

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()

องค์กรรายงานการปรับปรุง acceptance rate 20-40% จาก domain-specific draft fine-tuning การลงทุนนี้คุ้มค่าสำหรับ high-volume inference workloads

SpecForge สำหรับ SGLang

SpecForge ให้ ecosystem เฉพาะทางสำหรับ training draft models:¹²

  • Native SGLang integration
  • Optimized training recipes สำหรับ Llama 4 variants
  • Pre-trained speculators สำหรับ models ทั่วไป

โครงการ Speculators ของ Red Hat สร้างมาตรฐาน speculative decoding ด้วย unified Hugging Face format และ vLLM integration ทำให้การค้นหาและ deploy draft model ง่ายขึ้น¹³

เทคนิคขั้นสูง

Self-speculative decoding (SWIFT)

SWIFT กำจัด draft models แยกต่างหากโดยข้าม intermediate layers ของ target LLM แบบ adaptive:¹⁴

  • ไม่ต้องการ auxiliary model
  • ไม่ต้อง training เพิ่มเติม
  • ความเร็วเพิ่มขึ้น 1.3x-1.6x ในขณะที่รักษา output distribution

เทคนิคนี้ทำงานโดยทำนายว่า layers ใดสามารถข้ามได้ตาม token confidence Continuations ที่ง่ายข้าม layers มากกว่า reasoning ที่ซับซ้อนใช้ model depth เต็ม

# Conceptual SWIFT configuration
config = SwiftConfig(
    skip_threshold=0.8,  # Skip layers when confidence > 0.8
    min_layers=16,       # Always use at least 16 layers
    adaptive=True        # Dynamically adjust per token
)

SWIFT เหมาะกับสถานการณ์ที่การรักษา draft model แยกต่างหากเพิ่มความซับซ้อนที่ไม่ต้องการ

Ngram speculation

สำหรับ structured outputs หรือ patterns ที่คาดเดาได้ ngram matching ให้ speculation โดยไม่ต้องใช้ neural networks:

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

Ngram speculation ระบุ patterns ที่ซ้ำกันใน prompt หรือ generation history เสนอ tokens ตาม sequences ที่สังเกตได้ วิธีนี้ทำงานได้ดีสำหรับ code generation, structured data และ repetitive content

Medusa heads

Medusa เพิ่ม prediction heads เพิ่มเติมให้กับ target model สร้าง candidate tokens หลายตัวพร้อมกัน:

# Medusa requires model modification
model = load_medusa_model("path/to/medusa_llama_70b")
# Additional heads predict tokens at positions +1, +2, +3, ...

Medusa กำจัด draft model ทั้งหมดแต่ต้องการ model modification และ retraining องค์กรที่มี custom model deployments อาจพบว่า Medusa คุ้มค่าแม้มีความซับซ้อนในการ integrate สูงกว่า

เมื่อไหร่ speculative decoding ช่วยได้

Speculative decoding ให้ผลตอบแทนสูงสุดภายใต้เงื่อนไขเฉพาะ:

สถานการณ์ที่เหมาะสม: - แอปพลิเคชัน interactive chat ที่ให้ความสำคัญกับ latency - Single-user inference ที่ GPU underutilization สูง - Long-form generation (เรื่องราว, เอกสาร, code) - Workloads ที่มี token patterns ที่คาดเดาได้

สถานการณ์ที่เหมาะสมน้อยกว่า: - High-throughput batch processing ที่ saturating GPU แล้ว - Responses สั้นมาก (tokens น้อยที่จะ speculate) - Highly creative/random generation ที่มี acceptance rates ต่ำ - Memory-constrained deployments ที่ draft model ไม่พอดี

Decision framework:

IF (GPU utilization < 50% during generation)
    AND (average response length > 100 tokens)
    AND (draft model fits in memory)
     Enable speculative decoding

IF (GPU utilization > 80%)
    OR (memory pressure high)
     Focus on batching optimizations instead

ข้อพิจารณาด้าน infrastructure

Speculative decoding มีข้อกำหนด infrastructure เฉพาะ:

Memory overhead: Draft models ใช้ GPU memory เพิ่มเติม ให้แน่ใจว่ามี headroom เพียงพอ: - Draft model weights: ~1-8GB ขึ้นอยู่กับขนาด - Additional KV cache สำหรับ draft tokens - Verification tensor allocations

Compute patterns: Verification phases สร้าง bursty compute patterns ที่แตกต่างจาก steady autoregressive generation ติดตาม GPU utilization variability และปรับ batch sizes ตามความเหมาะสม

Draft model serving: ตัวเลือกรวมถึง: - Co-located: Draft รันบน GPU เดียวกับ target - Separate: GPU เฉพาะสำหรับ draft generation - CPU-offloaded: Draft ขนาดเล็กสามารถรันบน CPU เพื่อประหยัด memory

องค์กรที่ deploy speculative decoding ในระดับใหญ่สามารถใช้ประโยชน์จากความเชี่ยวชาญด้าน GPU infrastructure ของ Introl สำหรับ hardware configuration และ capacity planning ที่เหมาะสมที่สุด

Production deployment checklist

ก่อน enable speculative decoding ใน production:

1. Baseline measurement - วัด latency และ throughput ปัจจุบัน - Profile GPU utilization ระหว่างการ generation - ระบุ bottlenecks (memory, compute, communication)

2. Draft model selection - ทดสอบหลาย draft sizes กับ prompts ที่เป็นตัวแทน - วัด acceptance rates สำหรับ distribution ที่เฉพาะเจาะจงของคุณ - พิจารณา fine-tuning ถ้า acceptance ต่ำกว่า 60%

3. Configuration tuning - ทดลองกับ num_speculative_tokens (โดยทั่วไป 4-8) - สมดุล acceptance rate กับ draft overhead - Profile memory usage กับ target batch sizes

**4. Rollo

[Content truncated for translation]

ขอใบเสนอราคา_

แจ้งรายละเอียดโครงการของคุณ เราจะตอบกลับภายใน 72 ชั่วโมง

> TRANSMISSION_COMPLETE

ได้รับคำขอแล้ว_

ขอบคุณสำหรับคำสอบถาม ทีมงานจะตรวจสอบคำขอและติดต่อกลับภายใน 72 ชั่วโมง

QUEUED FOR PROCESSING