diff --git a/auto_round/utils/model.py b/auto_round/utils/model.py index f4c6e7b75..da34dd9b7 100644 --- a/auto_round/utils/model.py +++ b/auto_round/utils/model.py @@ -613,6 +613,8 @@ def is_moe_layer(module: torch.nn.Module) -> bool: "DeepseekV3MoE".lower(), "Qwen2MoeSparseMoeBlock".lower(), "Qwen3MoeSparseMoeBlock".lower(), + "Qwen3NextSparseMoeBlock".lower(), + "Qwen3VLMoeTextSparseMoeBlock".lower(), ] ) @@ -722,7 +724,16 @@ def module_match_name_list(module, name_list): return any(name.lower() in type(module).__name__.lower() for name in name_list) if module_match_name_list( - module, ["Qwen2MoeSparseMoeBlock", "Qwen3MoeSparseMoeBlock", "DeepseekMoE", "DeepseekV2MoE", "DeepseekV3MoE"] + module, + [ + "Qwen2MoeSparseMoeBlock", + "Qwen3MoeSparseMoeBlock", + "Qwen3NextSparseMoeBlock", + "Qwen3VLMoeTextSparseMoeBlock", + "DeepseekMoE", + "DeepseekV2MoE", + "DeepseekV3MoE", + ], ): return ["gate_proj", "down_proj", "up_proj"] elif module_match_name_list(module, ["MixtralMoeSparseMoeBlock"]):