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 15, 03:30 UTC
[Misc] Remove _maybe_ignore_quant_config from GLM4.1v (#20432)
Signed-off-by: zRzRzRzRzRzRzR <2448370773@qq.com>
Yuxuan Zhang committed
Jul 4, 2025 at 05:41 UTC
2f2fcb31b81f6025a2cc3cb9fe5b95bd03a5861b
1 file changed
+9
-18
vllm/model_executor/models/glm4_1v.py
+9
-18
@@ -55,9 +55,6 @@ from vllm.model_executor.layers.linear import (ColumnParallelLinear,
55
QKVParallelLinear,
56
RowParallelLinear)
57
from vllm.model_executor.layers.quantization import QuantizationConfig
58
-from vllm.model_executor.layers.quantization.gptq import GPTQConfig
59
-from vllm.model_executor.layers.quantization.gptq_marlin import (
60
- GPTQMarlinConfig)
58
from vllm.model_executor.model_loader.weight_utils import default_weight_loader
59
from vllm.model_executor.models.module_mapping import MultiModelKeys
60
from vllm.multimodal import MULTIMODAL_REGISTRY
@@ -179,6 +176,7 @@ class Glm4vVisionMLP(nn.Module):
176
hidden_features: int,
177
bias: bool = False,
178
quant_config: Optional[QuantizationConfig] = None,
179
+ prefix: str = "",
180
):
181
super().__init__()
182
self.gate_up_proj = MergedColumnParallelLinear(
@@ -186,13 +184,12 @@ class Glm4vVisionMLP(nn.Module):
184
output_sizes=[hidden_features] * 2,
185
bias=bias,
186
quant_config=quant_config,
189
- )
190
- self.down_proj = RowParallelLinear(
191
- hidden_features,
192
- in_features,
193
- bias=bias,
194
- quant_config=quant_config,
195
- )
187
+ prefix=f"{prefix}.gate_up_proj")
188
+ self.down_proj = RowParallelLinear(hidden_features,
189
+ in_features,
190
+ bias=bias,
191
+ quant_config=quant_config,
192
+ prefix=f"{prefix}.down_proj")
193
self.act_fn = SiluAndMul()
194
195
def forward(self, x: torch.Tensor):
@@ -407,6 +404,7 @@ class Glm4vVisionBlock(nn.Module):
404
mlp_hidden_dim,
405
bias=False,
406
quant_config=quant_config,
407
+ prefix=f"{prefix}.mlp",
408
)
409
410
def forward(
@@ -1278,7 +1276,7 @@ class Glm4vForConditionalGeneration(nn.Module, SupportsMultiModal,
1276
self.visual = Glm4vVisionTransformer(
1277
config.vision_config,
1278
norm_eps=getattr(config, "rms_norm_eps", 1e-5),
1281
- quant_config=self._maybe_ignore_quant_config(quant_config),
1279
+ quant_config=quant_config,
1280
prefix=maybe_prefix(prefix, "visual"),
1281
)
1282
@@ -1291,13 +1289,6 @@ class Glm4vForConditionalGeneration(nn.Module, SupportsMultiModal,
1289
self.make_empty_intermediate_tensors = (
1290
self.language_model.make_empty_intermediate_tensors)
1291
1294
- def _maybe_ignore_quant_config(self, quant_config: QuantizationConfig):
1295
- # GPTQ configs do not have a list of ignored modules, however AutoGPTQ
1296
- # seems to avoid vision encoder sections for some models.
1297
- if isinstance(quant_config, (GPTQConfig, GPTQMarlinConfig)):
1298
- return None
1299
- return quant_config
1300
-
1292
def _validate_and_reshape_mm_tensor(self, mm_input: object,
1293
name: str) -> torch.Tensor:
1294
if not isinstance(mm_input, (torch.Tensor, list)):