AI・機械学習
上級

Speculative Decoding(スペキュラティブデコーディング)

小型ドラフトモデルが複数トークンを先行生成し、大型ターゲットモデルが並列検証することでLLM推論を高速化する技術。レイテンシを2〜3倍削減可能。

0 回閲覧
0 いいね
2026/6/6 更新
関連タグ
Speculative Decoding
LLM推論高速化
ドラフトモデル
ターゲットモデル
投機的デコーディング
レイテンシ削減

Speculative Decoding

概要

Speculative Decoding(投機的デコーディング)は、LLM推論のレイテンシを削減する技術。2023年にDeepMind(論文: "Accelerating Large Language Model Decoding with Speculative Sampling")とGoogle Brain("Fast Inference from Transformers via Speculative Decoding")が同時期に独立発表した。

基本原理

標準自己回帰デコーディングの制約

標準デコーディングではトークンを1つずつ順次生成する。大型モデルは演算量が多く、1トークン生成でも高レイテンシとなる。

Speculative Decodingの流れ

  1. Draft段階: 小型ドラフトモデルMqがγトークンを自己回帰生成(高速) 例: Mq → ["quick", "brown", "fox", "jumps"](4トークン先読み)

  2. Verify段階: ターゲットモデルMpがγトークンを並列スコアリング(1回の前向き計算) Mpはγ+1位置すべてのlogitsを一度に計算

  3. 受け入れ/棄却判定: 各ドラフトトークンをRejection Samplingで確率的判定 受け入れ率α = min(1, Mp(x)/Mq(x))

  4. 出力分布の等価性: 最終出力はターゲットモデル単独と同一分布(数学的証明あり)

バリエーション

Medusa(2024)

大型モデルに複数のデコーダーヘッドを追加し、ドラフトモデルを内包する手法。外部ドラフトモデル不要。

EAGLE(2024)

特徴量レベルのドラフト機能により高受け入れ率を実現。Vicuna-7Bで3.5倍高速化。

Self-Speculative Decoding

モデル自身の初期レイヤー出力をドラフトとして使用。追加パラメータ不要。

高速化効果

  • 68Mモデル → Llama-2-7B: 約2.0倍
  • 7Bモデル → Llama-2-70B: 約2.5倍
  • Medusa heads → Vicuna-13B: 約2.3倍
  • EAGLE → Vicuna-7B: 約3.5倍

実装(vLLM)

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

適用条件

  • 有効な場面: 短い生成(チャット、補完)、高い受け入れ率のドラフトモデルがある場合
  • 効果が薄い場面: 長い生成(ドキュメント作成)、ドラフト/ターゲット分布が乖離する場合
  • トレードオフ: ドラフトモデル用の追加GPUメモリが必要
この記事について
カテゴリーAI・機械学習
難易度上級
作成日2026/6/6