SPEED-Benchの紹介:投機的デコーディングのための統一かつ多様なベンチマーク
Hugging Faceは、推論速度向上技術であるSpeculative Decodingの評価課題を解決し、実環境に近い条件でドラフト品質とスループットを測定できる統一ベンチマーク「SPEED-Bench」を公開した。
キーポイント
既存ベンチマークの課題
従来のSD評価は小さなプロンプトや限られたセマンティック多様性、バッチサイズ1などの非現実的な条件に依存しており、実運用環境での速度向上を正確に反映できていない。
SPEED-Benchの二軸評価設計
ドラフトモデルの精度を測る「Qualitative」分割と、高並行・長シーケンスにおけるシステムレベルの高速化を評価する「Throughput」分割の2つのデータセットを採用し、多様な実装条件をカバーする。
本番環境連携の統一測定枠組み
実運用向け推論エンジンと直接統合した評価フレームワークを提供し、メモリ制約や計算リソースの偏りがある本番環境での実際の速度向上を標準化して比較可能にした。
ISL Buckets & Difficulty Categorization
Fixed input sequence length buckets (1k–32k tokens) are grouped into low, mixed, and high entropy categories, with 1,536 prompts per bucket to ensure stable throughput analysis.
Deterministic Prefill & Rejection of Random Tokens
Prompts are controlled via truncation/padding to maintain semantic content and deterministic costs, explicitly avoiding random tokens that distort acceptance behavior and throughput metrics.
Unified External Measurement Framework
Tokenization and prompt formatting are handled externally to guarantee identical inputs across engines (TensorRT-LLM, vLLM, SGLang), enabling precise cross-engine comparison of acceptance rates, latency, and throughput.
多様なドメインでの分析と実運用向け評価
ドメイン横断的なドラフト精度の分析、現実的なサービング環境でのスループット測定、同一ワークロードによる推論エンジン比較を可能にする。
影響分析・編集コメントを表示
影響分析
本ベンチマークの公開は、Speculative Decodingの実装最適化において「理論上の速度向上」と「実環境での体感速度」の乖離を是正する重要なマイルストーンとなる。これにより、大規模言語モデルの推論コスト削減とスケーラビリティ向上が、より現実的な基準で検証・比較可能になり、業界全体のインフラ最適化の標準が確立される。
編集コメント
推論速度向上技術の評価基準が統一されることで、今後はSpeculative Decodingの実装比較がより公平かつ実務寄りに行われるようになるでしょう。インフラチームは本ベンチマークを環境構築の基準値として活用すべきです。
記事に戻る
投機性デコーディング(Speculative Decoding)のための統一かつ多様なベンチマーク「SPEED-Bench」の紹介
13 件の高評価 ![]()
投機性デコーディング(Speculative Decoding: SD)は、大規模言語モデル(LLM)の推論を加速するための重要な技術として台頭してきました。SD は軽量なドラフトモデルを使用して複数の未来トークンを予測し、それをターゲットモデルが並列に検証します。これにより、SD はターゲットモデルの正確な出力分布を維持しつつ、スループットを大幅に向上させることができます。
投機性デコーディング(SD)アルゴリズムにおける急速な進展にもかかわらず、その評価は断片的であり、現実世界のデータやサービス条件を代表していないことが多々あります。実際には、SD の推測品質と推論の高速化効果は、本質的にデータ依存性、サービスレジーム依存性、およびシステム依存性を有しています。しかしながら、既存のベンチマークの多くは、小規模なプロンプトセット、限定的な意味的多様性、短い入力シーケンス長、バッチサイズ 1、または生産環境を反映していない高レベルの推論スタックに依存しています。
これらのギャップに対処するため、私たちはSPEED-Benchを導入します。これは、生産グレードの推論エンジンを用いて、多様な意味領域と現実的なサービス環境におけるSD(Speculative Decoding)を評価するために設計された統一ベンチマークです。
SPEED-Benchとは何か?
SDは2つの視点から評価される必要があります。
一方、ドラフトの品質は、意味領域と入力テキストのエントロピーに依存します。他方、現実世界での速度向上は、バッチサイズ、入力シーケンス長(ISL)、およびシステム制約に依存し、これらが推論がメモリーバウンドか計算バウンドかを決定づけます。
したがって、SPEED-BenchはSDのためのベンチマークエコシステムを導入します。これは、2つの目的別に設計されたデータ分割と、統一された測定フレームワークを組み合わせ、それぞれがSDの異なる側面を捉えるように設計されています:
意味的多様性を最適化し、ドメイン横断的な推測品質(ドラフターの精度)を測定するために設計された「定性的」データ分割。
さまざまな入力シーケンス長と高同時実行性におけるシステムレベルの速度向上を評価するために構築された「スループット」データ分割。
生産用推論エンジンに統合され、システム間での評価を標準化する統一された測定フレームワーク。
これら3つのコンポーネントにより、実務家や研究者は、既存のベンチマークでは隠蔽されてしまうことが多いSDの挙動を分析できるようになります。
図1はSPEED-Benchエコシステムの全体像を示しています。
定性的分割:意味カバレッジとドラフト精度
Qualitative スプリットの目的は、幅広い意味論的ドメインにわたる推測性デコーディングの品質、具体的には条件付き受容率(ARs)と受容長(ALs)を測定することです。
SpecBench は、広く使用されているデータセットからのインスタンスを集約して統一されたテスト環境を構築することで、多対話会話、翻訳、数学的推論など多様なアプリケーションシナリオにわたる最初の統合型 SD ベンチマークを導入しました。しかし、標準化された評価への重要な一歩であるにもかかわらず、規模と多様性に関する重大な限界があります。ほとんどのカテゴリには平均入力長が短い(100 トークン未満)サンプルがわずか 10 個程度しか含まれておらず、現代のドラフターを十分に負荷させることができない可能性があります。さらに、いくつかのカテゴリは構造的な多様性に欠けており、例えば多言語カテゴリはドイツ語から英語への翻訳プロンプトのみで構成されているといったケースがあります。
多数のデータセットにわたる広範な評価が理論的には可能である一方で、それは面倒であり、迅速な実験には実用的ではなく、異なる研究グループが公開する SD アルゴリズムやモデル間の直接的な比較を妨げます。異種データセット全体での網羅的な評価に依存するのではなく、意味論的多様性を最大化するように設計された、コンパクトながら非常に代表性の高いサブセットをキュレーションしました。私たちは 18 の公的に利用可能なソースからデータを収集し、コーディング、数学、人文科学、STEM(科学・技術・工学・数学)、ライティング、要約、ロールプレイ、RAG(Retrieval-Augmented Generation:検索拡張生成)、多言語、推論、QA(質問応答)の 11 カテゴリに整理しました。
各カテゴリには 80 サンプルが含まれており、合計 880 のプロンプトとなります。従来のベンチマークがしばしばカテゴリ内多様性の低さに悩まされるのとは異なり、SPEED-Bench の定性的分割(Qualitative split)は明示的に意味的多様性を優先しています。
これを実現するために、各候補プロンプトは事前学習済みテキスト埋め込みモデル(openai/text-embedding-3-small)を用いて密なベクトル空間に埋め込まれます。
このアプローチの有効性は図 2 に示されており、そこでは SPEED-Bench と SpecBench の平均意味的類似性が比較されています。
このような意味的多様性は、SD(推測的デコーディング)におけるドメイン依存の挙動を明らかにする上で極めて重要です。例えば、低エントロピー領域(例:コーディング、数学)と高エントロピー領域(例:ロールプレイ、ライティング)との間の顕著な対比などが該当します。
スループット分割(Throughput split): 現実的なサービスワークロード
定性的分割はドラフトの精度を捉えるものですが、システムレベルでの速度向上を評価するには不十分です。
システムレベルでの速度向上を評価するために、2 つの指標を用います。1 つ目はスループット(Output TPS)で、これはすべての並行リクエスト全体で 1 秒間に生成されるトークンの総数です。2 つ目はユーザー TPS で、これは 1 リクエストあたりのトークン生成レートです。ユーザー TPS はエンドユーザーのレイテンシを代理する指標として機能します。
本番環境では、モデルは高い同時実行性と幅広い入力シーケンス長の下で提供されます。これらは多くの SD ベンチマークで使用される短い ISL サンプルよりもはるかに長いことが多く、バッチサイズが増加すると推論が計算集約型からメモリ集約型の領域へ移行し、結果としてスペキュレティブ・ディコーディング(Speculative Decoding)のコストとベネフィットのトレードオフが根本的に変化します。
スループット分割は、この挙動を捉えるために特に設計されています。
1k から 32k トークンまでの固定された ISL バケットを構築し、コーディングアシスタントや検索拡張生成(Retrieval-Augmented Generation)など、長文コンテキストアプリケーションの重要性が高まっていることを反映させています。各 ISL バケットに対して、プロンプトは低エントロピー、混合エントロピー、高エントロピーのドメインに対応する 3 つの粗粒度の難易度カテゴリに集約されます。
各 ISL バケットには 1,536 のプロンプト(難易度カテゴリごとに 512)が含まれており、幅広いバッチサイズにわたって安定したスループットのパレート曲線を構築するのに十分な量を提供しています(図 3)。
決定論的なプリフィルコストを確保するため、プロンプトは意味内容を保持しつつ、制御された方法で切り捨てまたはパディングされます。
重要なのは、SPEED-Bench がスループットベンチマークのためにランダムなトークン入力を使用しないことです。後述する通り、ランダムなトークンは受容動作や MoE モデル(Mixture of Experts)におけるエキスパートルーティング、そしてスループット測定を著しく歪め、過度に楽観的な結論を導き出す可能性があります。
統合された計測フレームワーク
推論エンジン全体で SD をベンチマークすることは、微妙だが極めて重要な課題を提示します。
異なる推論エンジンでは、チャットテンプレートの適用方法や BOS トークンの扱い、入力のトークン化の仕方が一貫していない場合があります。これらの違いは、草案されたシーケンスを静かに変更し、エンジン間の比較結果を信頼できないものにしてしまいます。
SPEED-Bench は、トークン化とプロンプト整形を外部で処理する軽量な測定フレームワークを導入しています。推論エンジンには事前にトークン化されたシーケンスが渡されるため、すべてのシステムが同一の入力を処理することが保証されます。
このフレームワークは、TensorRT-LLM、vLLM、SGLang といった本番環境向けエンジンと統合されており、ストリーミング応答から微細なタイミング情報を取得します。これにより、受け入れ動作(acceptance behavior)、ステップごとのレイテンシ、ユーザーレベルでのトークン生成速度(tokens-per-second)、および全体のスループットを計算することが可能になります。
以下は、SPEED-Bench の定性的分割(Qualitative split)において、ターゲットモデルに Llama 3.3 70B Instruct を、草案モデルに EAGLE3 を設定し、TensorRT-LLM を使用してバッチサイズ 32(8 基の H100 GPU)で測定フレームワークを実行した例です。
bash-5.2$ mpirun -n 1 --oversubscribe python3 run.py --model_dir meta-llama/Llama-3.3-70B-Instruct --tokenizer meta-llama/Llama-3.3-70B-Instruct --draft_model_dir yuhuili/EAGLE3-LLaMA3.3-Instruct-70B --dataset speed --dataset_path data/speed/qualitative --tp_size 8 --ep_size 1 --draft_length 3 --output_length 4096 --engine TRTLLM --concurrency 32 --show_progress ... [TensorRT-LLM] TensorRT LLM バージョン:1.2.0rc1 ... リクエストの実行(並列度=32): 100%|██████████| 880/880 [02:58<00:00, 4.93it/s] ... 採択長ヒストグラム {1: 57385, 2: 36968, 3: 24441, 4: 61182} 条件付き採択率 1 1.0 2 0.681151931368627 3 0.6984444208791836 4 0.7145509968116043 採択率結果 ┏━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ カテゴリ ┃ 平均 AR ┃ ┡━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━┩ │ コーディング │ 3.0001 │ │ 人文系 │ 2.3699 │ │ 数学 │ 2.4710 │ │ 多言語 │ 1.7277 │ │ QA(質問応答) │ 2.3184 │ │ RAG(検索拡張生成) │ 2.7502 │ │ 推論 │ 2.6142 │ │ ロールプレイ │ 2.0407 │ │ STEM(科学・技術・工学・数学) │ 2.4306 │ │ 要約 │ 2.6026 │ │ 文章作成 │ 2.6364 │ ├─────────────────┼────────────┤ │ 全体平均 │ 2.4511 │ └─────────────────┴────────────┘ 出力 TPS 2518.1464055829188 GPU 当たり出力 TPS 314.76830069786485 E2E リクエスト時間 {'min': '0.1031', 'max': '51.3442', 'mean': '4.7313', 'std': '4.8872', 'quantiles': {'0.25': '1.6972', '0.5': '3.5459', '0.75': '6.1715'}} TTFT(Time To First Token)時間 {'min': '0.0528', 'max': '0.8010', 'mean': '0.1217', 'std': '0.1133', 'quantiles': {'0.25': '0.0841', '0.5': '0.0982', '0.75': '0.1139'}} リクエスト生成ステップ時間 {'min': '0.0000', 'max': '0.8010', 'mean': '0.0299', 'std': '0.0173', 'quantiles': {'0.25': '0.0259', '0.5': '0.0267', '0.75': '0.0280'}} リクエスト生成トークン毎秒 {'min': '35.1116', 'max': '142.9547', 'mean': '85.3162', 'std': '17.4823', 'quantiles': {'0.25': '75.0608', '0.5': '84.9756', '0.75': '97.0815'}} 出力トークン数 {'min': '3.0000', 'max': '4096.0000', 'mean': '394.8787', 'std': '452.7451', 'quantiles': {'0.25': '123.0000', '0.5': '281.0000', '0.75': '518.2500'}}
この設計により、SD アルゴリズムとシステム最適化の影響を前処理のアーティファクトから分離しています。
SPEED-Bench からの洞察
ドメイン依存の精度と速度向上
以下の表は、現実的なバッチサイズ(32)およびドラフト長 3 の条件下で、各ドメインおよびモデルにおける平均受容長と速度向上率を示しています。
結果は、SD の受容長がドメインに強く依存することを裏付けています。コーディングや数学のような低エントロピーのドメインでは一貫して高い受容長が得られる一方、ロールプレイやライティングのような高エントロピーなタスクは推測が困難です。
また、この表は推測手法間の違いも浮き彫りにしています。N-Gram 推測などの軽量アプローチでは、中程度のバッチサイズにおいてむしろ速度低下を招く可能性があります。さらに、ネイティブ MTP ヘッド(Multi-Token Prediction Head)は、EAGLE3 のような事後学習型のアプローチよりも著しく大きな受容長(AL: Acceptance Length)を実現しており、ベースモデルとドラフターをゼロから共同訓練することの利点が強調されています。
Llama 3.3 70B with N-Gram (TensorRT-LLM)
GPT OSS 120B with EAGLE3 (TensorRT-LLM)
Qwen3-Next with MTP (SGLang)
すべてのカテゴリおよび異なるモデルにおける定性的分割(Qualitative split)の完全な結果は、当論文に記載されています。
語彙削減が露呈するロングテール失敗事例
SPEED-Bench は、過激なシステム最適化に伴う副作用を明らかにするためにも役立ちます。
語彙の剪定は、EAGLE3 において最終的な投影層の計算コストを削減するために用いられています。この最適化は狭いドメインでは効果的ですが、ユーザー入力の「ロングテール」部分においては受容長(acceptance length)が低下する可能性があります。
図 4 は、GPT-OSS 120B に EAGLE3 を適用する際に、完全な語彙と剪定された語彙のどちらを使用するかによってドメインごとの受容長がどうなるかを示しています。その影響はコーディング(Coding)や数学(Math)では最小限ですが、多言語(Multilingual)、RAG、要約(Summarization)のカテゴリーでは顕著です。
これらの効果は多様性の低いベンチマークではほとんど目に見えないため、評価データにおける広範な意味的カバレッジの重要性が浮き彫りになります。
ランダムトークンはスループットを過大評価する
推論ベンチマークにおいて、プロンプト負荷をシミュレートするためにランダムトークンを使用するのは一般的な慣行です。自己回帰型デコーディング(autoregressive decoding)には十分である場合もありますが、このアプローチは以下に示すように、SD アルゴリズムや、仮説生成を行わない混合専門家モデル(MoE: Mixture of Experts models)においても根本的に欠陥があります。
ランダムトークンは測定値を歪める 2 つの失敗モードを引き起こします:
自明な応答:モデルはノイズを識別し、予測可能な承認にデフォルトで切り替えるため、受容長(AL: Acceptance Length)が人為的に膨らんでしまいます。
出力例(ベース:GPT-OSS 120b、ドラフター:EAGLE3、ドラフト長:3、平均 AL: 3.44):
これは非常に長い混合言語のテキストブロックを貼り付けたようですが、明確な質問や要求にはなっていません。お手伝いできることはありますが、もう少し具体的なご指示が必要です。このテキストで何をしたいのか教えていただけますか?例えば:...
トピック・ラッチング:モデルはノイズ内の特定のキーワードに固定され、一貫性のある応答を幻覚的に生成するため、通常は低い平均承認率(AL)をもたらします。
出力例(ベース:GPT-OSS 120b、ドラフター:EAGLE3、ドラフト長:3、平均 AL: 1.877):
以下は、Unity の初回インストールから、プレイヤー、カメラ、敵キャラクター、収集アイテム、UI、オーディオ、レベル読み込み、そして最終ビルドに至るまで、完成度が高く洗練された 2D プラットフォームゲームの作成までを網羅する、実運用可能なロードマップです。すべてのタスクは細分化されており、各タスクには実行すべき具体的なアクションと、そのままコピーして使用できる C# スニペットが含まれています。
図 5 は、ランダムなトークンを使用した場合と SPEED-Bench ワークロードを使用した場合に測定したスループットを比較しています。推論加速(SD)を有効化すると、ランダムなトークンによるスループットの過大評価は約 23% に達します。
図 6 で示されているように、ランダムな入力では MoE モデルにおける現実的な専門家ルーティングもトリガーされず、推論加速(SD)を適用しない設定であっても、不正確なスループット測定結果をもたらします。
SPEED-Bench の利用開始
SPEED-Bench は、研究環境および実運用環境の両方において、推論加速(SD)の評価のための統一された基準を確立するためにリリースされました。
これにより、実践者は多様なドメインにおけるドラフト精度を分析し、現実的なサービス体制下でのスループットを測定し、同一のワークロードを用いて推論エンジン同士を比較することが可能になります。
本データセットおよび計測フレームワークはオープンに公開されており、既存の推論加速(SD)実装と直接統合できるように設計されています。
⚙️ 計測フレームワーク
SPEED-Bench が、推測的デコーディング(speculative decoding)のより厳密で現実的かつ展開を意識した評価を推進する手助けとなることを願っています!













