diff --git a/vllm/model_executor/layers/quantization/inc/schemes/inc_wna16_linear.py b/vllm/model_executor/layers/quantization/inc/schemes/inc_wna16_linear.py index dd6c2fa2eaae..ebcf6dcaf862 100644 --- a/vllm/model_executor/layers/quantization/inc/schemes/inc_wna16_linear.py +++ b/vllm/model_executor/layers/quantization/inc/schemes/inc_wna16_linear.py @@ -10,6 +10,7 @@ from vllm.model_executor.layers.quantization.auto_gptq import AutoGPTQConfig from vllm.model_executor.layers.quantization.utils.marlin_utils import ( check_marlin_supported, + get_marlin_input_dtype, ) from vllm.model_executor.parameter import ( GroupQuantScaleParameter, @@ -62,7 +63,7 @@ def _build_gptq_method(self): AutoGPTQLinearMethod, ) - return AutoGPTQLinearMethod( + method = AutoGPTQLinearMethod( AutoGPTQConfig( weight_bits=self.layer_config.bits, group_size=self.layer_config.group_size, @@ -73,6 +74,8 @@ def _build_gptq_method(self): full_config={}, ) ) + method.input_dtype = get_marlin_input_dtype() + return method raise NotImplementedError( f"INC quantization with bits={self.layer_config.bits}, " diff --git a/vllm/model_executor/layers/quantization/inc/schemes/inc_wna16_scheme.py b/vllm/model_executor/layers/quantization/inc/schemes/inc_wna16_scheme.py index 46ad24ea5b47..0354e096de55 100644 --- a/vllm/model_executor/layers/quantization/inc/schemes/inc_wna16_scheme.py +++ b/vllm/model_executor/layers/quantization/inc/schemes/inc_wna16_scheme.py @@ -6,6 +6,9 @@ from vllm.logger import init_logger from vllm.model_executor.layers.quantization.auto_awq import AutoAWQConfig from vllm.model_executor.layers.quantization.auto_gptq import AutoGPTQConfig +from vllm.model_executor.layers.quantization.utils.marlin_utils import ( + get_marlin_input_dtype, +) from vllm.platforms import current_platform from vllm.scalar_type import scalar_types @@ -137,7 +140,7 @@ def _resolve_gptq_moe(layer: "torch.nn.Module", layer_config: "INCLayerConfig"): ) and check_moe_marlin_supports_layer(layer, layer_config.group_size) if use_marlin: - return AutoGPTQMoEMethod( + moe_method = AutoGPTQMoEMethod( AutoGPTQConfig( weight_bits=layer_config.bits, group_size=layer_config.group_size, @@ -149,6 +152,8 @@ def _resolve_gptq_moe(layer: "torch.nn.Module", layer_config: "INCLayerConfig"): ), layer.moe_config, ) + moe_method.input_dtype = get_marlin_input_dtype() + return moe_method moe_config = MoeWNA16Config.from_config( {