diff --git a/python/sglang/srt/layers/quantization/base_config.py b/python/sglang/srt/layers/quantization/base_config.py index 232568db7..cf276bc9f 100644 --- a/python/sglang/srt/layers/quantization/base_config.py +++ b/python/sglang/srt/layers/quantization/base_config.py @@ -131,6 +131,9 @@ class QuantizationConfig(ABC): # mapping is updated by models as they initialize self.packed_modules_mapping: Dict[str, List[str]] = dict() + def update_packed_modules_mapping(self, mapping: Dict[str, List[str]]) -> None: + self.packed_modules_mapping = mapping + @abstractmethod def get_name(self) -> str: """Name of the quantization method.""" diff --git a/python/sglang/srt/layers/quantization/modelslim/modelslim.py b/python/sglang/srt/layers/quantization/modelslim/modelslim.py index 3d0c9079a..50f2647e6 100644 --- a/python/sglang/srt/layers/quantization/modelslim/modelslim.py +++ b/python/sglang/srt/layers/quantization/modelslim/modelslim.py @@ -108,6 +108,9 @@ class ModelSlimConfig(QuantizationConfig): [npu_wrapper_rmsnorm_forward], ) + def update_packed_modules_mapping(self, mapping: Dict[str, List[str]]) -> None: + self.packed_modules_mapping.update(mapping) + def get_linear_method(self) -> ModelSlimLinearMethod: return ModelSlimLinearMethod(self) diff --git a/python/sglang/srt/models/deepseek_v2.py b/python/sglang/srt/models/deepseek_v2.py index 564f38d6f..c7d4e999d 100644 --- a/python/sglang/srt/models/deepseek_v2.py +++ b/python/sglang/srt/models/deepseek_v2.py @@ -2462,8 +2462,8 @@ class DeepseekV2ForCausalLM(nn.Module, DeepseekV2WeightLoaderMixin): # Quant configs like Quark may rely on the model to provide fused-module # mappings so exclusion checks can unfuse derived names back to the # checkpoint's source layer names. - if quant_config is not None and hasattr(quant_config, "packed_modules_mapping"): - quant_config.packed_modules_mapping = self.packed_modules_mapping + if quant_config is not None: + quant_config.update_packed_modules_mapping(self.packed_modules_mapping) self.pp_group = get_pp_group() self.config = config