**Introducing SPEED-Bench: A Unified and Diverse Benchmark for Speculative Decoding**
Key Summary
- ā¢SPEED-Bench is a new, unified test for Speculative Decoding that checks both how smart the guesses are and how fast the whole system runs.
- ā¢It has two special data splits: one to measure guess quality across many topics (Qualitative) and one to measure real serving speed at big scales (Throughput).
- ā¢The benchmark carefully picks diverse prompts using embeddings so models are tested on many different kinds of tasks, not just easy or similar ones.
- ā¢It also standardizes how inputs are tokenized and measured so results are fair across engines like TensorRT-LLM, vLLM, and SGLang.
- ā¢Results show that acceptance length and speedups depend a lot on the domain: coding and math are easier to speculate, while roleplay and writing are harder.
- ā¢Post-training drafters like EAGLE3 help, but models with native multi-token prediction heads can achieve even longer accepted runs.
- ā¢Using random tokens to test speed is misleading and can overestimate throughput by about 23% when Speculative Decoding is on.
- ā¢Vocabulary pruning can silently hurt acceptance on the long tail (like multilingual or RAG), which SPEED-Bench exposes thanks to its diversity.
- ā¢The Throughput split uses long input sequence lengths (1kā32k) and high batch sizes to reflect real applications like coding and retrieval.
- ā¢SPEED-Bench gives researchers and practitioners a practical, apples-to-apples way to evaluate accuracy and speed under realistic workloads.
Why This Research Matters
SPEED-Bench helps teams build faster, cheaper, and fairer AI systems by testing what actually happens in the real world. It shows where speculative decoding truly helps (like coding) and where it struggles (like creative roleplay), so developers can tune strategies per domain. By using long inputs and big batches, it matches modern apps like document chat and retrieval-augmented coding assistants. The unified framework makes cross-engine comparisons fair, preventing misleading wins caused by tiny formatting differences. It also exposes hidden trade-offs, like how vocabulary pruning hurts multilingual users or how random tokens inflate speed numbers. These insights guide smarter deployment choices, better user experience, and more trustworthy benchmarks.
Reading Workflow
Turn this paper into a decision
Scan fast. Promote only the papers that survive triage.
No workflow history yet.
Detailed Explanation
Tap terms for definitions01Background & Problem Definition
š Top Bread (Hook): Imagine you and a friend are writing a story together. Your friend tries to guess your next three words to speed things up. If they guess right, you both go faster. If they guess wrong, you slow down to fix it.
š„¬ Filling (The Actual Concept): Speculative Decoding (SD) is a way large language models speed up writing by letting a lightweight ādrafterā guess a few future tokens that the main ātargetā model then checks.
- How it works (recipe):
- The drafter suggests several next tokens in one go.
- The target model verifies those tokens in parallel.
- If the guesses match what the target would write, they are accepted; if not, the target corrects and continues.
- Why it matters: Without SD, the target model writes one token at a time, which is slower and costs more.
š Bottom Bread (Anchor): Itās like a teacherās helper writing answer steps for a math problem in pencil. The teacher quickly checks them all at once. If most steps are right, theyāre kept, and the class moves faster.
The world before: People were inventing many SD tricks, but measuring them fairly was messy. Benchmarks often used tiny prompt sets, short inputs, batch size one, or random tokens that donāt look like real user text. Serving engines handled prompts differently, so results didnāt match across systems. Teams couldnāt easily compare results because setups varied, and many tests didnāt stress the models in real ways (like long contexts or high concurrency).
š Top Bread (Hook): You know how you can guess your friendās favorite ice cream flavor better if you know the kind of ice cream shop youāre in? If itās a gelato shop, your guesses change. Context matters.
š„¬ Filling (The Actual Concept): Acceptance Rate (AR) tells us how often drafted tokens are kept, and Acceptance Length (AL) tells us how many in a row are accepted before a correction.
- How it works (recipe):
- The drafter proposes a short run of tokens.
- The target accepts some or all of them.
- We count what fraction were accepted (AR) and the typical run length (AL).
- Why it matters: Without AR/AL, we canāt tell if SD is helping or if it just adds work that slows things down.
š Bottom Bread (Anchor): If a drafter suggests three tokens and the target keeps two, thatās a good sign: the helper is saving time.
Problem: Real speedups depend on what kind of text people feed the model (low-entropy code vs. high-entropy roleplay), how long the input is, and how many users are served at once. But most tests didnāt reflect that. They ignored memory-bound vs. compute-bound regimes that appear at large batch sizes or long contexts.
š Top Bread (Hook): Think of making pancakes. One short recipe card (short input) is easy. But a giant cookbook (long input) changes what slows you down: maybe flipping speed or how many pans you have becomes the bottleneck.
š„¬ Filling (The Actual Concept): Input Sequence Length (ISL) is how long the prompt is, and Batch Size is how many prompts we cook at once.
- How it works (recipe):
- Short ISL means less prefill work; long ISL means heavy prefill and memory traffic.
- Small batch can be compute-bound; large batch often becomes memory-bound.
- Why it matters: Without testing across ISL and batch size, we canāt predict real serving performance.
š Bottom Bread (Anchor): Serving 2 users with short prompts feels different from serving 256 users with 8k-token prompts; bottlenecks move around.
Failed attempts: Teams used random tokens to simulate load, which tricked models into trivial replies or odd expert routing. Some benchmarks had too few, too-similar prompts, so they hid failures on rare but important cases (like multilingual or RAG). Others compared engines without aligning tokenization and formatting, making results unfair.
The gap: We needed one benchmark that (1) covers many domains with high semantic diversity to test draft quality, (2) exercises real serving regimes with long inputs and big batches to test throughput, and (3) standardizes tokenization and timing so engines are compared fairly.
Real stakes: This affects how fast assistants answer, how many users a system can handle, and how much it costs. It changes whether coding tools feel snappy, whether long-document chat actually scales, and whether optimizations secretly hurt accuracy for certain users (like multilingual ones) without anyone noticing.
02Core Idea
The āAha!ā: If you donāt test both brains (semantic diversity) and brawn (system throughput under real loads) with a shared yardstick, you will draw the wrong conclusions about Speculative Decoding.
š Top Bread (Hook): You know how a race car needs both a sharp driver and a strong engine? Testing only on a straight track or only on curvy roads tells you half the story.
š„¬ Filling (The Actual Concept): SPEED-Bench unifies evaluation of SD with two complementary data splits and a shared, engine-agnostic measurement framework.
- How it works (recipe):
- Qualitative Split: Curate 11 diverse categories using embeddings and select prompts that are as different as possible inside each category.
- Throughput Split: Build fixed ISL buckets (1kā32k) across three difficulty levels and high concurrency to map speed vs. latency trade-offs.
- Unified Framework: Pre-tokenize and standardize prompt formatting so engines see identical inputs; record fine-grained timing and acceptance stats.
- Why it matters: Without this trio, you can easily miss domain-dependent failures, overestimate speed with synthetic inputs, or compare engines unfairly.
š Bottom Bread (Anchor): Itās like testing a bicycle by trying hills, flats, and turns, and using the same speedometer every time. You learn how it behaves everywhereāand you can compare it fairly to other bikes.
Multiple analogies:
- Chef analogy: Qualitative Split tastes-test many cuisines (coding, math, roleplay), Throughput Split stress-tests the kitchen at dinner rush, and the Framework makes sure everyone uses the same recipe cards and timers.
- School analogy: Qualitative Split is different subject exams; Throughput Split is timed exams with lots of students; Framework is the same grading rubric and timer so results are fair.
- Sports analogy: Qualitative Split is training drills for skills; Throughput Split is full matches with crowd pressure; Framework is the shared scoreboard and referees.
Before vs. After:
- Before: Benchmarks were small, narrow, and inconsistent; random tokens and short prompts gave rosy speed numbers.
- After: SPEED-Bench shows acceptance and speedups vary widely by domain and serving regime; some optimizations (like vocabulary pruning) help average speed but hurt the long tail; random inputs can inflate throughput by about 23% under SD.
Why it works (intuition):
- Diverse prompts surface domain entropy differences: predictable text (code/math) allows longer accepted runs; creative text (roleplay/writing) is harder to pre-guess.
- Fixed ISL buckets and big batches expose compute-bound vs. memory-bound transitions that change SDās payoff.
- Pre-tokenized, standardized inputs isolate the algorithmic effect from formatting or tokenization quirks across engines.
Building blocks (with sandwich explanations for key terms):
-
š Top Bread (Hook): You know how sometimes you keep guessing correctly a few times in a row when playing word games? š„¬ Acceptance Length (AL): AL is how many drafted tokens in a row the target accepts before a correction.
- How it works: The drafter proposes a short run; the target keeps a streak until a mismatch.
- Why it matters: Longer AL means fewer target steps and bigger speedups. š Bottom Bread (Anchor): If the drafter offers three tokens and the target keeps all three before correcting, AL is 3 for that attempt.
-
š Top Bread (Hook): Imagine checking homework step by step; if the first step is correct, youāre more likely to trust the next. š„¬ Conditional Acceptance Rate (CAR): CAR measures the chance the k-th drafted token is accepted given the earlier ones were accepted.
- How it works: We condition each stepās acceptance on previous successes.
- Why it matters: It reveals where streaks tend to break. š Bottom Bread (Anchor): If token 1 is always accepted but token 2 is accepted 68% of the time after token 1, CAR shows where drafts weaken.
-
š Top Bread (Hook): Picture mixing many different candies so your tasting covers everything, not just gummy bears. š„¬ Qualitative Split: A compact, highly diverse prompt set across 11 categories selected to minimize similarity.
- How it works: Embed prompts, pick a subset that spreads out in meaning-space.
- Why it matters: Without diversity, you miss domain-dependent failures. š Bottom Bread (Anchor): Coding prompts that vary from regex to C++ templates plus roleplay prompts from many personas give a truer picture than 10 near-duplicates.
-
š Top Bread (Hook): For a stress test, you donāt just run; you run long distances with a heavy backpack. š„¬ Throughput Split: Long ISL buckets (1kā32k), three difficulty levels, and high concurrency to test real serving loads.
- How it works: Group prompts by input length and difficulty; sweep batch sizes to map throughput vs. per-user TPS.
- Why it matters: Without long contexts and big batches, you miss memory-bound regimes and misjudge SD payoffs. š Bottom Bread (Anchor): Serving 512 requests of 8k tokens hits very different limits than serving 8 requests of 1k tokens.
-
š Top Bread (Hook): To compare runners, you must use the same starting line and stopwatch. š„¬ Unified Measurement Framework: A light wrapper that pre-tokenizes inputs and unifies timing across engines.
- How it works: Engines receive identical token sequences; the framework logs acceptance, step latency, user TPS, and total throughput.
- Why it matters: Without it, tiny formatting differences skew results. š Bottom Bread (Anchor): Two engines now score the same essay with the same rubric, so you can trust whoās actually faster or more accurate.
Quick formulas with examples:
- Acceptance Rate: . Example: If 2 of 3 drafted tokens are accepted, .
- Throughput (Output TPS): . Example: 10,000 tokens in 5 seconds gives TPS.
- Average pairwise similarity (conceptual): . Example: If two pairs have cosine 0.2 and 0.4, .
03Methodology
At a high level: Input data ā Build Qualitative Split (diverse prompts) and Throughput Split (ISL buckets) ā Unified Measurement Framework (pre-tokenize, standardize) ā Run engines with SD ā Record acceptance, latency, and throughput ā Analyze domain- and regime-dependent behavior.
Step A. Curate the Qualitative Split (semantic diversity for draft quality)
- What happens: Gather prompts from 18 public sources and group them into 11 categories (Coding, Math, Humanities, STEM, Writing, Summarization, Roleplay, RAG, Multilingual, Reasoning, QA). For each category, embed all candidate prompts using a pretrained text embedder and select 80 that are as different as possible by minimizing average pairwise cosine similarity. Total prompts: 880.
- Why this step exists: Draft quality depends on domain entropy. If prompts are too similar, youāll overfit to easy patterns and miss the hard corners (like multilingual or long-tail RAG).
- Example with actual data: In Coding, you might include Python refactoring, SQL joins, regex generation, C++ templates, and documentation generationāeach far apart in embedding space so they donāt cluster.
Sandwich recap:
- š Hook: Sorting your candy so you taste many flavors.
- š„¬ Concept: Qualitative Split = small but widely spread prompt set for accurate acceptance measurement.
- š Anchor: 80 diverse Roleplay prompts prevent overestimating SD on creative tasks.
Step B. Construct the Throughput Split (realistic serving workloads)
- What happens: Bucket prompts into fixed Input Sequence Lengths (ISL) from 1k to 32k tokens. For each ISL, collect 1,536 prompts: 512 each for low-, mixed-, and high-entropy difficulty. This supports building stable throughput vs. user TPS curves across batch sizes up to large values (for example, 512).
- Why this step exists: As batch size grows, systems can flip from compute-bound to memory-bound, changing SDās benefit. Long-context apps (coding assistants, RAG) are common; testing short ISL only is unrealistic.
- Example with actual data: At 8k ISL with batch sizes from 2 to 512, you can trace how output TPS rises, where user TPS plateaus, and how SDās draft length affects the Pareto frontier.
Sandwich recap:
- š Hook: Baking lots of cookies per hour means more trays (batch) and sometimes a limit from oven space (memory) rather than mixing speed (compute).
- š„¬ Concept: Throughput Split = long ISLs and high concurrency to test real-world speed.
- š Anchor: 32k-token prompts reveal whether SD helps or hurts when memory traffic dominates.
Step C. Unified Measurement Framework (fair comparisons across engines)
- What happens: The framework handles tokenization and formatting outside the inference engine. Engines receive pre-tokenized inputs so BOS tokens, chat templates, and spacing are consistent across TensorRT-LLM, vLLM, and SGLang. It records acceptance behavior, per-step latency, user tokens-per-second (per-request speed), and output TPS (system throughput).
- Why this step exists: Tiny tokenization differences can change the drafted sequence, making cross-engine comparisons unfair.
- Example with actual data: An identical Llama 3.3 70B Instruct prompt and EAGLE3 drafter fed to TensorRT-LLM and vLLM now yield directly comparable acceptance lengths and TPS.
Sandwich recap:
- š Hook: Using the same stopwatch and starting line for every runner.
- š„¬ Concept: Unified Framework = standardized inputs and timing.
- š Anchor: Two engines now produce truly comparable AL and TPS numbers on the same prompts.
Step D. Metrics and reporting
- Acceptance metrics: AL (accepted streak length) and AR (fraction accepted). Conditional Acceptance Rates (CAR) show how streaks decay with each extra token. ⢠Formula: . Example: 75 accepted out of 100 drafted means .
- Throughput metrics: Output TPS (how many tokens per second across all requests) and User TPS (per-request token rate, a latency proxy). ⢠Formula: . Example: 2,518 tokens in 1 second gives TPS.
- Pareto curves: Sweep batch sizes to map trade-offs between high total throughput and good per-user speed.
Step E. Controls and realism
- ISL control: Truncate or pad prompts deterministically to hit target ISLs without changing meaning.
- No random-token shortcuts: Random noise can cause trivial replies or odd topic latching, inflating acceptance and throughput; it also misroutes experts in MoE models.
- System scope: Measure at realistic concurrency and memory pressure to reveal compute-bound vs. memory-bound behavior.
Step F. Running the benchmark
- Choose a target model (e.g., Llama 3.3 70B Instruct) and a drafter (e.g., EAGLE3), set a draft length (e.g., 3), pick an engine (TensorRT-LLM, vLLM, or SGLang), and run at a specified concurrency (e.g., 32) over the Qualitative or Throughput split.
- The framework outputs acceptance histograms, per-category averages, Output TPS, per-GPU TPS, and request latency stats.
The secret sauce
- Diverse-but-compact selection maximizes signal per prompt, avoiding bloated, redundant testbeds.
- Long-context, high-batch stress reveals where SD helps or hurts under real constraints.
- Engine-agnostic, pre-tokenized inputs isolate algorithmic effects from preprocessing quirks.
- Together, these design choices make SPEED-Bench both practical for rapid iteration and faithful to production realities.
04Experiments & Results
The tests: Measure draft quality and system speed in realistic conditions.
- What: Acceptance Length (AL), Acceptance Rate (AR), Conditional ARs, Output TPS (total tokens/sec), and User TPS (per-request speed).
- Why: AL/AR tell if SD guesses are trustworthy; TPS numbers show if speedups hold up under real load.
The competition: Prior unified SD benchmarks like SpecBench offered important steps but had small, short prompts and limited diversity. SPEED-Bench compares methods and engines under the same standardized setup.
Scoreboard highlights (batch size around 32, draft length 3; example models):
- Domain-dependent ALs: ⢠Coding and Math (low entropy) show higher ALs. ⢠Roleplay and Writing (high entropy) show lower ALs.
- Method differences: ⢠N-Gram speculation (lightweight) can cause net slowdowns at moderate batch sizes (mean speedup below 1x), indicating overheads can outweigh gains. ⢠Post-trained drafters like EAGLE3 improve ALs and speedups over simple baselines. ⢠Native multi-token prediction (MTP) heads (e.g., Qwen3-Next) can push AL even higher, showing the benefit of co-training drafter and base model.
Concrete numbers from representative runs:
- Example Qualitative run (Llama 3.3 70B Instruct target, EAGLE3 drafter, TensorRT-LLM, concurrency 32): Overall average acceptance length around 2.45 across categories; Output TPS near 2,518 (about 315 per GPU on ).
- Cross-method comparison (illustrative from the paper): ⢠Llama 3.3 70B with N-Gram: Mean .41; mean .88x (possible slowdown). ⢠GPT-OSS 120B with EAGLE3: Mean .25; mean .34x. ⢠Qwen3-Next with MTP: Mean .81; mean .20x at the tested setting.
Surprising findings:
- Random tokens overestimate throughput: When SD is enabled, using random-token prompts can inflate Output TPS by about 23% compared to realistic prompts at the same ISL, due to trivial responses and topic latching that distort acceptance behavior.
- Long-tail sensitivity to vocabulary pruning: Pruning the output vocabulary (e.g., in EAGLE3ās projection layer) can leave Coding/Math largely unaffected but notably reduce acceptance in Multilingual, RAG, and Summarizationāfailures a low-diversity benchmark would likely miss.
- MoE expert activation differs: Random inputs fail to trigger realistic expert routing in mixture-of-experts models, leading to misleading speed measurements even without SD.
Per-metric intuition with quick formulas and examples:
- Acceptance Rate: . Example: 180 accepted out of 240 drafted gives .
- Output TPS: . Example: 25,000 tokens in 10 seconds gives TPS.
- Conditional AR (conceptually): . Example: If token 1 is accepted 100% and token 2 is accepted 68% after token 1, then .
Context for results: These outcomes underline that the same SD algorithm can shine or stumble depending on domain diversity, ISL, batch size, and system constraints. SPEED-Benchās combined splits and unified framework uncover the true range of behavior, not just best-case numbers.
05Discussion & Limitations
Limitations (be specific):
- Coverage vs. compactness: Even with 880 diverse prompts, the Qualitative split is still a sample, not the entire world; some niche domains may remain underrepresented.
- Hardware dependence: Throughput results inevitably depend on GPU type, memory bandwidth, and interconnect; users should replicate on their own stacks.
- Model-specific quirks: Acceptance behavior varies with tokenizer, vocabulary, and training data; insights may shift across families.
- Dynamic serving policies: Real systems also do prioritization, scheduling, and caching, which may interact with SD in ways outside the benchmarkās scope.
Required resources:
- Multi-GPU setups (e.g., for some runs), production-grade engines (TensorRT-LLM, vLLM, SGLang), and storage for long-context datasets.
- Ability to run high-concurrency tests to trace Pareto curves across batch sizes.
When NOT to use:
- If you only care about tiny single-user demos with short prompts, SPEED-Benchās long-ISL, high-batch insights may be overkill.
- If your pipeline forces non-standard prompt munging that cannot be aligned with pre-tokenized inputs, cross-engine fairness may not hold.
- If you rely on synthetic random-token load tests, SPEED-Bench will conflict with that practice (by design) because itās misleading for SD and MoE.
Open questions:
- How do newer native MTP heads vs. post-trained drafters compare as context windows keep growing beyond 32k?
- Can we adaptively tune draft length by domain entropy signals on-the-fly to optimize AL and latency?
- What are the best safety checks so SD doesnāt amplify hallucinations in high-entropy domains?
- How do routing strategies in MoE interact with SD under multilingual and code-mixed prompts when experts specialize further?
- Can vocabulary pruning be made adaptive so it keeps speed gains without harming long-tail domains?
06Conclusion & Future Work
Three-sentence summary: SPEED-Bench is a unified, diverse benchmark that evaluates Speculative Decoding both for draft quality across many domains and for real serving throughput under long contexts and high concurrency. It standardizes tokenization and timing across engines, revealing domain-dependent acceptance behavior, realistic speedups, and hidden costs from practices like random-token testing or vocabulary pruning. With SPEED-Bench, researchers and practitioners can finally compare SD methods fairly and make deployment-aware decisions.
Main achievement: Designing and releasing a two-split benchmark plus a unified measurement framework that isolates algorithmic effects and captures real-world serving regimes, exposing insights that older, low-diversity, short-ISL benchmarks missed.
Future directions: Expand domain coverage, add adaptive draft-length policies informed by entropy, integrate more engines and routing strategies (especially for MoE), and explore safeguards for high-entropy domains. Also, refine long-tail stress tests (multilingual, code-mixed, RAG) and investigate adaptive vocabulary pruning that preserves acceptance in rare domains.
Why remember this: SPEED-Bench changes how we judge SDāfrom lab-only numbers to deployment-ready evidence. It makes evaluations both fair (same inputs across engines) and real (long ISLs, big batches), preventing overly optimistic conclusions and surfacing long-tail failures that matter to users.
Practical Applications
- ā¢Choose the right speculative decoding method per domain (e.g., stronger drafters or shorter draft lengths for creative writing).
- ā¢Set serving policies that adapt draft length by detected prompt entropy to balance speed and accuracy.
- ā¢Benchmark engines (TensorRT-LLM, vLLM, SGLang) fairly using pre-tokenized inputs before committing to a deployment stack.
- ā¢Validate that vocabulary pruning does not harm multilingual or RAG workloads in your user base.
- ā¢Size infrastructure using Throughput split curves to pick batch sizes that maximize TPS without hurting user latency.
- ā¢Detect when workloads become memory-bound and adjust SD parameters or hardware accordingly.
- ā¢Replace random-token load tests with SPEED-Bench workloads to avoid inflated throughput claims.
- ā¢Compare native MTP heads vs. post-trained drafters for your models to decide on training investments.
- ā¢Track acceptance metrics per category to catch regressions in future model or system updates.
- ā¢Use ISL buckets to rehearse long-context scenarios (1kā32k) for document chat and codebase assistants.