図 5:ユーザー TPS を関数とするスループット。ランダム入力トークンと Throughput Split (8k) を比較。ターゲットは EAGLE3 ドラフターを備えた GPT-OSS 120B で、TensorRT-LLM 上で測定。DL=3。点は BS(バッチサイズ)が 1 から 128 の範囲を表す。
図 6:層インデックスに対するアクティブ化されたユニークなエキスパート数。ランダム入力トークンと Throughput Split (8k) を比較。ターゲットモデルは GPT-OSS 120B、BS=32。
原文を表示
Back to Articles Introducing SPEED-Bench: A Unified and Diverse Benchmark for Speculative Decoding
Upvote 13 ![]()
Speculative Decoding (SD) has emerged as a critical technique for accelerating LLM inference. SD uses a lightweight draft model to speculate multiple future tokens, which are then verified in parallel by the target model. This way, SD can significantly improve throughput while preserving the exact output distribution of the target model.
Despite rapid progress in SD algorithms, their evaluation remains fragmented and often unrepresentative of real-world data and serving conditions. In practice, SD speculation quality and inference speedups are inherently data-dependent, serving-regime–dependent, and system-dependent. Yet most existing benchmarks rely on small prompt sets, limited semantic diversity, short input sequence lengths, batch size one, or high-level inference stacks that do not reflect production environments.
To address these gaps, we introduce SPEED-Bench: a unified benchmark designed to evaluate SD across diverse semantic domains and realistic serving regimes, using production-grade inference engines.
What is SPEED-Bench?
SD must be evaluated from two perspectives.
On one hand, draft quality depends on the semantic domain and entropy of the input text. On the other hand, real-world speedups depend on batch size, input sequence length (ISL), and system constraints, which determine whether inference is memory-bound or compute-bound.
SPEED-Bench therefore introduces a benchmarking ecosystem for SD. It combines two purpose-built dataset splits and a unified measurement framework, each designed to capture a different aspect of SD behavior:
A “Qualitative” data split, optimized for semantic diversity and designed to measure speculation quality (drafter accuracy) across domains.
A “Throughput” data split, constructed to evaluate system-level speedups across various input sequence lengths and high concurrency.
A unified measurement framework, integrated with production inference engines, that standardizes evaluation across systems.
Together, these components enable practitioners and researchers to analyze SD behavior that is often masked by existing benchmarks.
Figure 1 provides a high-level overview of the SPEED-Bench ecosystem.
The Qualitative split: semantic coverage and draft accuracy
The goal of the Qualitative split is to measure speculative decoding quality, specifically conditional acceptance rates (ARs) and acceptance lengths (ALs), across a wide range of semantic domains.
SpecBench introduced the first unified SD benchmark across diverse application scenarios, such as multi-turn conversation, translation, and mathematical reasoning, by aggregating instances from widely used datasets into a unified testing environment. However, despite being a significant step toward standardized evaluations, it has critical limitations regarding scale and diversity. Most categories contain as few as 10 samples with short mean input lengths (< 100 tokens) that may fail to stress modern drafters. Additionally, some of its categories often lack structural diversity, such as the multilingual category consisting entirely of German-to-English translation prompts.
While extensive evaluation across numerous datasets is theoretically possible, it is tedious, impractical for rapid experimentation, and hinders direct comparisons between different research groups releasing SD algorithms and models. Instead of relying on exhaustive evaluations across disparate datasets, we curate a compact yet highly representative subset designed to maximize semantic diversity. We aggregate data from 18 publicly available sources and organize it into 11 categories, including Coding, Math, Humanities, STEM, Writing, Summarization, Roleplay, RAG, Multilingual, Reasoning, and QA.
Each category contains 80 samples, resulting in a total of 880 prompts. Unlike prior benchmarks, which often suffer from low intra-category diversity, the SPEED-Bench Qualitative split explicitly prioritizes semantic diversity.
To achieve this, each candidate prompt is embedded into a dense vector space using a pretrained text embedder (openai/text-embedding-3-small
The effectiveness of this approach is shown in Figure 2, which compares average semantic similarity across SPEED-Bench and SpecBench.
This semantic diversity is critical for exposing domain-dependent behavior in SD, such as the strong contrast between low-entropy domains (e.g., Coding, Math) and high-entropy domains (e.g., Roleplay, Writing).
The Throughput split: realistic serving workloads
While the Qualitative split captures draft accuracy, it is insufficient for evaluating system-level speedups.
We evaluate system-level speedups using two metrics: Throughput (Output TPS), the total tokens generated per second across all concurrent requests, and User TPS, the per-request token generation rate. User TPS acts as a proxy for end-user latency.
In production environments, models are served under high concurrency and a wide range of input sequence lengths, which are often much longer than the short ISL samples used in many SD benchmarks. As batch size increases, inference often transitions from a compute-bound regime to a memory-bound regime, fundamentally changing the cost-benefit trade-offs of speculative decoding.
The Throughput split is designed specifically to capture this behavior.
We construct fixed ISL buckets ranging from 1k to 32k tokens, reflecting the growing importance of long-context applications such as coding assistants and retrieval-augmented generation. For each ISL bucket, prompts are aggregated into three coarse difficulty categories corresponding to low-, mixed-, and high-entropy domains.
Each ISL bucket contains 1,536 prompts (512 per difficulty category), providing sufficient volume to construct stable throughput Pareto curves across a wide range of batch sizes (Figure 3).
To ensure deterministic prefill cost, prompts are either truncated or padded in a controlled manner, while preserving their semantic content.
Importantly, SPEED-Bench avoids the use of random token inputs for throughput benchmarking. As we show later, random tokens can severely distort acceptance behavior, expert routing in MoE models, and throughput measurements, leading to overly optimistic conclusions.
A unified measurement framework
Benchmarking SD across inference engines presents a subtle but critical challenge.
Different engines may apply different chat templates, handle BOS tokens differently, or tokenize inputs inconsistently. These differences can silently alter the drafted sequence, making cross-engine comparisons unreliable.
SPEED-Bench introduces a lightweight measurement framework that handles tokenization and prompt formatting externally. Inference engines receive pre-tokenized sequences, ensuring that all systems process identical inputs.
The framework integrates with production-grade engines: TensorRT-LLM, vLLM, and SGLang. It captures fine-grained timing information from streaming responses to compute acceptance behavior, step latency, user-level tokens-per-second, and overall throughput.
Below is an example of running our measurement framework on Llama 3.3 70B Instruct as the target model with EAGLE3 as the draft model on the Qualitative split of SPEED-Bench, using TensorRT-LLM with a batch size of 32 (8*H100 GPUs):
bash-5.2$ mpirun -n 1 --oversubscribe python3 run.py --model_dir meta-llama/Llama-3.3-70B-Instruct --tokenizer meta-llama/Llama-3.3-70B-Instruct --draft_model_dir yuhuili/EAGLE3-LLaMA3.3-Instruct-70B --dataset speed --dataset_path data/speed/qualitative --tp_size 8 --ep_size 1 --draft_length 3 --output_length 4096 --engine TRTLLM --concurrency 32 --show_progress ... [TensorRT-LLM] TensorRT LLM version: 1.2.0rc1 ... Running requests (concurrency=32): 100%|██████████| 880/880 [02:58<00:00, 4.93it/s] ... Acceptance Length Histogram {1: 57385, 2: 36968, 3: 24441, 4: 61182} Conditional acceptance rate 1 1.0 2 0.681151931368627 3 0.6984444208791836 4 0.7145509968116043 Acceptance Rate Results ┏━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Category ┃ Average AR ┃ ┡━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━┩ │ coding │ 3.0001 │ │ humanities │ 2.3699 │ │ math │ 2.4710 │ │ multilingual │ 1.7277 │ │ qa │ 2.3184 │ │ rag │ 2.7502 │ │ reasoning │ 2.6142 │ │ roleplay │ 2.0407 │ │ stem │ 2.4306 │ │ summarization │ 2.6026 │ │ writing │ 2.6364 │ ├─────────────────┼────────────┤ │ Overall Average │ 2.4511 │ └─────────────────┴────────────┘ Output TPS 2518.1464055829188 Output TPS/gpu 314.76830069786485 E2E Request Time {'min': '0.1031', 'max': '51.3442', 'mean': '4.7313', 'std': '4.8872', 'quantiles': {'0.25': '1.6972', '0.5': '3.5459', '0.75': '6.1715'}} TTFT Time {'min': '0.0528', 'max': '0.8010', 'mean': '0.1217', 'std': '0.1133', 'quantiles': {'0.25': '0.0841', '0.5': '0.0982', '0.75': '0.1139'}} Request Generation Step Time {'min': '0.0000', 'max': '0.8010', 'mean': '0.0299', 'std': '0.0173', 'quantiles': {'0.25': '0.0259', '0.5': '0.0267', '0.75': '0.0280'}} Request Generation Tokens Per Second {'min': '35.1116', 'max': '142.9547', 'mean': '85.3162', 'std': '17.4823', 'quantiles': {'0.25': '75.0608', '0.5': '84.9756', '0.75': '97.0815'}} Number of Output Tokens {'min': '3.0000', 'max': '4096.0000', 'mean': '394.8787', 'std': '452.7451', 'quantiles': {'0.25': '123.0000', '0.5': '281.0000', '0.75': '518.2500'}}
This design isolates the effects of SD algorithms and system optimizations from preprocessing artifacts.
Insights from SPEED-Bench
Domain-dependent accuracy and speedups
The table below reports average acceptance lengths and speedups across domains and models at a realistic batch size (32) and a draft length of 3.
The results confirm that SD acceptance length is highly domain-dependent. Low-entropy domains such as Coding and Math consistently yield higher acceptance lengths, while high-entropy tasks such as Roleplay and Writing are more difficult to speculate on.
The table also highlights differences between speculation methods. Lightweight approaches such as N-Gram speculation can result in net slowdowns at moderate batch sizes. We further see that native MTP heads achieve significantly larger ALs than post-trained alternatives like EAGLE3, highlighting the benefit of co-training the base model and drafter from scratch.
Llama 3.3 70B with N-Gram (TensorRT-LLM)
GPT OSS 120B with EAGLE3 (TensorRT-LLM)
Qwen3-Next with MTP (SGLang)
Full results on the Qualitative split of all categories and different models are in our paper.
Vocabulary pruning reveals long-tail failures
SPEED-Bench can also assist with exposing side effects of aggressive system optimizations.
Vocabulary pruning is used in EAGLE3 to reduce the computational cost of the final projection layer. While effective on narrow domains, this optimization can degrade acceptance length on the “long tail” of user inputs.
Figure 4 shows acceptance length across domains when using full vs. pruned vocabularies for GPT-OSS 120B with EAGLE3. The impact is minimal in Coding and Math, but substantial in Multilingual, RAG, and Summarization categories.
These effects are largely invisible in low-diversity benchmarks, underscoring the importance of broad semantic coverage in the evaluation data.
Random tokens overestimate throughput
A common practice in inference benchmarking is to use random tokens to simulate prompt load. While may be sufficient for autoregressive decoding, this approach is fundamentally flawed for SD algorithms and even for mixture of experts models (MoE) without speculation, as presented below.
Random tokens trigger two failure modes that skew measurements:
Trivial Response: The model identifies noise and defaults to predictable acknowledgments, artificially inflating ALs.
Example output (Base: GPT-OSS 120b, Drafter: EAGLE3, Draft Length:3, Average AL: 3.44):
It looks like you’ve pasted a very long block of mixed‑language text that doesn’t form a clear question or request. I’m happy to help, but I need a bit more guidance. Could you let me know what you’d like to do with this text? For example: ...
Topic Latching: The model anchors to specific keywords within the noise and hallucinates a coherent response typically resulting in lower ALs.
Example output (Base: GPT-OSS 120b, Drafter: EAGLE3, Draft Length:3, Average AL: 1.877):
Below is an expanded, production‑ready roadmap that takes you from the very first Unity install all the way to a complete, polished 2‑D platformer (player, camera, enemies, collectibles, UI, audio, level loading, and a final build). Everything is broken into bite‑size tasks, each with the exact actions you need to perform and ready‑to‑copy C# snippets. ...
Figure 5 compares throughput measured using random tokens vs. SPEED-Bench workloads. When SD is enabled, random tokens overestimate throughput by approximately 23%.
Random inputs also fail to trigger realistic expert routing in MoE models, leading to inaccurate throughput measurements even in non-speculative settings, as presented in Figure 6.
Start using SPEED-Bench
SPEED-Bench is released to establish a unified standard for evaluating SD in both research and production settings.
It enables practitioners to analyze draft accuracy across diverse domains, measure throughput under realistic serving regimes, and compare inference engines using identical workloads.
The dataset and measurement framework are openly available and designed to integrate directly with existing SD implementations.
⚙️ Measurement framework
We hope SPEED-Bench helps drive more rigorous, realistic, and deployment-aware evaluation of speculative decoding!















関連記事
今日のまとめ
AI日報で今日の重要ニュースをまとめ読み