@tduncan / Nvidia-Optimization-Stack-VLLM Mirror · read-only / commits / da1daf40bf
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 1, 21:15 UTC

[Bugfix] Exclude vision embedder from quantization in Gemma4 Unified (#44571)

Signed-off-by: Luciano Martins <lucianommartins@users.noreply.github.com> Co-authored-by: Luciano Martins <lucianommartins@users.noreply.github.com>

Luciano Martins committed Jun 5, 2026 at 00:47 UTC da1daf40bf18e5eaae04f26a80a537c8168a8bc2
1 file changed +3 -1
vllm/model_executor/models/gemma4_unified.py
+3 -1
@@ -80,7 +80,7 @@ class Gemma4UnifiedVisionEmbedder(nn.Module):
80 Pipeline: raw patches → LN₁ → Dense → LN₂ → +factorized_posemb → LN₃.
81 """
82
83 - def __init__(self, config, quant_config=None):
83 + def __init__(self, config, quant_config=None, prefix=""):
84 super().__init__()
85 patch_dim = config.model_patch_size**2 * 3
86 mm_embed_dim = config.mm_embed_dim
@@ -91,6 +91,7 @@ class Gemma4UnifiedVisionEmbedder(nn.Module):
91 mm_embed_dim,
92 bias=True,
93 quant_config=quant_config,
94 + prefix=f"{prefix}.patch_dense",
95 gather_output=True,
96 )
97 self.patch_ln2 = nn.LayerNorm(mm_embed_dim)
@@ -267,6 +268,7 @@ class Gemma4UnifiedForConditionalGeneration(Gemma4ForConditionalGeneration):
268 Gemma4UnifiedVisionEmbedder(
269 config.vision_config,
270 quant_config=quant_config,
271 + prefix=maybe_prefix(prefix, "vision_embedder"),
272 )
273 if config.vision_config is not None
274 else None