[Fix][Qwen]: fused shared-expert detection PP-safe protection (#34447)

This commit is contained in:
zijiec
2026-08-11 18:50:05 -07:00
committed by GitHub
parent 37c631ef23
commit 93e9db5eb8
2 changed files with 75 additions and 6 deletions
+6 -6
View File
@@ -1961,13 +1961,13 @@ class Qwen3_5MoeForConditionalGeneration(Qwen3VLForConditionalGeneration):
return module_name.startswith("model.layers.")
def _get_num_fused_shared_experts(self):
if not (
hasattr(self.model, "layers")
and len(self.model.layers) > 0
and hasattr(self.model.layers[0].mlp, "num_fused_shared_experts")
):
if not hasattr(self.model, "layers"):
return 0
return self.model.layers[0].mlp.num_fused_shared_experts
for layer_id in range(self.model.start_layer, self.model.end_layer):
mlp = getattr(self.model.layers[layer_id], "mlp", None)
if hasattr(mlp, "num_fused_shared_experts"):
return mlp.num_fused_shared_experts
return 0
def get_embed_and_head(self):
embed = self.model.embed_tokens.weight if self.pp_group.is_first_rank else None