@tduncan / Nvidia-Optimization-Stack-VLLM Mirror · read-only / commits / 600aaab8d6
Fork 0

A high-throughput and memory-efficient inference and serving engine for LLMs

Mirrored from https://github.com/tduncan-lum/Nvidia-Optimization-Stack---VLLM.git

Synced Nov 10, 07:45 UTC

[Model] Remove incorrect `SupportsPP` from MTP models (#32150)

Signed-off-by: DarkLight1337 <tlleungac@connect.ust.hk>

Cyrus Leung committed Jan 12, 2026 at 17:19 UTC 600aaab8d626301f4dbfcd812ccf47b3e8d81ac9
6 files changed +6 -15
vllm/model_executor/models/deepseek_mtp.py
+1 -2
@@ -32,7 +32,6 @@ from .deepseek_v2 import (
32 DeepseekV2MoE,
33 get_spec_layer_idx_from_weight_name,
34 )
35 -from .interfaces import SupportsPP
35 from .utils import maybe_prefix
36
37 logger = init_logger(__name__)
@@ -181,7 +180,7 @@ class DeepSeekMultiTokenPredictor(nn.Module):
180
181
182 @support_torch_compile
184 -class DeepSeekMTP(nn.Module, SupportsPP, DeepseekV2MixtureOfExperts):
183 +class DeepSeekMTP(nn.Module, DeepseekV2MixtureOfExperts):
184 def __init__(self, *, vllm_config: VllmConfig, prefix: str = ""):
185 super().__init__()
186 self.config = vllm_config.model_config.hf_config
vllm/model_executor/models/ernie_mtp.py
+1 -2
@@ -39,7 +39,6 @@ from vllm.model_executor.layers.vocab_parallel_embedding import (
39 from vllm.model_executor.model_loader.weight_utils import default_weight_loader
40 from vllm.sequence import IntermediateTensors
41
42 -from .interfaces import SupportsPP
42 from .llama import LlamaDecoderLayer
43 from .utils import is_pp_missing_parameter, maybe_prefix
44
@@ -143,7 +142,7 @@ class ErnieMultiTokenPredictor(nn.Module):
142 return logits
143
144
146 -class ErnieMTP(nn.Module, SupportsPP):
145 +class ErnieMTP(nn.Module):
146 def __init__(self, *, vllm_config: VllmConfig, prefix: str = ""):
147 super().__init__()
148
vllm/model_executor/models/glm4_moe_mtp.py
+1 -2
@@ -47,7 +47,6 @@ from .glm4_moe import (
47 Glm4MoeDecoderLayer,
48 get_spec_layer_idx_from_weight_name,
49 )
50 -from .interfaces import SupportsPP
50 from .utils import maybe_prefix
51
52
@@ -184,7 +183,7 @@ class Glm4MoeMultiTokenPredictor(nn.Module):
183 return logits
184
185
187 -class Glm4MoeMTP(nn.Module, SupportsPP, Glm4MixtureOfExperts):
186 +class Glm4MoeMTP(nn.Module, Glm4MixtureOfExperts):
187 def __init__(self, *, vllm_config: VllmConfig, prefix: str = ""):
188 super().__init__()
189 self.config = vllm_config.model_config.hf_config
vllm/model_executor/models/longcat_flash_mtp.py
+1 -2
@@ -24,7 +24,6 @@ from vllm.model_executor.models.longcat_flash import FlashConfig
24 from vllm.sequence import IntermediateTensors
25
26 from .deepseek_v2 import DeepseekV2DecoderLayer
27 -from .interfaces import SupportsPP
27 from .utils import maybe_prefix
28
29
@@ -124,7 +123,7 @@ class LongCatMultiTokenPredictor(nn.Module):
123 )
124
125
127 -class LongCatFlashMTP(nn.Module, SupportsPP):
126 +class LongCatFlashMTP(nn.Module):
127 def __init__(self, *, vllm_config: VllmConfig, prefix: str = ""):
128 super().__init__()
129 # LongCat MTP without MoE layers
vllm/model_executor/models/openpangu_mtp.py
+1 -2
@@ -43,7 +43,6 @@ from vllm.model_executor.models.deepseek_mtp import (
43 from vllm.model_executor.models.utils import maybe_prefix
44 from vllm.sequence import IntermediateTensors
45
46 -from .interfaces import SupportsPP
46 from .openpangu import OpenPanguDecoderLayer
47
48
@@ -92,7 +91,7 @@ class OpenPanguMultiTokenPredictor(DeepSeekMultiTokenPredictor):
91
92
93 @support_torch_compile
95 -class OpenPanguMTP(nn.Module, SupportsPP):
94 +class OpenPanguMTP(nn.Module):
95 def __init__(self, *, vllm_config: VllmConfig, prefix: str = ""):
96 super().__init__()
97 self.config = vllm_config.model_config.hf_config
vllm/model_executor/models/qwen3_next_mtp.py
+1 -5
@@ -27,7 +27,6 @@ from vllm.model_executor.models.qwen3_next import (
27 from vllm.sequence import IntermediateTensors
28 from vllm.transformers_utils.configs import Qwen3NextConfig
29
30 -from .interfaces import SupportsPP
30 from .utils import (
31 AutoWeightsLoader,
32 is_pp_missing_parameter,
@@ -221,7 +220,7 @@ class Qwen3NextMultiTokenPredictor(nn.Module):
220
221
222 @support_torch_compile
224 -class Qwen3NextMTP(nn.Module, SupportsPP, QwenNextMixtureOfExperts):
223 +class Qwen3NextMTP(nn.Module, QwenNextMixtureOfExperts):
224 packed_modules_mapping = {
225 "qkv_proj": [
226 "q_proj",
@@ -253,9 +252,6 @@ class Qwen3NextMTP(nn.Module, SupportsPP, QwenNextMixtureOfExperts):
252 prefix=maybe_prefix(prefix, "lm_head"),
253 )
254 self.logits_processor = LogitsProcessor(config.vocab_size)
256 - self.make_empty_intermediate_tensors = (
257 - self.model.make_empty_intermediate_tensors
258 - )
255 self.set_moe_parameters()
256
257 def embed_input_ids(self, input_ids: torch.Tensor) -> torch.Tensor: