diff --git a/vllm/model_executor/models/gpt_oss.py b/vllm/model_executor/models/gpt_oss.py index f10151180d..2ff5a9ea79 100644 --- a/vllm/model_executor/models/gpt_oss.py +++ b/vllm/model_executor/models/gpt_oss.py @@ -979,7 +979,11 @@ class GptOssModel(nn.Module, EagleModelMixin): tp_rank_start = tp_rank * per_rank_intermediate_size tp_rank_end = min((tp_rank + 1) * per_rank_intermediate_size, intermediate_size) - for name, weight in weights: + # Use centralized weight remapping for MoE expert parameters. + # The FusedMoE refactor moved expert params under + # `mlp.experts.routed_experts.*`; this remaps checkpoint names so + # MoE weight/bias keys resolve against params_dict. + for name, weight in remap_moe_expert_weights(weights, params_dict): # Skip layers on other devices. if is_pp_missing_parameter(name, self): continue