推論速度を向上させる Speculative Decoding(投機的デコーディング)とは

推論速度を向上させる Speculative Decoding(投機的デコーディング)とは
Photo by BoliviaInteligente / Unsplash

こんにちは Qualiteg 研究部です。

投機的デコーディングとは何か?

投機的デコーディングは、大規模言語モデル(LLM)の推論速度を向上させる技術です。

たいていのモデルを1.4~2.0倍程度、高速化できることが報告されています。

このアプローチでは、小さなモデル(ドラフトモデル)を使用して初期の予測を行い、その結果を大きなモデル(ターゲットモデル)が検証することで、全体の推論プロセスを高速化します。

ざっくりいうと、

大きなモデルは計算負荷も高く計算速度も遅いので、まず、小さなモデルで高速に計算したあとで、その計算結果をうまくつかって大きなモデルでの計算負荷をさげ、スピードを向上させようというアイデアです。

基本的に大きなモデルと、小さなモデルはサイズ以外は基本的にまったく同じネットワーク構造をしていることが前提となります。

たとえば 70Bの Llama3 と 8B の Llama3 を組み合わせてつかうイメージです。

当然70B の Llama3 の推論計算のほうが 8B よりも重たくなりますので、小さい8BのLlama3 で先回りして推論計算することで高速化を行うというテクニックとなります。

投機的デコーディングのメカニズム

投機的デコーディングでは、小さなモデル(ドラフトモデル)の予測結果を大きなモデル(ターゲットモデル)で使用するかどうかを判断する際、主に以下の手順と考慮点があります

  1. ドラフトモデルの生成: ドラフトモデルは、予測の初期段階で複数の候補トークンを高速に生成します。このモデルはターゲットモデルよりもはるかに小さいため、予測を迅速に行うことができます。
  2. ターゲットモデルによる検証: ターゲットモデルは、ドラフトモデルが生成したトークンを検証し、それらが妥当であるかどうかを判断します。このプロセスでは、ドラフトモデルの出力とターゲットモデルの予測を比較し、一致するトークンのみが最終的な出力として採用されます。
  3. TAR(Token Acceptance Rate)の計算: TARは、ドラフトモデルが生成したトークンのうち、ターゲットモデルが受け入れたトークンの割合を示します。この割合が高いほど、ドラフトモデルの予測がターゲットモデルの基準に適合していることを意味し、スループットの向上に貢献します。
  4. スループットとレイテンシーのトレードオフ: ドラフトモデルを使用する主な目的は、推論プロセスのスループットを向上させることです。ドラフトモデルのレイテンシーが十分に低く、かつTARが高い場合、このアプローチは全体の推論時間を短縮し、効率を向上させることができます。
  5. パフォーマンスのベンチマーク: 実際にドラフトモデルとターゲットモデルを使用する際には、異なるドラフトモデルの構成とサイズで複数の実験を行い、最適な設定を見つける必要があります。これにより、どのドラフトモデルが最も効果的であるかを科学的に判断することが可能です。

以上の手順と考慮点によって、小さなモデルの予測結果が大きなモデルで実用的に使用できるかどうかを判断することができます。

ドラフトモデルでの計算結果をターゲットモデルが評価するときに、結局ターゲットモデルでの推論計算が走るから、計算量削減にはならないのではないか?

そんな疑問が浮かびませんか?

ターゲットモデルで計算を行うとなると、なぜ小さなモデルを使うのか疑問に思うのは理解できます。

投機的デコーディングの利点(というか、コアとなるアイデア)は、ターゲットモデルの計算負荷を効率的に管理する点にあります。ここでは、計算が削減されるメカニズムを具体的に説明します。

