公式発表Hugging Face

投機的デコーディング実践詳解、LLM推論を品質無劣化で最大5倍高速化する技術

Hugging Faceは、大規模言語モデル(LLM)の推論速度を劇的に向上させる「投機的デコーディング(Speculative Decoding)」をテーマにした技術セミナーを開催しました。Red HatのvLLM研究チームおよびGoogle DeepMindの開発者が登壇し、モデル品質を一切損なわずに推論を高速化する設計論と実装手法を公開しました。オープンソースの推論基盤における最新の最適化トレンドが網羅されています。

AI解析: gemini-flash-latest

元動画: Local AI 202: Get Massive Speed-ups with Speculative Decoding

3秒でわかる要点

  1. 1小型ドラフターモデルと並列検証により出力品質を無劣化で保ち推論スループットを向上
  2. 2Red Hatが主導するSpeculatorsによりDFlashやEAGLE-3の学習とvLLM統合が容易に
  3. 3Gemma-4向けMTPドラフターはトークンクラスタリングと注意機構の再利用で軽量化を実現

何が発表されたのか

米Hugging Faceは、LLM(大規模言語モデル)の推論スループットを飛躍的に高める技術「投機的デコーディング(Speculative Decoding)」に関する実践ウェビナーを開催しました。本ウェビナーでは、Hugging Faceのメルヴェ・ノヤン(Merve Noyan)氏に加え、オープンソースのLLM推論基盤「vLLM」の開発を主導する米Red Hatのエルダル・クルティッチ(Eldar Kurtić)氏、米Google DeepMindのマールテン・グルートエンドルスト(Maarten Grootendorst)氏が登壇しました。

本発表の位置づけは、研究段階の理論紹介にとどまらず、すでにオープンソースとして提供開始されている実装基盤の解説と実務への適用手法の提示です。Red Hatが開発する学習・評価フレームワーク「Speculators」の一般提供および、Googleが公開する小型軽量モデル「Gemma-4」に最適化されたMulti-Token Prediction(MTP)ドラフターの実装仕様が詳細に明かされました。ハードウェアの増強に頼らず、モデル構造とデコーディングアルゴリズムの工夫によって、ローカルPCやサーバー環境におけるLLM推論を最大3倍から5倍以上高速化する道筋が示されました。

発表された機能・アップデートの全容

投機的デコーディングの原理と品質無劣化(Lossless)の保証

ウェビナー冒頭では、Hugging Faceのノヤン氏がLLM推論のボトルネックと投機的デコーディングの根本原理を整理しました。自己回帰型のLLM推論は、入力プロンプトを一括処理する「プリフィル(Prefill)」段階と、1トークンずつ逐次生成する「デコード(Decode)」段階に分かれます。プリフィル段階は行列演算が支配的であるため計算性能(Compute-bound)に依存します。一方で、デコード段階は1トークン生成するたびに数GBから数十GBのモデル重みをGPUメモリからプロセッサへ読み込む必要があり、メモリ帯域幅(Bandwidth-bound)が速度の上限を決定します。

投機的デコーディングは、この制約を回避する手法です。計算負荷の極めて小さい軽量な「ドラフター(Drafter)モデル」が先行して数トークンを仮生成し、本体である「ターゲット(Target)モデル」がそれらを1回のフォワードパスで並列検証します。ターゲットモデルの確率分布に基づいてドラフトトークンを採択または棄却し、棄却された地点で正確な補正トークンを再生成します。この数理的補正処理により、生成される文章の確率分布はターゲットモデル単体で推論した場合と厳密に一致します。スライド内のデモ画面では、Muse Glimmerモデルにおいて投機的デコーディング非適用時の秒間44トークンに対し、適用時は秒間117トークンを記録し、生成文の品質を一切落とさずに2.65倍の高速化を達成する様子が実演されました。

llama.cppおよびTransformersにおける透過的な高速化設定

