投機的デコーディング(Speculative Decoding)

トウキテキデコーディング

投機的デコーディング(Speculative Decoding)

小型のドラフトモデルが複数トークンを先行提案し、大型モデルが並列検証する推論高速化技術。

投機的デコーディングとは

投機的デコーディング(Speculative Decoding)とは、小型の「ドラフトモデル」が複数トークンを先行して提案し、大型の「検証モデル」がそれらを並列に検証・採否判定することで、推論速度を 2〜3 倍に高速化する技術である。

仕組みの概要

通常の LLM 推論は 1 トークンずつ逐次生成するため、モデルが大きいほど各ステップの計算コストが増し、応答が遅くなる。投機的デコーディングはこの逐次性を緩和する。

  1. ドラフトモデル(小型・高速)が数トークン先まで一気に生成する
  2. 検証モデル(大型・高精度)が提案されたトークン列を一括で検証する
  3. 検証に合格したトークンはそのまま採用、不合格のトークンから検証モデルが再生成する

ドラフトモデルの提案が「当たる」確率が高いほど、検証モデルの呼び出し回数が減り高速化の効果が大きくなる。

出力品質への影響

重要な点として、投機的デコーディングは検証モデルの出力分布を変えない。数学的にはドラフトモデルなしの場合と同一の出力が得られるため、品質を犠牲にせずに速度だけを改善できる。

適用が向くケース

大型モデルの高い精度を維持しつつレイテンシを下げたい場面——チャットボットのリアルタイム応答やコード補完——で特に有効だ。GPU コストの削減にもつながるため、推論コストが課題になっている本番システムでは検討に値する技術である。