LLM推論・最適化

スペキュレイティブデコーディング すぺきゅれいてぃぶでこーでぃんぐ

スペキュレイティブデコーディングSpeculative Decoding推論高速化ドラフトモデル並列生成LLM
スペキュレイティブデコーディングについて教えて

簡単に言うとこんな感じ!

「小さくて速いAIが先読みして仮の回答を書き、大きくて賢いAIが一括でチェックする」という工夫で推論を高速化する手法だよ!1回に1トークンしか生成できない制限を、並列検証でまとめて処理することで2〜3倍速くできるんだ!


スペキュレイティブデコーディングとは

スペキュレイティブデコーディング(Speculative Decoding) とは、小さな「ドラフトモデル」が複数トークンを先読み生成し、大きな「ターゲットモデル」が並列でそれを検証・修正することで、出力品質を維持しつつ推論速度を向上させる手法です。2023年にGoogle・DeepMindが独立して提案しました。

LLMは1回の推論で1トークンずつしか生成できない(自己回帰)ため、長い文章の生成は遅くなります。スペキュレイティブデコーディングは、小モデルが「たぶんこういう文章が続く」と投機的(Speculative)に複数トークンを生成し、大モデルがそれを一括検証します。全部正しければ複数トークンを一気に確定でき、ターゲットモデルのトークン出力品質を維持したまま速度を向上できます。


仕組みのイメージ

【通常の自己回帰デコーディング(遅い)】
大モデル: 「東」を生成
大モデル: 「京」を生成
大モデル: 「は」を生成
...(1トークンずつ)

【スペキュレイティブデコーディング(速い)】
小モデル(ドラフト): 「東京は日本の首」を先読み生成

大モデル(ターゲット): 並列検証
  「東京は日本の首」← 全部正しい!→ まとめて確定

大モデルが使える実効的なスループットが2〜3倍に向上

歴史と背景

  • 2023年2月:Leviathan et al.(Google)とChen et al.(DeepMind)が独立して発表
  • 2023年後半:HuggingFace・vLLMがスペキュレイティブデコーディングをサポート
  • 2024年:Medusa・EAGLE等の変形手法(ドラフトモデルなしで並列生成)が登場
  • 現在:Claude・Gemini等の商用APIでも内部的に採用(速度最適化の手段として)

速度向上の条件

条件詳細
ドラフトモデルの精度高いほど検証通過率が上がり速度向上
モデルサイズ比ターゲット:ドラフト = 10:1〜100:1が目安
タスクの予測単純なテキスト続きは速い、複雑な推論は効果小
バッチサイズバッチサイズが大きいと効果が薄れる

関連用語

  • KVキャッシュ — スペキュレイティブデコーディングと組み合わせる推論最適化
  • Flash Attention — スペキュレイティブデコーディングを支える高速アテンション実装
  • 量子化 — ドラフトモデルを軽量化するためにも活用される技術
  • Mixture of Experts — スペキュレイティブデコーディングと組み合わせられるアーキテクチャ