ノヤン氏は、投機的デコーディングが主要なランタイム環境へすでに統合されている点を強調しました。デスクトップ向けGUIツールである「Llama App」では、ユーザーが複雑な設定を行うことなく、バックエンドのllama.cppが対応モデルのダウンロード時に自動で最適なドラフターモデルを取得して推論を実行します。内部で投機的デコーディングが動作していることをユーザーに意識させない設計となっています。

コマンドラインやPythonコードからの利用手順も簡潔です。llama.cppのサーバー機能「llama-serve」では、引数に「--spec-type draft-mtp」や「--spec-type draft-dflash」、ドラフトトークン数を指定する「--spec-draft-n-max 3」を付与するだけで機能が有効化されます。Hugging FaceのTransformersライブラリにおいても、TextGenerationPipelineに対して「assistant_model」引数でドラフターモデルを指定するか、MTP対応モデルにおいて「use_mtp=True」を渡すだけで高速化パイプラインが立ち上がります。既存の推論コードを大幅に書き換えることなく導入できる点が開発者にとっての大きな利点です。

Red Hat「Speculators」によるドラフター学習とvLLM統合

Red Hatのクルティッチ氏は、vLLMプロジェクト傘下で開発されている公式フレームワーク「Speculators」のアーキテクチャを発表しました。Speculatorsは、各種ドラフターモデルのデータ準備、隠れ状態(Hidden States)の抽出、学習、そしてvLLMでのサービングまでを一気通貫で支援するライブラリです。対応するアルゴリズムとして、EAGLE-3、MTP、DFlash、DSpark、DFlash-2などが網羅されています。

クルティッチ氏はドラフターモデルの学習における技術的要点を複数提示しました。第1に「再生成データ蒸留(Regen-data distillation)」です。ファミリー内の小型モデル向けドラフターを学習する際、そのモデル自身の出力ではなく、ファミリー内の最大モデル(例:Qwen-3-235Bなど)が生成した高品質なデータセットを用いることで、小型モデルの自己蒸留よりも高いトークン採択長(Acceptance Length)が得られる事実を実験データで示しました。第2に「隠れ状態の量子化」です。オフライン学習時にディスク容量を圧迫する隠れ状態のテンソルデータを、Hadamard変換などを組み合わせた4ビット量子化(INT4)で保存しても、採択精度を劣化させずにストレージ消費量を約4分の1に削減できることを立証しました。さらにオプティマイザとしてAdamWではなく「Muon」を採用することで、学習の収束速度と検証損失が大幅に改善される知見も公開されました。

サービング負荷に応じた「適応的検証(Adaptive Verification)」

サーバーサイドでの大規模運用において、投機的デコーディングには特有の課題が存在します。ドラフトするトークン数を固定値(例:8トークン)に設定していると、モデルの確信度が低い難解なコンテキストにおいて後半のトークンが連続して棄却され、検証計算が無駄になります。特に同時リクエスト数(バッチサイズ)が増加する高並行環境下では、GPUの計算リソースが逼迫し、投機的デコーディングを適用した方がかえって全体のスループットを低下させる逆転現象が発生します。

この課題を解決するため、SpeculatorsおよびvLLMには「適応的検証(Adaptive Verification)」が組み込まれました。適応的検証は、ドラフターモデルが出力するトークンの確信度スコアと、サーバーの現在の実行時レイテンシ情報をリアルタイムに照合します。採択確率が低いと予測されるリクエストに対しては検証対象のトークン数を動的に削減し、確信度が高いリクエストにリソースを集中させます。DeepSeek-V4を模した評価実験のグラフでは、固定長検証では同時リクエスト数が増えるにつれてスループットが急落したのに対し、適応的検証を適用したシステムは高並行状態でもベースラインを上回るスループットと優れた対話性を維持し、パレート最適のフロンティアを拡大させることが実証されました。

Gemma-4向け超軽量MTPドラフターの内部構造

Google DeepMindのグルートエンドルスト氏は、Googleの最新オープンモデル「Gemma-4」に導入されたMTPドラフターの構造を解剖しました。対象として示されたのは、実効パラメータ数約20億の小型モデル「Gemma-4 E2B」と、そのために設計されたパラメータ数1億未満(実測7700万パラメータ)の超小型ドラフターモデルです。

