File size: 4,600 Bytes
5b5c57c
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
---
library_name: transformers
license: apache-2.0
license_link: https://huggingface.co/Qwen/Qwen3.5-9B/blob/main/LICENSE
pipeline_tag: image-text-to-text
base_model:
- Qwen/Qwen3.5-9B
tags:
- qwen3.5
- vision-language
- multimodal
- video
- reinforcement-learning
- gspo
- mars2
- mdc
language:
- en
- zh
---

# caT-MDC

`caT-MDC` is the model submitted by team **caT** to the **MDC track of the
MARS2 2026 Challenge**.

The model uses the Qwen3.5-9B multimodal architecture and was post-trained with
the team's cold-start and group-based reinforcement-learning pipeline. This
repository contains the complete merged model in Hugging Face Transformers
format rather than a LoRA adapter.

## Model Details

| Item | Description |
|---|---|
| Team | caT |
| Challenge | MARS2 2026 |
| Track | MDC |
| Backbone | Qwen3.5-9B |
| Architecture | `Qwen3_5ForConditionalGeneration` |
| Model type | Multimodal vision-language model |
| Weight format | Safetensors |
| Precision | BFloat16 |
| Training stage | Cold-start post-training followed by GSPO-stage reinforcement learning |
| Release format | Complete merged model |

## Training Summary

The released checkpoint is the selected MDC submission model. According to the
archived configuration in `args.json`, its reinforcement-learning stage used:

- learning rate: `1e-5`
- epochs: `1`
- per-device batch size: `4`
- gradient accumulation steps: `2`
- rollout generations per prompt: `8`
- maximum completion length: `8048`
- precision: BFloat16
- optimizer: fused AdamW
- learning-rate schedule: cosine
- experiment tracking: SwanLab and TensorBoard

The competition training dataset is not redistributed in this model repository.

## Repository Contents

- `config.json`: model architecture and configuration
- `generation_config.json`: default generation configuration
- `model-*.safetensors`: sharded model weights
- `model.safetensors.index.json`: weight index
- `preprocessor_config.json`: multimodal preprocessing configuration
- `processor_config.json`: processor configuration
- `tokenizer.json`: tokenizer
- `tokenizer_config.json`: tokenizer configuration
- `chat_template.jinja`: conversation template
- `args.json`: archived training arguments

## Installation

```bash
pip install -U transformers accelerate pillow
```

Qwen3.5 requires a recent Transformers version. Refer to the official
[Qwen3.5-9B model card](https://huggingface.co/Qwen/Qwen3.5-9B) for current
compatibility guidance.

## Loading the Model

```python
from transformers import AutoProcessor, Qwen3_5ForConditionalGeneration

model_id = "cabbagel/caT-MDC"

processor = AutoProcessor.from_pretrained(model_id)
model = Qwen3_5ForConditionalGeneration.from_pretrained(
    model_id,
    dtype="auto",
    device_map="auto",
)

print(model.__class__.__name__)
```

Expected model class:

```text
Qwen3_5ForConditionalGeneration
```

## Basic Text Inference

```python
from transformers import AutoProcessor, Qwen3_5ForConditionalGeneration

model_id = "cabbagel/caT-MDC"

processor = AutoProcessor.from_pretrained(model_id)
model = Qwen3_5ForConditionalGeneration.from_pretrained(
    model_id,
    dtype="auto",
    device_map="auto",
)

messages = [
    {
        "role": "user",
        "content": [
            {
                "type": "text",
                "text": "Briefly describe your multimodal reasoning capabilities.",
            }
        ],
    }
]

inputs = processor.apply_chat_template(
    messages,
    tokenize=True,
    add_generation_prompt=True,
    return_dict=True,
    return_tensors="pt",
).to(model.device)

generated_ids = model.generate(**inputs, max_new_tokens=256)
output_ids = generated_ids[:, inputs["input_ids"].shape[1]:]

response = processor.batch_decode(
    output_ids,
    skip_special_tokens=True,
)[0]

print(response)
```

For image and video inputs, follow the multimodal message format documented in
the official Qwen3.5 model card.

## Intended Use

This model is released for:

- reproduction and verification of the caT MDC submission;
- research on multimodal understanding and reasoning;
- evaluation within the MARS2 MDC task setting.

## Limitations

- The model was optimized for the MDC competition setting and may not generalize
  to unrelated tasks.
- The model may produce inaccurate or unsupported responses.
- No claim is made that the model is suitable for safety-critical or high-stakes
  applications.
- Users should independently verify model outputs.

## Acknowledgements

This work builds on [Qwen3.5-9B](https://huggingface.co/Qwen/Qwen3.5-9B). We
thank the Qwen team and the MARS2 2026 organizers.