From 0071fe9c407ad59f2803cc319e1bcaa3ac2021f1 Mon Sep 17 00:00:00 2001 From: Xuchun Shang Date: Wed, 17 Dec 2025 18:33:50 +0800 Subject: [PATCH] [bug fix][pp] fix weight load for qwen2.5-vl (#15138) Signed-off-by: Xuchun Shang --- python/sglang/srt/models/qwen2_5_vl.py | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/python/sglang/srt/models/qwen2_5_vl.py b/python/sglang/srt/models/qwen2_5_vl.py index f2320ec76..7185de34c 100644 --- a/python/sglang/srt/models/qwen2_5_vl.py +++ b/python/sglang/srt/models/qwen2_5_vl.py @@ -761,6 +761,14 @@ class Qwen2_5_VLForConditionalGeneration(nn.Module): if "rotary_emb.inv_freq" in name: continue + if self.pp_group.is_last_rank and "model.embed_tokens.weight" in name: + if "lm_head.weight" in params_dict: + lm_head_param = params_dict["lm_head.weight"] + weight_loader = getattr( + lm_head_param, "weight_loader", default_weight_loader + ) + weight_loader(lm_head_param, loaded_weight) + for param_name, weight_name, shard_id in stacked_params_mapping: if weight_name not in name: continue @@ -807,10 +815,8 @@ class Qwen2_5_VLForConditionalGeneration(nn.Module): if name in params_dict.keys(): param = params_dict[name] else: - if get_global_server_args().encoder_only: - continue - else: - raise ValueError(f"Weight {name} not found in params_dict") + continue + except KeyError: print(params_dict.keys()) raise