Gemma-4は、4層の局所注意(Local Attention / Sliding Window Attention)と1層の大域注意(Global Attention)を交互に繰り返す層構造を採用しています。ドラフターモデルはこの構造を巧みに模倣し、3層の局所注意と1層の大域注意で構成されています。ドラフターは自前ですべてを再計算するのではなく、ターゲットモデルの最終層で生成された隠れ状態(KVキャッシュ)をクロスアテンションで直接参照します。これにより、ドラフター自身が保持するパラメータ数を極限まで削ぎ落としながら、ターゲットモデルの表現力を忠実にトレースして次のトークン候補を予測します。

「Efficient Embedder」による語彙空間のクラスタリング圧縮

グルートエンドルスト氏が明かしたGemma-4ドラフターの最も先進的な工夫が、埋め込み層と出力層の軽量化を実現する「Efficient Embedder」です。通常のLLMは25万語を超える巨大な語彙数(Vocabulary Size)を抱えており、隠れ状態から確率分布を計算する言語モデリングヘッド(LM Head)の行列乗算が膨大な計算コストを消費します。ドラフターの隠れ層が256次元と極めて小さくても、語彙次元への線形変換だけで演算負荷が跳ね上がってしまいます。

そこで開発陣は、26万語以上のトークン埋め込みを意味的類似度に基づいて事前にクラスタリングし、数千個のクラスタに集約しました。ドラフターはまず、隠れ状態とクラスタ埋め込みの乗算を行い、次に現れるトークンがどのクラスタに属するかという「クラスタ・ロジット」を予測します。そして確信度上位の数クラスタ(例:上位2クラスタ)に含まれるトークンのみを抽出し、絞り込まれた候補語彙に対してのみ最終的なロジット計算を実行します。語彙空間の約90パーセント以上を計算対象から除外することで、ドラフターの推論レイテンシを劇的に短縮することに成功しました。この設計により、Samsung Galaxy S24などのモバイル環境やPixel TPU、Apple M4チップ搭載Mac上において、最大1.5倍から3.3倍の推論速度向上が確認されています。

性能・ベンチマーク

動画内で公開されたスライド資料から、投機的デコーディング適用時と非適用時の推論性能データを整理します。

測定対象モデル ハードウェア環境 適用技術・ドラフター設定 スループット向上比(対通常推論) 出典
Muse Glimmer (30B) 未特定(ローカルPC) 投機的デコーディング適用 約2.65倍(44 tok/s → 117 tok/s) 動画内スライド(04:05)
Kimi-K3 (vLLM) 単一ストリーム環境 DSparkドラフター(8ドラフトトークン) 約3.7倍スループット / 3.9倍対話性向上 動画内スライド(46:41)
Kimi-K3 (vLLM) 高並行リクエスト環境 DSparkドラフター(8ドラフトトークン) 約1.8倍スループット / 2.1倍対話性向上 動画内スライド(46:41)
Gemma-4 31B 2x NVIDIA H100 ネイティブMTP(単一ストリーム) 約3.5倍スループット / 3.6倍対話性向上 動画内スライド(47:18)
Gemma-4 31B 2x NVIDIA H100 DFlash-2(単一ストリーム) 約5.1倍スループット / 5.3倍対話性向上 動画内スライド(47:37)
Gemma-4 E2B Samsung S24 Mobile GPU Gemma-4 MTP Drafter 最大1.6倍高速化 動画内スライド(63:00)
Gemma-4 E4B Pixel TPU Gemma-4 MTP Drafter 最大2.6倍高速化 動画内スライド(63:00)
Gemma-4 31B Apple M4 Gemma-4 MTP Drafter 最大2.5倍高速化 動画内スライド(63:00)
Gemma-4 31B NVIDIA A100 Gemma-4 MTP Drafter 最大3.0倍高速化 動画内スライド(63:00)
Qwen-3-8B SpecBench 隠れ状態INT4量子化ドラフター FP16対比で採択精度劣化なし(同等長維持) 動画内スライド(36:44)

