Unverified Commit 2ce90e5b authored by Yuxuan Zhang's avatar Yuxuan Zhang Committed by GitHub
Browse files

Fix GLM-4 PP Missing Layer When using with PP. (#21531)


Signed-off-by: default avatarzRzRzRzRzRzRzR <2448370773@qq.com>
parent 633f6e80
...@@ -612,14 +612,20 @@ class Glm4MoeForCausalLM(nn.Module, SupportsPP): ...@@ -612,14 +612,20 @@ class Glm4MoeForCausalLM(nn.Module, SupportsPP):
self.num_expert_groups = config.n_group self.num_expert_groups = config.n_group
self.moe_layers: list[FusedMoE] = [] self.moe_layers: list[FusedMoE] = []
example_moe = None
for layer in self.model.layers: for layer in self.model.layers:
if isinstance(layer, PPMissingLayer):
continue
assert isinstance(layer, Glm4MoeDecoderLayer) assert isinstance(layer, Glm4MoeDecoderLayer)
if isinstance(layer.mlp, Glm4MoE): if isinstance(layer.mlp, Glm4MoE):
# Pick last one layer since the first ones may be dense layers.
example_moe = layer.mlp
self.moe_layers.append(layer.mlp.experts) self.moe_layers.append(layer.mlp.experts)
# Pick last one layer since the first ones may be dense layers. if example_moe is None:
example_moe = typing.cast( raise RuntimeError("No Glm4MoE layer found in model.layers.")
Glm4MoE, self.model.layers[config.num_hidden_layers - 1].mlp)
self.num_logical_experts = example_moe.n_logical_experts self.num_logical_experts = example_moe.n_logical_experts
self.num_physical_experts = example_moe.n_physical_experts self.num_physical_experts = example_moe.n_physical_experts
self.num_local_physical_experts = example_moe.n_local_physical_experts self.num_local_physical_experts = example_moe.n_local_physical_experts
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment