From fcd2e2d10f3148df629e54a2f2399b924ace4210 Mon Sep 17 00:00:00 2001 From: dikshyantacharya Date: Sun, 14 Dec 2025 23:29:21 +0100 Subject: [PATCH] Raise error when quantization_config is passed to from_config --- src/transformers/modeling_utils.py | 6 ++++++ tests/quantization/config/__init__.py | 0 tests/quantization/config/test_from_config.py | 14 ++++++++++++++ 3 files changed, 20 insertions(+) create mode 100644 tests/quantization/config/__init__.py create mode 100644 tests/quantization/config/test_from_config.py diff --git a/src/transformers/modeling_utils.py b/src/transformers/modeling_utils.py index f1ccf1491bcb..46973ffa9f79 100644 --- a/src/transformers/modeling_utils.py +++ b/src/transformers/modeling_utils.py @@ -1306,6 +1306,12 @@ def __init__(self, config: PreTrainedConfig, *inputs, **kwargs): f"`model = {self.__class__.__name__}.from_pretrained(PRETRAINED_MODEL_NAME)`" ) self.config = config + quant_config = getattr(config, "quantization_config", None) + if quant_config is not None: + raise NotImplementedError( + "Quantization via `from_config()` is not supported. " + "Quantized models must be created via `from_pretrained()` with an appropriate backend." + ) # Check the attention implementation is supported, or set it if not yet set (on the internal attr, to avoid # setting it recursively) diff --git a/tests/quantization/config/__init__.py b/tests/quantization/config/__init__.py new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/tests/quantization/config/test_from_config.py b/tests/quantization/config/test_from_config.py new file mode 100644 index 000000000000..0a7bd92bc031 --- /dev/null +++ b/tests/quantization/config/test_from_config.py @@ -0,0 +1,14 @@ +import pytest + +from transformers import AutoConfig, AutoModel + + +def test_quantization_from_config_raises(): + config = AutoConfig.from_pretrained("gpt2") + config.quantization_config = {"quant_method": "fp8"} + + with pytest.raises( + NotImplementedError, + match="Quantization via", + ): + AutoModel.from_config(config)