取材班の見立てでは、DFlash-2のように複数トークンを一括予測する拡散ベースのドラフターは、単一ストリーム環境下で5倍超という驚異的な性能を発揮する一方、並行リクエストが増加するとMTPドラフターの方が安定した性能を示す傾向があります。用途に応じた手法選択が重要となります。

競合技術・推論最適化手法との比較

投機的デコーディングの位置づけを明確にするため、既存の代表的なLLM推論高速化手法との比較を整理します。

最適化手法 高速化のアプローチ 出力精度の変化 メモリフットプリント 主な適用先・競合技術
投機的デコーディング(本発表) 小型モデルの仮生成と本体の並列検証 完全無劣化(Lossless) わずかに増加(ドラフター分+数%のKVキャッシュ) vLLM (Speculators), llama.cpp, Transformers
重み量子化(AWQ / GPTQ / GGUF) 重みをINT4/INT8等に圧縮し帯域削減 わずかに劣化(不可逆圧縮) 大幅に削減(1/2〜1/4) llama.cpp, TensorRT-LLM, bitsandbytes
アテンション最適化(FlashAttention) GPU SRAMの活用とメモリアクセス局所化 完全無劣化(Lossless) 変化なし vLLM, DeepSpeed, PyTorch SDPA
プルーニング(枝刈り) 不要な重みやアテンションヘッドの削除 やや劣化(不可逆) 削減 研究段階・一部OSSライブラリ

投機的デコーディングの最大の強みは「不可逆な精度劣化が一切生じない」点にあります。量子化技術がモデルのパラメータ精度を削ってメモリ帯域を節約するのに対し、投機的デコーディングはアルゴリズムレベルでメモリアクセス回数を減らすため、数学的に元のモデルと同一の出力確率を保ちます。さらに、本ウェビナーでも言及された通り、重み量子化(例:FP8やINT4モデル)と投機的デコーディングは直交する技術であり、両者を併用することで相乗的な高速化を達成できます。

料金・提供プラン

本ウェビナーで紹介されたツールおよびモデルは、すべてオープンソースソフトウェア(OSS)として提供されており、利用料金は無料です。

  • Speculators: GitHub上のvLLMプロジェクト公式リポジトリ(vllm-project/speculators)にてApache-2.0ライセンスで無償公開されています。
  • 学習済みドラフターモデル: Red Hat公式のHugging Faceハブ(huggingface.co/RedHatAI)および各コミュニティリポジトリから、GGUF形式やSafeTensors形式で直接ダウンロード可能です。
  • Gemma-4 ドラフター: Google DeepMindが公開するGemmaコレクション(Hugging Face Hub)より無償で取得可能です。
  • 推論エンジン: llama.cpp、Llama App、vLLM、Hugging Face Transformersはいずれもオープンソースであり、追加ライセンス費用なしで商用環境にも組み込めます。

日本から使う方法

日本国内の開発者や企業ユーザーが、手元の環境やクラウドGPUで本技術を検証するための手順は以下の通りです。

  1. ローカル環境(Mac / Windows PC)で試す場合:

    • 最も手軽な方法は「llama.app」公式サイトからデスクトップ版クライアントをダウンロードすることです。
    • アプリを起動し、モデル一覧から「Gemma-4」や「Qwen-3」などのMTP対応モデルを選択してインストールします。バックグラウンドで対応するドラフターモデルが自動的に構成され、追加設定なしで高速推論が有効化されます。
    • ターミナルから操作する場合は、Homebrew等で最新版のllama.cppを導入し、llama-serve -hf <モデルリポジトリ> --spec-type draft-mtp --spec-draft-n-max 3を実行してOpenAI互換APIサーバーを立ち上げます。
  2. Python環境(Transformers)で実装する場合:

    • pip install --upgrade transformers torchを実行し、最新のTransformersを導入します。
    • パイプライン初期化時にassistant_model="meta-llama/Llama-3.2-1B"のように軽量モデルを指定するか、MTP対応モデルをロードして生成時にuse_mtp=Trueを渡します。
  3. サーバー環境(Linux / NVIDIA GPU)で大規模運用する場合:

    • vLLM環境を構築し、vllm-project/speculatorsから目的のドラフターモデル(DFlashやMTP)を導入します。
    • vllm serve <モデル名> --speculative-model <ドラフター名> --num-speculative-tokens 8の形式でサーバーを起動します。高負荷環境では適応的検証オプションを有効にしてください。
  4. 利用時の注意点:

    • ドラフターモデルとターゲットモデルは、語彙空間やトークナイザー、ドメインが一致している必要があります。法務特化のターゲットモデルにコード特化のドラフターを組み合わせると、棄却率が跳ね上がり、かえって推論速度が低下します。
    • メモリ容量には若干の余裕が必要です。モデル本体の重みに加え、ドラフターモデルの重み(数十MB〜数GB)と、検証用KVキャッシュを確保できるVRAM容量を確認してください。

