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