vllm-project/vllm · error · ValueError
Adaptive verification only supported with DSpark
Error message
Adaptive verification only supported with DSpark
What it means
Raised at the end of SpeculativeConfig.__post_init__ when enable_adaptive_verification is true but method != 'dspark'. Adaptive verification (dynamically choosing how many draft tokens to verify) is only implemented for the DSpark worker, so enabling it with eagle/ngram/mtp etc. is rejected.
Source
Thrown at vllm/config/speculative.py:1142
self.draft_model_config.hf_config,
)
)
self.draft_model_config.max_model_len = (
SpeculativeConfig._maybe_override_draft_max_model_len(
self.max_model_len,
self.draft_model_config.max_model_len,
self.target_model_config.max_model_len,
)
)
self.draft_parallel_config = (
SpeculativeConfig.create_draft_parallel_config(
self.target_parallel_config, self.draft_tensor_parallel_size
)
)
if self.method != "dspark" and self.enable_adaptive_verification:
raise ValueError("Adaptive verification only supported with DSpark")
return self
def _validate_suffix_decoding(self):
if not has_arctic_inference():
raise ImportError(
"Arctic Inference is required for suffix decoding. "
"Install via `pip install arctic-inference==0.1.1`."
)
if self.num_speculative_tokens is None:
# Suffix decoding decides the actual number of speculative tokens
# dynamically and treats num_speculative_tokens as a maximum limit.
self.num_speculative_tokens = self.suffix_decoding_max_tree_depth
logger.warning(
"Defaulted num_speculative_tokens to %s for suffix decoding.",
self.num_speculative_tokens,
)
# Validate valuesView on GitHub (pinned to c794754062)
Solutions
- Set enable_adaptive_verification=False (or remove it) when using non-dspark methods
- Switch method to 'dspark' if adaptive verification is required
Example fix
# before
speculative_config={"method": "eagle", "model": "...", "enable_adaptive_verification": True}
# after
speculative_config={"method": "eagle", "model": "...", "enable_adaptive_verification": False} Defensive patterns
Strategy: validation
Validate before calling
if spec_cfg.get("enable_adaptive_verification") and spec_cfg.get("method") != "dspark":
spec_cfg["enable_adaptive_verification"] = False # or fail fast in strict mode Type guard
def adaptive_verification_allowed(method: str, enabled: bool) -> bool:
return not enabled or method == "dspark" Prevention
- Audit new boolean flags against the method they were introduced for before turning them on globally
- Maintain a compatibility matrix (flag x method) in your deployment config tests
When it happens
Trigger: speculative_config={'method': 'eagle', ..., 'enable_adaptive_verification': True} or any non-dspark method with the flag on (also settable via CLI flag).
Common situations: Enabling a newly documented adaptive-verification flag on an existing EAGLE deployment; config templates that turn on all new boolean flags by default.
Related errors
- dspark_draft_topk is only supported by DSpark
- target_model_config must be present for dspark
- MLA DSpark does not currently support decode context paralle
- dspark_draft_topk must be between 1 and the draft vocabulary
- dspark_draft_topk is only supported by Qwen3DSparkModel
AI-assisted analysis of vllm-project/vllm@c794754062 (2026-08-14).
Data as JSON: /api/errors/4dbdfba4dbeeb686.
Report an issue: GitHub.