From f3ecc3688ff1c505eddb94cdd1627e9c9f4a56ee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Bernl=C3=B6hr?= Date: Wed, 10 Jun 2026 02:53:21 +0200 Subject: [PATCH] Fix Gemma3 ModelOpt kv-scale loading (#25794) --- python/sglang/srt/models/gemma3_causal.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/python/sglang/srt/models/gemma3_causal.py b/python/sglang/srt/models/gemma3_causal.py index 2af6216da..a2ae549e6 100644 --- a/python/sglang/srt/models/gemma3_causal.py +++ b/python/sglang/srt/models/gemma3_causal.py @@ -857,6 +857,16 @@ class Gemma3ForCausalLM(PreTrainedModel): params_dict = dict(self.named_parameters()) loaded_params: Set[str] = set() for name, loaded_weight in weights: + remapped_name = maybe_remap_kv_scale_name(name, params_dict) + if remapped_name is None: + continue + if remapped_name != name: + param = params_dict[remapped_name] + weight_loader = getattr(param, "weight_loader", default_weight_loader) + weight_loader(param, loaded_weight) + loaded_params.add(remapped_name) + continue + for param_name, shard_name, shard_id in stacked_params_mapping: # if param_name in name: # print(f"{param_name} is already in {name}")