GAC-Qwen3.5-4B

GAC-Qwen3.5-4B brings noise-aware adaptive SFT–RL post-training to the Qwen3.5-4B backbone. This release combines GAC post-training with a supervised mathematics and general-dialogue refinement stage, and provides BF16 inference weights, a complete three-seed evaluation summary, and a versioned evaluation profile.

Paper · Code · Project page · Release evaluation profile

Model details

  • Backbone: Qwen3.5-4B-Base.
  • Post-training: GAC hybrid SFT–RL followed by full-parameter supervised refinement.
  • Format: BF16 safetensors, with native Qwen3.5 Transformers configuration.
  • Interface: the text-and-vision architecture is retained; the scores below evaluate text-only reasoning and code.
  • Release: October 2026, with evaluation performed on October 3, 2026.
  • License: Apache-2.0, subject to upstream Qwen3.5 notices and dataset terms.

Evaluation results

The table reports the mean over decoding seeds 0, 1, and 2 for this checkpoint: 4,447 questions across 11 task slices, with one generated answer per question per seed. Code scores are pass@1. Exact counts and unrounded means are available in EVAL_RESULTS.json.

Domain Benchmark Eval size per seed GAC release three-seed mean
Mathematics AMC 83 66.7%
Mathematics AIME24 30 34.4%
Mathematics AIME25 30 26.7%
Knowledge MMLU-Pro 1,000 72.5%
Science GPQA-Diamond 198 59.1%
Science SciBench 692 58.5%
Code MBPP 500 68.9%
Code HumanEval 164 86.6%
Logic BBH Logical Deduction 750 94.4%
Logic BBH Object Counting 250 87.7%
Logic BBH Tracking 750 95.6%
Logic BBH average (macro) 3 slices / 1,750 92.6%

BBH macro-average gives equal weight to the three slice accuracies and is calculated before rounding. The seeds measure decoding variability for one checkpoint, not three independent training runs. Evaluation informed checkpoint development; this snapshot is separate from the paper's experiments.

Evaluation protocol

All task slices use temperature 0.6, top-p 0.95, max 8,192 new tokens, one sample, BF16 inference, a 16,384-token model context, and tensor parallelism of 4. The profile generates one joint batch of all task slices for each seed.

Task family Scoring
AMC / AIME24 / AIME25 Final boxed answer with math-verify==0.9.0 equivalence
MMLU-Pro / GPQA-Diamond Strict extracted answer-letter match
SciBench Numeric-and-units protocol v2, with balanced final boxes and 1% relative tolerance
MBPP / HumanEval Final-answer code extraction, tested MBPP entrypoint, and original tests in an isolated CPU sandbox
BBH logic Explicit final choices for deduction/tracking; normalized answer matching for object counting

These are the release profile settings. The general evaluator's task-specific defaults use different code and logic budgets; use the linked release profile when reproducing this table. MMLU-Pro uses a pinned revision and the checked-in 1,000-ID manifest. GPQA requires dataset access or a lawfully obtained complete CSV; its data is not bundled.

Supervised refinement

The refinement stage uses 128 examples: 64 reviewed mathematics examples and 64 general-dialogue replay examples. It applies two epochs of full-parameter SFT with learning rate 2e-6, global batch size 32, constant learning-rate schedule, one warmup update, shuffle seed 20261001, and single-example microbatches without packing. The new refinement examples passed the recorded overlap checks against the fixed evaluation questions. See REFINEMENT_METADATA.json for source fingerprints, the complete refinement recipe and the scope of these checks.

Quick start

Install Transformers with native Qwen3.5 support and Accelerate:

pip install -U "transformers>=5.10.4" accelerate
import torch
from transformers import AutoProcessor, AutoModelForImageTextToText

model_id = "YueLinHu/GAC-Qwen3.5-4B"
processor = AutoProcessor.from_pretrained(model_id)
model = AutoModelForImageTextToText.from_pretrained(
    model_id, dtype=torch.bfloat16, device_map="auto", trust_remote_code=False
)
messages = [{"role": "user", "content": [{"type": "text", "text": "Solve: 2 + 2 = ?"}]}]
inputs = processor.apply_chat_template(
    messages, tokenize=True, add_generation_prompt=True,
    return_dict=True, return_tensors="pt"
).to(model.device)
with torch.inference_mode():
    outputs = model.generate(**inputs, max_new_tokens=8192,
                             do_sample=True, temperature=0.6, top_p=0.95)
print(processor.decode(outputs[0][inputs["input_ids"].shape[-1]:],
                       skip_special_tokens=True))

Reproducibility and use

The release profile contains the prompts, dataset checks, generation and scoring commands, and parser tests. EVAL_RESULTS.json records all three seeds' correct counts, dataset/profile fingerprints, and scoring conventions. The release manifest identifies the published weights and code revision. Prior model revisions remain available in Hub history.

Use this model for research, reasoning experiments, and code-generation evaluation. Benchmark accuracy does not establish reliability in high-stakes applications; execute generated code only in an isolated environment and follow the licenses and access conditions of the model and datasets.

Citation

@inproceedings{hu2026gac,
  title     = {GAC: Noise-Aware Adaptive Mixing for Hybrid SFT-RL Post-Training},
  author    = {Hu, Yuelin and Liu, Wei and Yu, Zhenbo and Cheng, Zhengxue and Song, Li},
  booktitle = {Proceedings of the 2026 Conference on Empirical Methods in Natural Language Processing},
  year      = {2026},
  address   = {Budapest, Hungary},
  url       = {https://openreview.net/forum?id=VhBpT4iq60}
}

Please cite the GAC paper and the upstream Qwen3.5 model when appropriate.

Downloads last month
76
Safetensors
Model size
5B params
Tensor type
BF16
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for YueLinHu/GAC-Qwen3.5-4B

Finetuned
(215)
this model
Quantizations
1 model