From 3bdc00b0c67025717c45b851b229c0f7af5a1702 Mon Sep 17 00:00:00 2001 From: medhakimbedhief Date: Tue, 3 Mar 2026 04:20:16 +0100 Subject: [PATCH 1/3] Add Qwen3.5 support for sequence classification - Introduced Qwen3_5ForSequenceClassification class in modeling_qwen3_5.py and modular_qwen3_5.py. - Updated MODEL_FOR_SEQUENCE_CLASSIFICATION_MAPPING_NAMES to include new Qwen3.5 models. --- src/transformers/models/auto/modeling_auto.py | 2 ++ src/transformers/models/qwen3_5/modeling_qwen3_5.py | 7 ++++++- src/transformers/models/qwen3_5/modular_qwen3_5.py | 7 ++++++- 3 files changed, 14 insertions(+), 2 deletions(-) diff --git a/src/transformers/models/auto/modeling_auto.py b/src/transformers/models/auto/modeling_auto.py index 7b74d259b555..29a05a7854be 100644 --- a/src/transformers/models/auto/modeling_auto.py +++ b/src/transformers/models/auto/modeling_auto.py @@ -1253,6 +1253,8 @@ class _BaseModelWithGenerate(PreTrainedModel, GenerationMixin): ("qwen2", "Qwen2ForSequenceClassification"), ("qwen2_moe", "Qwen2MoeForSequenceClassification"), ("qwen3", "Qwen3ForSequenceClassification"), + ("qwen3_5", "Qwen3_5ForSequenceClassification"), + ("qwen3_5_text", "Qwen3_5ForSequenceClassification"), ("qwen3_moe", "Qwen3MoeForSequenceClassification"), ("qwen3_next", "Qwen3NextForSequenceClassification"), ("reformer", "ReformerForSequenceClassification"), diff --git a/src/transformers/models/qwen3_5/modeling_qwen3_5.py b/src/transformers/models/qwen3_5/modeling_qwen3_5.py index 49083c4c157e..3a0d81c9b7bc 100644 --- a/src/transformers/models/qwen3_5/modeling_qwen3_5.py +++ b/src/transformers/models/qwen3_5/modeling_qwen3_5.py @@ -34,7 +34,7 @@ from ...integrations import use_kernelized_func from ...masking_utils import create_causal_mask from ...modeling_flash_attention_utils import FlashAttentionKwargs -from ...modeling_layers import GradientCheckpointingLayer +from ...modeling_layers import GenericForSequenceClassification, GradientCheckpointingLayer from ...modeling_outputs import ( BaseModelOutputWithPast, BaseModelOutputWithPooling, @@ -1871,6 +1871,10 @@ def forward( ) +class Qwen3_5ForSequenceClassification(GenericForSequenceClassification, Qwen3_5PreTrainedModel): + config: Qwen3_5TextConfig + + @dataclass @auto_docstring( custom_intro=""" @@ -2283,6 +2287,7 @@ def _expand_dict_for_generation(dict_to_expand): "Qwen3_5TextModel", "Qwen3_5Model", "Qwen3_5ForCausalLM", + "Qwen3_5ForSequenceClassification", "Qwen3_5ForConditionalGeneration", "Qwen3_5PreTrainedModel", ] diff --git a/src/transformers/models/qwen3_5/modular_qwen3_5.py b/src/transformers/models/qwen3_5/modular_qwen3_5.py index 12d6ed010554..0b4bd879eb38 100644 --- a/src/transformers/models/qwen3_5/modular_qwen3_5.py +++ b/src/transformers/models/qwen3_5/modular_qwen3_5.py @@ -22,7 +22,7 @@ from ... import initialization as init from ...cache_utils import Cache from ...masking_utils import create_causal_mask -from ...modeling_layers import GradientCheckpointingLayer +from ...modeling_layers import GenericForSequenceClassification, GradientCheckpointingLayer from ...modeling_outputs import BaseModelOutputWithPast, BaseModelOutputWithPooling from ...modeling_rope_utils import RopeParameters from ...modeling_utils import PreTrainedModel @@ -807,6 +807,10 @@ def __init__(self, config): self.model = Qwen3_5TextModel(config) +class Qwen3_5ForSequenceClassification(GenericForSequenceClassification, Qwen3_5PreTrainedModel): + config: Qwen3_5TextConfig + + class Qwen3_5ForConditionalGeneration(Qwen3VLForConditionalGeneration): def get_video_features( self, @@ -828,6 +832,7 @@ def get_image_features( "Qwen3_5TextModel", "Qwen3_5Model", "Qwen3_5ForCausalLM", + "Qwen3_5ForSequenceClassification", "Qwen3_5ForConditionalGeneration", "Qwen3_5PreTrainedModel", ] From 937b2e03fa56e1ab987ca7e5578183a1efc20ac2 Mon Sep 17 00:00:00 2001 From: medhakimbedhief Date: Tue, 3 Mar 2026 05:23:01 +0100 Subject: [PATCH 2/3] Update Qwen3.5 text model tests to include sequence classification support --- tests/models/qwen3_5/test_modeling_qwen3_5.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tests/models/qwen3_5/test_modeling_qwen3_5.py b/tests/models/qwen3_5/test_modeling_qwen3_5.py index 2e844db29c94..906da8c7cd04 100644 --- a/tests/models/qwen3_5/test_modeling_qwen3_5.py +++ b/tests/models/qwen3_5/test_modeling_qwen3_5.py @@ -38,6 +38,7 @@ Qwen3_5Config, Qwen3_5ForCausalLM, Qwen3_5ForConditionalGeneration, + Qwen3_5ForSequenceClassification, Qwen3_5Model, Qwen3_5TextConfig, Qwen3_5TextModel, @@ -49,6 +50,7 @@ class Qwen3_5TextModelTester(CausalLMModelTester): if is_torch_available(): base_model_class = Qwen3_5TextModel causal_lm_class = Qwen3_5ForCausalLM + sequence_classification_class = Qwen3_5ForSequenceClassification def __init__(self, parent): super().__init__(parent=parent) From b4b25481cf1d3205f9293ee920cdb88cbc781110 Mon Sep 17 00:00:00 2001 From: medhakimbedhief Date: Tue, 3 Mar 2026 05:44:27 +0100 Subject: [PATCH 3/3] Add Qwen3_5ForSequenceClassification documentation --- docs/source/en/model_doc/qwen3_5.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/docs/source/en/model_doc/qwen3_5.md b/docs/source/en/model_doc/qwen3_5.md index 24111e180295..51a11a7e9ec5 100644 --- a/docs/source/en/model_doc/qwen3_5.md +++ b/docs/source/en/model_doc/qwen3_5.md @@ -66,6 +66,11 @@ TODO [[autodoc]] Qwen3_5ForCausalLM - forward +## Qwen3_5ForSequenceClassification + +[[autodoc]] Qwen3_5ForSequenceClassification + - forward + ## Qwen3_5ForConditionalGeneration [[autodoc]] Qwen3_5ForConditionalGeneration