誰にどう効くのか

エンジニア(機械学習・インフラ担当)

推論基盤のハードウェアコスト削減に直結します。これまでGPUを増設しなければ達成できなかった高スループットや低遅延を、ソフトウェアスタックのチューニングのみで実現できます。Speculatorsを活用すれば、自社のファインチューニングモデルに合わせた専用ドラフターの追加学習も自社インフラ内で完結します。

企画・プロダクトマネージャー

対話型AIやコーディング支援、エージェント型システムにおけるユーザー体験(UX)の劇的な改善が見込めます。最初のトークンが出力されるまでの待ち時間(Time to First Token)や、その後の出力速度(Time per Output Token)が2倍から3倍に向上するため、チャットの応答待ちによるユーザー離脱を防ぐことができます。特に構文が固定化されているコード生成やJSON出力タスクでは、採択率が高まり顕著な恩恵を受けられます。

経営層・意思決定者

AIサービスの運用コスト(推論コンピュートコスト)を大幅に抑制できます。同一のGPUクラスタで処理できるリクエスト数が実質的に倍増するため、設備投資を先送りしながらサービス規模を拡大できます。また、出力品質の劣化が原理的に発生しないため、既存プロダクトの品質監査をやり直すリスクなく導入できる投資対効果の高い技術です。

まとめ

投機的デコーディングは、従来の「モデルを小さくして推論を速くする」アプローチから、「賢いアルゴリズムでハードウェアの限界を突破する」アプローチへの転換点を示しています。すでにvLLMやllama.cppなどの主要ランタイムに実装されており、導入のハードルは劇的に下がっています。まずは手元のローカル環境や開発サーバーで、MTP対応モデルやSpeculatorsライブラリを用いた推論速度の比較検証を開始することを推奨します。

動画のタイムテーブル

  • 0:00ウェビナー開始と登壇者紹介
  • 0:56Llama Appを用いたローカル環境での推論デモ
  • 4:05投機的デコーディング有無による生成速度のリアルタイム比較
  • 5:08LLM推論の2段階構造(プリフィルとデコード)の解説
  • 9:29投機的デコーディングの基礎アルゴリズムと補正の仕組み
  • 15:55llama.cppおよびTransformersでの実装構文の提示
  • 21:10Red Hat担当者によるSpeculatorsライブラリの概要発表
  • 26:28ドラフターモデルの学習パイプラインとデータ蒸留手法の解説
  • 36:16隠れ状態の量子化とオプティマイザMuonによる検証結果
  • 44:43サービング時における適応的検証(Adaptive Verification)の効果
  • 53:30Google DeepMind担当者によるGemma-4 MTPドラフターの解説
  • 60:00ドラフターモデルのアーキテクチャ詳細とクラスタリング技法
  • 76:30ハードウェア環境別のベンチマーク比較結果の提示
  • 80:15質疑応答と今後の展望

記事で紹介したツール

この機能を、いま自分の環境で試す

記事の内容は公式発表の要約です。実際の使い勝手は触ってみないと分かりません。多くは無料枠から始められます。

公式サイトで試す

提供: OpenAI

本記事は元動画の映像・音声をAIが解析して自動生成したものです。誤りが含まれる可能性があるため、正確な仕様・料金は公式発表をご確認ください。元動画を見る(解析モデル: gemini-flash-latest)