Dlash2 無法使用 在 vllm 0.27.1

vllm serve Qwen/Qwen3.8-27B
–speculative-config ‘{
“method”: “dflash”,
“model”: “incoai/Qwen3.8-27B-DFlash2”,
“num_speculative_tokens”: 7
}’

vllm 0.27.1
(APIServer pid=1116141) File “/home/user/vLLM/env0271/lib/python3.12/site-packages/pydantic/_internal/_dataclasses.py”, line 121, in init
(APIServer pid=1116141) s.pydantic_validator.validate_python(ArgsKwargs(args, kwargs), self_instance=s)
(APIServer pid=1116141) pydantic_core._pydantic_core.ValidationError: 1 validation error for SpeculativeConfig
(APIServer pid=1116141) Value error, Model architectures [‘DFlash2DraftModel’] are not supported for now. Supported architectures: dict_keys([‘AfmoeForCausalLM’, ‘ApertusForCausalLM’, ‘ArceeForCausalLM’, ‘ArcticForCausalLM’, ‘AXK1ForCausalLM’, ‘BailingMoeForCausalLM’, ‘BailingMoeV2ForCausalLM’, ‘BailingMoeV2_5ForCausalLM’, ‘BloomForCausalLM’, ‘ChatGLMModel’, ‘ChatGLMForConditionalGeneration’, ‘CohereForCausalLM’, ‘Cohere2ForCausalLM’, ‘Cohere2MoeForCausalLM’, ‘CwmForCausalLM’, ‘DbrxForCausalLM’, ‘DeciLMForCausalLM’, ‘DeepseekForCausalLM’, ‘DeepseekV2ForCausalLM’, ‘DeepseekV3ForCausalLM’, ‘DeepseekV32ForCausalLM’, ‘DeepseekV4ForCausalLM’, ‘Ernie4_5ForCausalLM’, ‘Ernie4_5_MoeForCausalLM’, ‘ExaoneForCausalLM’, ‘Exaone4ForCausalLM’, ‘ExaoneMoeForCausalLM’, ‘Fairseq2LlamaForCausalLM’, ‘FalconForCausalLM’, ‘FalconMambaForCausalLM’, ‘FalconH1ForCausalLM’, ‘FlexOlmoForCausalLM’, ‘GemmaForCausalLM’, ‘Gemma2ForCausalLM’, ‘Gemma3ForCausalLM’, ‘Rnj1ForCausalLM’, ‘Gemma3nForCausalLM’, ‘Gemma4ForCausalLM’, ‘Qwen3NextForCausalLM’, ‘GlmForCausalLM’, ‘Glm4ForCausalLM’, ‘Glm4MoeForCausalLM’, ‘Glm4MoeLiteForCausalLM’, ‘GlmMoeDsaForCausalLM’, ‘GptOssForCausalLM’, ‘GPT2LMHeadModel’, ‘GPTJForCausalLM’, ‘GPTNeoXForCausalLM’, ‘GraniteForCausalLM’, ‘GraniteMoeForCausalLM’, ‘GraniteMoeHybridForCausalLM’, ‘GraniteMoeSharedForCausalLM’, ‘GritLM’, ‘HrmTextForCausalLM’, ‘HunYuanMoEV1ForCausalLM’, ‘HunYuanDenseV1ForCausalLM’, ‘HYV3ForCausalLM’, ‘HCXVisionForCausalLM’, ‘HCXVisionV2ForCausalLM’, ‘HyperCLOVAXForCausalLM’, ‘InternLM2ForCausalLM’, ‘InternLM3ForCausalLM’, ‘IQuestCoderForCausalLM’, ‘IQuestLoopCoderForCausalLM’, ‘Jais2ForCausalLM’, ‘JambaForCausalLM’, ‘KimiLinearForCausalLM’, ‘Lfm2ForCausalLM’, ‘Lfm2MoeForCausalLM’, ‘LagunaForCausalLM’, ‘LlamaForCausalLM’, ‘Llama4ForCausalLM’, ‘LLaMAForCausalLM’, ‘LongcatFlashForCausalLM’, ‘LongcatFlashNgramForCausalLM’, ‘MambaForCausalLM’, ‘Mamba2ForCausalLM’, ‘MellumForCausalLM’, ‘MiniCPMForCausalLM’, ‘MiniCPM3ForCausalLM’, ‘MiniMaxM2ForCausalLM’, ‘MiniMaxM3SparseForCausalLM’, ‘InklingForCausalLM’, ‘InklingForConditionalGeneration’, ‘Ministral3ForCausalLM’, ‘MistralForCausalLM’, ‘MistralLarge3ForCausalLM’, ‘MixtralForCausalLM’, ‘MptForCausalLM’, ‘MPTForCausalLM’, ‘MiMoForCausalLM’, ‘MiMoV2FlashForCausalLM’, ‘MiMoV2ForCausalLM’, ‘NemotronForCausalLM’, ‘NemotronHForCausalLM’, ‘NemotronHPuzzleForCausalLM’, ‘Olmo3ForCausalLM’, ‘OlmoHybridForCausalLM’, ‘OlmoeForCausalLM’, ‘OPTForCausalLM’, ‘OrionForCausalLM’, ‘PanguEmbeddedForCausalLM’, ‘PanguProMoEV2ForCausalLM’, ‘PanguUltraMoEForCausalLM’, ‘Param2MoEForCausalLM’, ‘PhiForCausalLM’, ‘Phi3ForCausalLM’, ‘PhiMoEForCausalLM’, ‘Plamo3ForCausalLM’, ‘Qwen2ForCausalLM’, ‘Qwen2MoeForCausalLM’, ‘Qwen3ForCausalLM’, ‘Qwen3MoeForCausalLM’, ‘Qwen3_5ForCausalLM’, ‘Qwen3_5MoeForCausalLM’, ‘RWForCausalLM’, ‘SarvamMoEForCausalLM’, ‘SarvamMLAForCausalLM’, ‘SeedOssForCausalLM’, ‘Step1ForCausalLM’, ‘Step3TextForCausalLM’, ‘Step3p5ForCausalLM’, ‘StableLMEpochForCausalLM’, ‘StableLmForCausalLM’, ‘SolarForCausalLM’, ‘TeleChat2ForCausalLM’, ‘TeleChat3ForCausalLM’, ‘TeleFLMForCausalLM’, ‘Zamba2ForCausalLM’, ‘BertModel’, ‘BertForMaskedLM’, ‘BertSpladeSparseEmbeddingModel’, ‘BgeM3EmbeddingModel’, ‘Gemma2Model’, ‘Gemma3TextModel’, ‘GteModel’, ‘GteNewModel’, ‘JinaEmbeddingsV5Model’, ‘LlamaBidirectionalModel’, ‘LlamaModel’, ‘MistralModel’, ‘ModernBertModel’, ‘NomicBertModel’, ‘Qwen2Model’, ‘RobertaForMaskedLM’, ‘RobertaModel’, ‘VoyageQwen3BidirectionalEmbedModel’, ‘XLMRobertaModel’, ‘CLIPModel’, ‘ColPaliForRetrieval’, ‘LlamaNemotronVLModel’, ‘LlavaNextForConditionalGeneration’, ‘Phi3VForCausalLM’, ‘Qwen2VLForConditionalGeneration’, ‘SiglipModel’, ‘PrithviGeoSpatialMAE’, ‘Terratorch’, ‘HF_ColBERT’, ‘ColBERTModernBertModel’, ‘ColBERTJinaRobertaModel’, ‘ColBERTLfm2Model’, ‘JinaForRanking’, ‘ColModernVBertForRetrieval’, ‘ColQwen3’, ‘OpsColQwen3Model’, ‘ColQwen3_5’, ‘Qwen3VLNemotronEmbedModel’, ‘InternLM2ForRewardModel’, ‘Qwen2ForRewardModel’, ‘Qwen2ForProcessRewardModel’, ‘BertForTokenClassification’, ‘ModernBertForTokenClassification’, ‘OpenAIPrivacyFilterForTokenClassification’, ‘Qwen3ASRForcedAlignerForTokenClassification’, ‘RobertaForTokenClassification’, ‘XLMRobertaForTokenClassification’, ‘BertForSequenceClassification’, ‘GPT2ForSequenceClassification’, ‘GteNewForSequenceClassification’, ‘JambaForSequenceClassification’, ‘LlamaBidirectionalForSequenceClassification’, ‘ModernBertForSequenceClassification’, ‘RobertaForSequenceClassification’, ‘XLMRobertaForSequenceClassification’, ‘JinaVLForRanking’, ‘LlamaNemotronVLForSequenceClassification’, ‘AriaForConditionalGeneration’, ‘AudioFlamingo3ForConditionalGeneration’, ‘BagelForConditionalGeneration’, ‘BeeForConditionalGeneration’, ‘Blip2ForConditionalGeneration’, ‘ChameleonForConditionalGeneration’, ‘Cheers’, ‘CheersForConditionalGeneration’, ‘Cohere2VisionForConditionalGeneration’, ‘Cosmos3ForConditionalGeneration’, ‘Cosmos3EdgeForConditionalGeneration’, ‘DeepseekVLV2ForCausalLM’, ‘DeepseekOCRForCausalLM’, ‘DeepseekOCR2ForCausalLM’, ‘UnlimitedOCRForCausalLM’, ‘DotsOCRForCausalLM’, ‘Eagle2_5_VLForConditionalGeneration’, ‘Ernie4_5_VLMoeForConditionalGeneration’, ‘Exaone4_5_ForConditionalGeneration’, ‘FireRedASR2ForConditionalGeneration’, ‘FunASRForConditionalGeneration’, ‘FireRedLIDForConditionalGeneration’, ‘FunAudioChatForConditionalGeneration’, ‘Gemma3ForConditionalGeneration’, ‘Gemma3nForConditionalGeneration’, ‘DiffusionGemmaForBlockDiffusion’, ‘Gemma4ForConditionalGeneration’, ‘Gemma4UnifiedForConditionalGeneration’, ‘GlmAsrForConditionalGeneration’, ‘GLM4VForCausalLM’, ‘Glm4vForConditionalGeneration’, ‘Glm4vMoeForConditionalGeneration’, ‘GlmOcrForConditionalGeneration’, ‘GraniteSpeechForConditionalGeneration’, ‘GraniteSpeechPlusForConditionalGeneration’, ‘Granite4VisionForConditionalGeneration’, ‘H2OVLChatModel’, ‘HunYuanVLForConditionalGeneration’, ‘InternVLChatModel’, ‘InternS1ForConditionalGeneration’, ‘InternVLForConditionalGeneration’, ‘InternS1ProForConditionalGeneration’, ‘InternS2PreviewForConditionalGeneration’, ‘Idefics3ForConditionalGeneration’, ‘IsaacForConditionalGeneration’, ‘KananaVForConditionalGeneration’, ‘KeyeForConditionalGeneration’, ‘KeyeVL1_5ForConditionalGeneration’, ‘KimiVLForConditionalGeneration’, ‘KimiK25ForConditionalGeneration’, ‘KimiK3ForConditionalGeneration’, ‘MoonshotKimiaForCausalLM’, ‘MossTranscribeDiarizeForConditionalGeneration’, ‘LightOnOCRForConditionalGeneration’, ‘Lfm2VlForConditionalGeneration’, ‘Llama4ForConditionalGeneration’, ‘Llama_Nemotron_Nano_VL’, ‘LlavaForConditionalGeneration’, ‘LlavaNextVideoForConditionalGeneration’, ‘LlavaOnevisionForConditionalGeneration’, ‘LlavaOnevision2ForConditionalGeneration’, ‘MiDashengLMModel’, ‘MiMoV2OmniForCausalLM’, ‘MiniMaxM3SparseForConditionalGeneration’, ‘MiniCPMO’, ‘MiniCPMV’, ‘MiniCPMV4_6ForConditionalGeneration’, ‘Mistral3ForConditionalGeneration’, ‘MolmoForCausalLM’, ‘Molmo2ForConditionalGeneration’, ‘Moondream3ForCausalLM’, ‘MossAudioModel’, ‘HfMoondream’, ‘NemotronH_Nano_VL_V2’, ‘NemotronH_Nano_Omni_Reasoning_V3’, ‘NemotronH_Super_Omni_Reasoning_V3’, ‘NVLM_D’, ‘OpenCUAForConditionalGeneration’, ‘OpenPanguVLForConditionalGeneration’, ‘OpenVLAForActionPrediction’, ‘Ovis’, ‘Ovis2_5’, ‘Ovis2_6ForCausalLM’, ‘Ovis2_6_MoeForCausalLM’, ‘PaddleOCRVLForConditionalGeneration’, ‘PaliGemmaForConditionalGeneration’, ‘Phi4ForCausalLMV’, ‘Phi4MMForCausalLM’, ‘PixtralForConditionalGeneration’, ‘QianfanOCRForConditionalGeneration’, ‘Qwen2_5_VLForConditionalGeneration’, ‘Qwen2AudioForConditionalGeneration’, ‘Qwen2_5OmniModel’, ‘Qwen2_5OmniForConditionalGeneration’, ‘Qwen3OmniMoeForConditionalGeneration’, ‘Qwen3ASRForConditionalGeneration’, ‘Qwen3ASRRealtimeGeneration’, ‘Qwen3VLForConditionalGeneration’, ‘Qwen3VLMoeForConditionalGeneration’, ‘Qwen3_5ForConditionalGeneration’, ‘Qwen3_5MoeForConditionalGeneration’, ‘RForConditionalGeneration’, ‘SkyworkR1VChatModel’, ‘SmolVLMForConditionalGeneration’, ‘StepVLForConditionalGeneration’, ‘Step3VLForConditionalGeneration’, ‘Step3p7ForConditionalGeneration’, ‘UltravoxModel’, ‘VoxtralForConditionalGeneration’, ‘VoxtralRealtimeGeneration’, ‘CohereAsrForConditionalGeneration’, ‘NemotronParseForConditionalGeneration’, ‘WhisperForConditionalGeneration’, ‘ExtractHiddenStatesModel’, ‘MiMoMTPModel’, ‘MiMoV2MTPModel’, ‘MiMoV2OmniMTPModel’, ‘EagleCohereForCausalLM’, ‘EagleLlamaForCausalLM’, ‘EagleLlama4ForCausalLM’, ‘EagleMiniCPMForCausalLM’, ‘DFlashDraftModel’, ‘DSparkDraftModel’, ‘Qwen3DSparkModel’, ‘K3DSparkModel’, ‘DFlashLagunaForCausalLM’, ‘Gemma4DSparkModel’, ‘PEagleDraftModel’, ‘PeagleLlamaForCausalLM’, ‘Eagle3LlamaForCausalLM’, ‘Eagle3MiniMaxM2ForCausalLM’, ‘LlamaForCausalLMEagle3’, ‘Eagle3Qwen2_5vlForCausalLM’, ‘Eagle3Qwen3vlForCausalLM’, ‘Eagle3Qwen3ForCausalLM’, ‘PeagleQwen3ForCausalLM’, ‘EagleMistralForCausalLM’, ‘EagleMistralLarge3ForCausalLM’, ‘Eagle3DeepseekV2ForCausalLM’, ‘Eagle3DeepseekV3ForCausalLM’, ‘EagleDeepSeekMTPModel’, ‘DeepSeekMTPModel’, ‘DeepSeekV4MTPModel’, ‘MiniMaxM3MTP’, ‘BailingMoeV25MTPModel’, ‘InklingMTPModel’, ‘Gemma4MTPModel’, ‘ErnieMTPModel’, ‘ExaoneMoeMTP’, ‘Exaone4_5_MTP’, ‘NemotronHMTPModel’, ‘LongCatFlashMTPModel’, ‘Glm4MoeMTPModel’, ‘Glm4MoeLiteMTPModel’, ‘GlmOcrMTPModel’, ‘MedusaModel’, ‘OpenPanguMTPModel’, ‘Qwen3NextMTP’, ‘Step3p5MTP’, ‘Qwen3_5MTP’, ‘Qwen3_5MoeMTP’, ‘HYV3MTPModel’, ‘KimiK3MTPModel’, ‘GPTBigCodeForCausalLM’, ‘OlmoForCausalLM’, ‘Olmo2ForCausalLM’, ‘SmolLM3ForCausalLM’, ‘Starcoder2ForCausalLM’, ‘VaultGemmaForCausalLM’, ‘Emu3ForConditionalGeneration’, ‘VibeVoiceAsrForConditionalGeneration’, ‘TransformersForCausalLM’, ‘TransformersMoEForCausalLM’, ‘TransformersMultiModalForCausalLM’, ‘TransformersMultiModalMoEForCausalLM’, ‘TransformersEmbeddingModel’, ‘TransformersMoEEmbeddingModel’, ‘TransformersMultiModalEmbeddingModel’, ‘TransformersForSequenceClassification’, ‘TransformersMoEForSequenceClassification’, ‘TransformersMultiModalForSequenceClassification’]) [type=value_error, input_value=ArgsKwargs((), {‘model’: …config_format’: ‘auto’}), input_type=ArgsKwargs]
(APIServer pid=111614

The error occurs because the draft model architecture DFlash2DraftModel is not in vLLM’s list of supported architectures for speculative decoding. Only architectures like DFlashDraftModel (not DFlash2DraftModel) are supported for DFlash speculative decoding in vLLM 0.27.1 and later. There is no mention of DFlash2DraftModel as a supported architecture in the official registry or documentation, so this model cannot be used for speculative decoding with vLLM at this time. You must use a draft model with a supported architecture, such as DFlashDraftModel or others listed in the error message, for speculative decoding to work properly[^1^][^2^].

Would you like more detail on how to check or override model architectures for vLLM compatibility?

Sources:

Hint: Mention @Herald in the post for followups.