Skip to content

[Spec Decode] Rename AR speculators to StandaloneAR / TargetDependentAR - #60335

Merged
ywang96 merged 2 commits into
vllm-project:mainfrom
TheEpicDolphin:autoregressive-speculator-rename
Oct 7, 2026
Merged

ywang96 merged 2 commits into
vllm-project:mainfrom
TheEpicDolphin:autoregressive-speculator-rename

Conversation

@TheEpicDolphin

@TheEpicDolphin TheEpicDolphin commented Oct 7, 2026 •

Copy link
Copy Markdown
Member

AutoRegressiveSpeculator is the base class for EAGLE, MTP, and Gemma4. When PlainDraftModelSpeculator was added in #43091 to support vanilla draft-model speculation, the base-class name became misleading: both are autoregressive.

This PR renames them to make the actual distinction explicit:

  • EAGLE, MTP, and Gemma4 are target-dependent autoregressive speculators. They consume target model state (hidden states, and for Gemma4 its KV cache). Thus, AutoRegressiveSpeculator was renamed to TargetDependentARSpeculator.
  • The vanilla draft model is a standalone autoregressive speculator: it
    needs nothing from the target beyond the accepted/bonus token ids. This, PlainDraftModelSpeculator was renamed to StandaloneARSpeculator.

Signed-off-by: Giancarlo Delfin <gdelfin@inferact.ai>
@mergify mergify Bot added ci/build nvidia cpu Related to CPU backends labels Oct 7, 2026
@mergify mergify Bot added speculative-decoding mrv2 Model Runner V2 specific labels Oct 7, 2026
@TheEpicDolphin
TheEpicDolphin marked this pull request as ready for review October 7, 2026 02:38

@claude claude Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Claude Code Review

This pull request is from a fork — automated review is disabled. A repository maintainer can comment @claude review to run a one-time review.

@TheEpicDolphin TheEpicDolphin added the ready ONLY add when PR is ready to merge/full CI is needed label Oct 7, 2026
@TheEpicDolphin

Copy link
Copy Markdown
Member Author

/ci run

@github-actions

github-actions Bot commented Oct 7, 2026

Copy link
Copy Markdown

✅ Triggered Buildkite CI #93235 for commit 4a520669c9c9.

@vllm-agent

Copy link
Copy Markdown
Contributor

CI selector (shadow): 42 test steps (67 jobs) instead of 78 (97 jobs)

Shadow mode: this changes nothing about what CI runs. It shows what the evidence-based selector would pick for this PR, next to today's rules. How it works.

Feedback welcome: reply here if it would skip a step this change needs, or runs something unrelated.

steps (jobs) Today's rules Selector Would skip Would add
NVIDIA, CPU and others 78 (97) 42 (67) 54 (68) 18 (38)
AMD mirrors 71 (87) 30 (46) 50 (63) 9 (22)
Selector would run (42)
  • amd-qwen3-next-mtp-async-eplb-accuracy
  • arm-cpu-test ×3
  • basic-models-tests-extra-initialization ×14
  • basic-models-tests-initialization
  • cpu-distributed-tests-dp-tp
  • cpu-distributed-tests-pp-tp
  • cpu-kernel-tests ×2
  • cpu-language-generation-and-pooling-model-tests ×3
  • cpu-multi-modal-model-tests-n ×4
  • cpu-multimodal-config
  • cpu-params-env-tokenizers-parser
  • cpu-quantization-model-tests
  • cpu-qwen2-5-vl-multimodal-tests
  • cpu-spec-decode-tests
  • distributed-dp-tests-2-gpus
  • distributed-dp-tests-4-gpus
  • distributed-torchrun-shutdown-tests-2-gpus
  • e2e-core-1-gpu
  • e2e-core-large-memory
  • engine
  • entrypoints-integration-api-server-openai-chat_completion
  • entrypoints-integration-llm
  • examples
  • extract-hidden-states-integration
  • extract-hidden-states-integration-2-gpus
  • hybrid-ssm-nixlconnector-pd-accuracy-tests-4-gpus
  • kimi-k3-prefix-cache-4xb200 ×2
  • lm-eval-dspark-watermark-2xh100
  • lm-eval-small-models
  • model-executor
  • replayssm-e2e
  • spec-decode-draft-model ×4
  • spec-decode-eagle-1-deepseek-qwen
  • spec-decode-eagle-2-llama3-qwen-vl-other
  • spec-decode-mtp-deepseek-mimo
  • spec-decode-mtp-gemma4
  • spec-decode-mtp-qwen3-5
  • spec-decode-speculators
  • v1-core
  • v1-executor-worker
  • v1-others-cpu
  • v1-spec-decode
