Support quantized DSpark Markov heads (#50424)

Signed-off-by: Andrii Skliar <askliar@nvidia.com> Co-authored-by: Andrii Skliar <askliar@nvidia.com> Co-authored-by: Benjamin Chislett <bchislett@nvidia.com>

Andrii Skliar committed Aug 3, 2026 at 14:35 UTC b977407d8be3bc076c1e2d6f3df02b9bdbd1fab9
1 file changed +4
vllm/model_executor/models/qwen3_dspark.py
+4
@@ -22,6 +22,7 @@ import torch.nn as nn
22 from vllm.config import VllmConfig
23 from vllm.logger import init_logger
24 from vllm.model_executor.layers.logits_processor import LogitsProcessor
25 +from vllm.model_executor.layers.quantization import QuantizationConfig
26 from vllm.model_executor.layers.vocab_parallel_embedding import (
27 ParallelLMHead,
28 )
@@ -51,6 +52,7 @@ class DSparkMarkovHead(nn.Module):
52 draft_vocab_size: int,
53 markov_rank: int,
54 prefix: str,
55 + quant_config: QuantizationConfig | None = None,
56 ) -> None:
57 super().__init__()
58 self.markov_w1 = nn.Embedding(vocab_size, markov_rank)
@@ -58,6 +60,7 @@ class DSparkMarkovHead(nn.Module):
60 draft_vocab_size,
61 markov_rank,
62 bias=False,
63 + quant_config=quant_config,
64 prefix=maybe_prefix(prefix, "markov_w2"),
65 disable_tp=True,
66 )
@@ -97,6 +100,7 @@ class Qwen3DSparkModel(DFlashQwen3Model):
100 draft_vocab_size,
101 config.markov_rank,
102 prefix=maybe_prefix(prefix, "markov_head"),
103 + quant_config=self.quant_config,
104 )
105
106