投機的デコーディングの基本プロセス

  1. ドラフトモデルの利用:
    ドラフトモデルは、低レイテンシーで多数の候補トークンを生成します。これはターゲットモデルよりもはるかに迅速に行われます。
  2. バッチ処理
    ターゲットモデルでは、ドラフトモデルが生成した複数のトークンを一度に検証します。これは通常のオートリグレッシブ生成(トークンを1つずつ生成)と比べて、モデルが一度に多くのデータを処理できるため、GPUなどの計算リソースを効率的に利用できます。
  3. プリフィル手法:
    ターゲットモデルは、ドラフトモデルが生成した複数のトークンに基づいて予測を行い、これを一種のプリフィル(事前充填)として使用します。ターゲットモデルがすべての候補を1つずつ独立に生成する代わりに、有効なトークンのセットを確認し、受け入れることで、計算を省略します。

実際の計算削減のポイント

  • 並列処理
    ターゲットモデルがドラフトモデルから提供されたトークン群をバッチで処理することにより、トークンごとの生成ではなく、効率的な並列処理が可能になります。
  • 選択的検証
    ターゲットモデルは有効と判断したトークンのみを受け入れます。これにより、全体的な生成プロセスのステップ数が減少し、無駄な計算が省かれます。
  • 効率的なデータ処理
    ドラフトモデルからの入力を使用することで、ターゲットモデルは入力の一部としてこれを活用し、全体の計算負荷を削減します。

まとめ

いかがでしたでしょうか、今回はなるべく数式を用いずに、投機的デコーディングについて解説してみました。

投機的デコーディングでは、確かにターゲットモデルで最終的な計算が行われますが、ドラフトモデルの出力を利用して効率的に処理を行うことで、全体の計算コストとレイテンシーを削減できます。この方法により、ターゲットモデルの計算負担が軽減され、より迅速かつ効率的なデータ処理が可能になります。

Qualiteg 技術コンサルティング

推論の高速化、アルゴリズムから実装まで相談できます。

Speculative Decoding のような高速化技術は、理論の理解と実装・評価がそろって初めて効果を出します。

私たちは自社で LLM プロダクトを開発・運用しています。推論最適化・モデル評価から、PyTorch を用いた実装まで、机上の空論ではなく実装経験に基づいて支援します。

生成AI・モデル開発の技術コンサルを見る →

参考文献

https://arxiv.org/pdf/2211.17192
https://arxiv.org/pdf/2302.01318

論文「2402.01528v2」と「2211.17192v2」によりますと、投機的デコーディングの有効性はドラフトモデルの選定に大きく依存しているようです。

これらの研究では、異なるドラフトモデルがどのようにターゲットモデルの性能に影響を与えるかを検証していますが、とくにトークン受容率(TAR)=ドラフトモデルが生成したトークンのうち、ターゲットモデルがどれだけ受け入れるかが、スループット向上の鍵を握るようです。当然といえば当然で、ドラフトモデルがイケてるトークン(logits)をどれだけ出せるか、ですね。

Read more

Claude Fable 5はこれからどうなる? 経緯・コスト・今後の見通しをファクトベースで整理する

Claude Fable 5はこれからどうなる? 経緯・コスト・今後の見通しをファクトベースで整理する

こんにちは! 2026年7月2日(日本時間)、日本からもClaude Fable 5が再び利用できるようになりました。 2026年6月に大きな注目を集めて登場し、わずか3日で米政府の指令により停止、そして7月1日(米国時間)に復活したAnthropicの最上位モデル「Claude Fable 5」。 復活と同時に 「サブスクで使えるのは7月7日まで」 という条件が付いたことで、利用者の間ではコストへの懸念の声も見られます。 本記事では、憶測と事実を切り分けながら、 (1)これまでの経緯、 (2)確定している料金体系、 (3)実際のコスト試算、 (4)今後の見通し、 の4点を整理します。確定情報(ファクト)と筆者の推測は明確に区別して書きます。 ※本記事の日付は、特記のない限りAnthropicの発表に基づく米国時間を基準としています。 なお当ブログでは、Fable 5 / Mythos 5についてリリース直後の技術解説、米政府指令による停止が示した可用性リスクの考察、Fable 5の安全分類器がClaude Code上で実際にどう振る舞ったかの体験記を公開してきました。