Would skip (today's rules run them) (54)
  • ascend-npu-test
  • async-engine-inputs-utils-worker
  • basic-correctness ×2
  • basic-correctness-cpu-offload
  • basic-correctness-cumem
  • basic-correctness-prefetch-offload
  • basic-correctness-sleep-mode
  • basic-models-test-other-cpu
  • basic-models-tests-other
  • benchmarks-cli-test
  • cpu-reasoning-renderers
  • cpu-tool-parsers
  • cudagraph
  • distributed-compile-rpc-tests-2-gpus
  • e2e-scheduling-1-gpu
  • e2e-scheduling-accuracy-1-gpu
  • entrypoints-integration-api-server ×4
  • entrypoints-integration-api-server-generate
  • entrypoints-integration-api-server-openai-completion
  • entrypoints-integration-multimodal
  • entrypoints-integration-pooling
  • entrypoints-integration-responses-api
  • entrypoints-integration-speech_to_text
  • fault-tolerance-e2e-2xh100
  • kernels-fla-ops-test-b200
  • kernels-mhc-test-b200
  • kernels-root-misc-test-b200
  • language-models-tests-granite-l4-compatibility
  • language-models-tests-hybrid ×2
  • language-models-tests-standard
  • lm-eval-watermarking
  • metrics-tracing-2-gpus
  • mooncake-ec-tcp-e2e-2-gpus
  • multi-modal-models-standard-1-qwen2
  • multi-modal-models-standard-2-qwen3-gemma
  • multi-modal-models-standard-3-llava-qwen2-vl
  • multi-modal-models-standard-4-other-whisper
  • multi-modal-processor ×4
  • multi-modal-processor-cpu ×4
  • pipeline-context-parallelism-4-gpus
  • pytorch-compilation-dynamic-shapes
  • pytorch-compilation-passes-unit-tests
  • pytorch-compilation-unit-tests
  • pytorch-compilation-unit-tests-h100
  • pytorch-fullgraph-cudagraph-l4-compatibility
  • pytorch-fullgraph-test
  • regression
  • rust-frontend-distributed
  • spec-decode-ngram-suffix
  • v1-kv-connectors ×4
  • v1-kv-offload
  • v1-logits-oracle
  • v1-metrics-lmeval
  • v1-sample
Would add (today's rules do not run them) (18)
  • amd-qwen3-next-mtp-async-eplb-accuracy (Python record)
  • arm-cpu-test ×3 (code map)
  • basic-models-tests-extra-initialization ×14 (Python record)
  • cpu-distributed-tests-dp-tp (code map)
  • cpu-distributed-tests-pp-tp (code map)
  • cpu-kernel-tests ×2 (code map)
  • cpu-multi-modal-model-tests-n ×4 (code map)
  • cpu-quantization-model-tests (code map)
  • cpu-qwen2-5-vl-multimodal-tests (code map)
  • distributed-dp-tests-4-gpus (code map)
  • engine (code map)
  • examples (code map)
  • extract-hidden-states-integration (Python record)
  • extract-hidden-states-integration-2-gpus (Python record)
  • hybrid-ssm-nixlconnector-pd-accuracy-tests-4-gpus (code map)
  • kimi-k3-prefix-cache-4xb200 ×2 (code map)
  • lm-eval-small-models (code map)
  • model-executor (code map)
AMD mirrors: would skip (50)
  • async-engine-inputs-utils-worker
  • basic-correctness ×2
  • basic-correctness-cpu-offload
  • basic-correctness-cumem
  • basic-correctness-prefetch-offload
  • basic-correctness-sleep-mode
  • benchmarks-cli-test
  • cudagraph
  • distributed-compile-rpc-tests-2-gpus
  • distributed-model-tests-2-gpus ×3
  • e2e-core-1-gpu
  • entrypoints-integration-api-server ×4
  • entrypoints-integration-api-server-generate
  • entrypoints-integration-api-server-openai-completion
  • entrypoints-integration-multimodal
  • entrypoints-integration-pooling
  • entrypoints-integration-responses-api
  • entrypoints-integration-speech_to_text
  • fault-tolerance-e2e-2xh100
  • jit-monitor-no-runtime-jit
  • kernels-fla-ops-test-b200
  • kernels-mhc-test-b200
  • kernels-root-misc-test-b200
  • language-models-tests-granite-l4-compatibility
  • language-models-tests-hybrid ×2
  • language-models-tests-standard
  • lm-eval-watermarking
  • metrics-tracing-2-gpus
  • mooncake-ec-tcp-e2e-2-gpus
  • multi-modal-models-standard-1-qwen2
  • multi-modal-models-standard-2-qwen3-gemma
  • multi-modal-models-standard-3-llava-qwen2-vl
  • multi-modal-models-standard-4-other-whisper
  • multi-modal-processor ×4
  • pipeline-context-parallelism-4-gpus
  • platform-tests
  • pytorch-compilation-dynamic-shapes
  • pytorch-compilation-passes-unit-tests
  • pytorch-compilation-unit-tests
  • pytorch-compilation-unit-tests-h100
  • pytorch-fullgraph-cudagraph-l4-compatibility
  • pytorch-fullgraph-test
  • quantized-moe-test-b200
  • regression
  • rust-frontend-distributed
  • spec-decode-ngram-suffix
  • v1-kv-connectors ×4
  • v1-kv-offload
  • v1-logits-oracle
  • v1-metrics-lmeval
AMD mirrors: would add (9)
  • basic-models-tests-extra-initialization ×14 (Python record)
  • distributed-dp-tests-4-gpus (code map)
  • engine (code map)
  • examples (code map)
  • extract-hidden-states-integration (Python record)
  • extract-hidden-states-integration-2-gpus (Python record)
  • hybrid-ssm-nixlconnector-pd-accuracy-tests-4-gpus (code map)
  • model-executor (code map)
  • nixlconnector-pd-spec-decode-acceptance-2-gpus (code map)

20 changed files · base 8a26869bca · head 4a520669c9 · Python record: build 93039 at 1e5d0ea888 · kernel record: table 385d86a (build 93187), map 385d86a · not counted: 10 build steps, 5 A100 steps the generator no longer emits, 45 optional steps the selector would also run

@benchislett benchislett left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@github-project-automation github-project-automation Bot moved this to Ready in NVIDIA Oct 7, 2026
@ywang96
ywang96 merged commit 6ee9be6 into vllm-project:main Oct 7, 2026
181 checks passed
stecasta added a commit to stecasta/vllm that referenced this pull request Oct 7, 2026
Resolves the conflict with vllm-project#60335 (spec_decode/autoregressive renamed to
target_dependent_ar): keeps main's imports and adds DraftConfidenceStop.

Signed-off-by: Stefano Castagnetta <scastagnetta@nvidia.com>
@TheEpicDolphin
TheEpicDolphin deleted the autoregressive-speculator-rename branch October 7, 2026 18:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ci/build cpu Related to CPU backends mrv2 Model Runner V2 specific nvidia ready ONLY add when PR is ready to merge/full CI is needed speculative-decoding

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

4 participants