スペキュレイティブデコーディング すぺきゅれいてぃぶでこーでぃんぐ
スペキュレイティブデコーディング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 — スペキュレイティブデコーディングと組み合わせられるアーキテクチャ