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: