Views
No views yet
| Configuration | Temperature = 0 | Temperature = 1 |
|---|---|---|
| EAGLE-3 + KL | 3.46 | 3.17 |
| EAGLE-3 + LK (ours) | 3.49 | 3.29 |
| Model | MT-bench (τ) | HumanEval (τ) | GSM8K (τ) |
|---|---|---|---|
| RedHatAI/gpt-oss-20b-speculator.eagle3 | 2.63 | 2.43 | 3.00 |
| Ours | 3.20 | 3.01 | 3.65 |
Note: Earlier vLLM versions sampled draft tokens greedily regardless of temperature, which underestimated acceptance rates at temperature > 0. Stochastic draft sampling was introduced in v0.18.0, and from v0.21.0 it can be enabled viaspeculative_configusingrejection_sample_methodanddraft_sample_method. The acceptance metrics reported above were measured under standard rejection sampling and are reproducible with the configuration below.
1from vllm import LLM, SamplingParams
2
3llm = LLM(
4 model="openai/gpt-oss-20b",
5 speculative_config={
6 "method": "eagle3",
7 "model": "nebius/EAGLE3-gpt-oss-20b",
8 "num_speculative_tokens": 6,
9 "rejection_sample_method": "standard",
10 "draft_sample_method": "gumbel",
11 },
12)
13
14sampling_params = SamplingParams(temperature=0.7)
15outputs = llm.generate(["Explain speculative decoding in simple terms."], sampling_params)@misc{samarin2026lklosses,
title = {LK Losses: Direct Acceptance Rate Optimization for Speculative Decoding},
author = {Alexander Samarin and Sergei Krutikov and Anton Shevtsov and Sergei Skvortsov and Filipp Fisin and Alexander Golubev},
year = {2026},
eprint = {2602.23881},
archivePrefix = {arXiv},
primaryClass = {cs.LG},
url = {https://arxiv.org/abs/2602.23881}
}