From b28bc1060f1efa322105c1ea765a4885a4ea1d62 Mon Sep 17 00:00:00 2001 From: Alison Shao <54658187+alisonshao@users.noreply.github.com> Date: Fri, 3 Jul 2026 17:08:25 -0700 Subject: [PATCH] fix(mimo-vl): pass padded_context_dim to Qwen2_5_VisionPatchMerger (#29994) --- python/sglang/srt/models/mimo_vl.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/python/sglang/srt/models/mimo_vl.py b/python/sglang/srt/models/mimo_vl.py index 3bfd4dea0..838b5983a 100644 --- a/python/sglang/srt/models/mimo_vl.py +++ b/python/sglang/srt/models/mimo_vl.py @@ -301,6 +301,11 @@ class MiMoVisionTransformer(nn.Module): self.merger = Qwen2_5_VisionPatchMerger( dim=vision_config.out_hidden_size, context_dim=hidden_size, + # MiMo-VL's merger MLP is square (intermediate == context_dim * merge**2), + # so no dim padding is needed. The Qwen2.5-VL formula num_heads * head_dim + # over-sizes it here because MiMo uses qk_channels (64) for head_dim rather + # than hidden_size // num_heads, which would mismatch the checkpoint. + padded_context_dim=hidden_size, spatial_merge_size=spatial_merge_size, quant_config=quant_config, prefix=add_prefix("merger", prefix),