By Qualiteg コンサルティング
モデルを「壊さずに」ドメインを広げる ― XLM-RoBERTa 継続学習の設計ノート

モデルを「壊さずに」ドメインを広げる ― XLM-RoBERTa 継続学習の設計ノート

こんにちは、Qualiteg研究部です。 今日は「すでに完成している強いモデルを、壊さずに広げる」という、地味だけど実務でとても大事なテーマを取り上げたいと思います。 機械学習に取り組んでいると、 「一度しっかり仕上げたモデルを、新しい用途やデータに合わせてもう少し広げたい」 そんな場面はよく出てきます。 今回ご紹介するNER(固有表現抽出)のシーンに限らず、いろいろなタスクで共通する悩みではないでしょうか。 ところが、ここで素朴に追加学習をかけると、せっかくの強みがあっさり崩れてしまう。 私たちは、PII(個人特定情報や要配慮情報)を検出・マスキングするエンジン(PII-FI)を構築する際、実際にそれを経験しました。 Precision(適合率)が 0.83 から 0.17 まで転げ落ちる、なんてことも本当に起きるんです。 PII検出では、ドメイン(分野)ごとに検出したいPII型の種類や求められる精度が異なる場合があります。そこで1つのエンジンといっても、対応ドメインを広げていくたびに(そのドメインに適応させるための)追加学習が求められることがあります。 本稿は、そう

By Qualiteg 研究部
Claude Codeで出てくる「court」って何? “XML露出” 現象とツール呼び出し未実行事故の対策

Claude Codeで出てくる「court」って何? “XML露出” 現象とツール呼び出し未実行事故の対策

こんにちは! Qualitegプロダクト開発部です。 Claude Code を使っていると、ツール呼び出しの XML(<invoke> や <parameter>)が画面にそのまま表示されたり、実際にはコマンドや PR 作成が実行されていないのに「完了しました」と報告されたりして、動作がおかしくなることがあります。 そして、その呼び水となる文字列 court や course や count が出現します 本稿では、 この現象(本稿では「XML露出」と呼びます)を実ログから解説し、検知と対策をまとめました。 ● ● ●  claude-code — bash➜ ~/qualiteg-project claude> プロジェクト配下のストレージ使用量を調査します。court<invoke name="Bash">

By Qualiteg プロダクト開発部
AIが攻撃と防御の両方を変える――セキュリティ市場2026と次の10年

AIが攻撃と防御の両方を変える――セキュリティ市場2026と次の10年

ここ数年で、サイバーセキュリティをめぐる議論の前提は大きく変わりました。かつての中心は「いかに侵入を防ぐか」でしたが、いまは攻撃側も防御側も、ともにAIを使い始めています。攻撃が機械の速度で自動化・大規模化する一方、防御も人手だけでは追いつかない領域に入りつつあります。本記事では、公開されている市場データをもとに、AI時代のセキュリティ市場を「どこが伸び、どこが重なり、どこに注意すべきか」という観点から整理します。 「AIとセキュリティ」には三つの市場がある 最初に、用語を整理しておきます。「AIセキュリティ」とひとくくりにすると分かりにくいのですが、実際には少なくとも三つの異なるテーマが同時に進んでいます。 この三つの違いは、「誰がAIを使うのか」と「何を守るのか」で考えると分かりやすくなります。 第一は、防御側がAIを使う「AIで守る」領域です。 攻撃者がAIを使っているかどうかにかかわらず、企業やセキュリティ事業者がAIを利用して、サイバー攻撃やインシデントを検知・分析・阻止します。大量のログやアラートの分析、脅威の優先順位付け、異常の検知、初動対応の支援などは、すでに

By Qualiteg コンサルティング, Qualiteg AIセキュリティチーム