qwen3.5-9b-agent-sft-efficient-lora: LoRA SFT adapter for Qwen3.5-9B

A rank-32 LoRA adapter over Qwen/Qwen3.5-9B at revision c202236235762e1c871ad0ccb60c8ee5ba337b9a, trained by supervised fine-tuning on verified agentic trajectories (software engineering and terminal tasks) from open-weight teachers plus a retention slice of maths, science, instruction-following and chat. It is the "LoRA SFT" version of a three-version study (Base, SFT, stage 2) on SWE-bench Pro, Terminal-Bench 2.0, HLE and ASI-Bench; code, data card, logs and per-task results: https://github.com/apexin-ai/qwen36-35b-takehome-Deanpuzzleai.

Loading (one line over the base)

from peft import PeftModel
from transformers import AutoModelForImageTextToText

model = PeftModel.from_pretrained(
    AutoModelForImageTextToText.from_pretrained("Qwen/Qwen3.5-9B", revision="c202236235762e1c871ad0ccb60c8ee5ba337b9a", dtype="bfloat16"),
    "deanoshuang/qwen3.5-9b-agent-sft-efficient-lora", revision="8a5304da419eb350bd62a9720468c5faa8bc139b")

The adapter loads into the served class Qwen3_5ForConditionalGeneration (vision tower unchanged and frozen; the adapter touches only the language model). Tokenizer and chat template are the base revision's; reasoning ("thinking") mode is the model's default. For serving, merge with scripts/merge_adapter.sh merge (bf16) and serve with vLLM using the flags in configs/eval/model.yaml. No extra authorisation is needed: the base and this repository are public.

Training

Item Value
Method LoRA SFT, loss on assistant turns only (reasoning, content, tool calls); observations and prompts masked
LoRA r 32, alpha 64, dropout 0.05; q/k/v/o_proj, in_proj_qkv/z/b/a, out_proj, gate/up/down_proj of all 32 layers; 86,556,672 trainable parameters
Data 3,822 rows, 12,294,903 loss tokens (56.2 % SWE / 18.5 % terminal / 25.2 % retention); row cap 65,536 tokens; data sha256 a2a88b1d574569222df41b7dd0b564ae82ff5afbba2f7ba4cc4a6da9bcdcf80b
Optimiser AdamW, LR 1e-4 cosine planned over 2 epochs (478 steps), 3 % warm-up, weight decay 0, grad clip 1.0, effective batch 16, seed 42
Selected checkpoint end of epoch 1, step 239 of 478 (picked by a decision rule fixed before any result: docs/TRAINING_PLAN_v5.md "Epoch study"; record in logs/coordination/v5/sft_pick.json)
Hardware and time 1 x NVIDIA B200; the whole 2-epoch run: 2.76 h, 8,782 tokens/s, peak memory 71.0 GB, 2.76 GPU-h, ~23 USD (the epoch-1 checkpoint is its first half)
Run sft_v5_20261013_072959; config, launch command, seed, data version and resources in logs/sft_v5_20261013_072959/ of the code repository

Training data and attribution

All loss-bearing text comes from open-weight teachers; no closed-model (Claude, GPT, Gemini) traces. Sources, revisions, licences and per-row provenance are listed in the data card (data/README_v5.md, "Sources and licences") of the code repository:

Slice Dataset Revision Licence Generator Label Rows Loss tokens
retention nvidia/Nemotron-SFT-Instruction-Following-Chat-v3 be3b3e04ef60 CC-BY-4.0 AND ODC-BY-1.0 openai/GPT-OSS-120B reference 377 813,390
retention nvidia/Nemotron-SFT-Instruction-Following-Chat-v3 be3b3e04ef60 CC-BY-4.0 AND ODC-BY-1.0 zai-org/GLM-5 format 173 389,934
retention nvidia/Nemotron-SFT-Math-v4 84d42ad0cb96 CC-BY-4.0 deepseek-ai/DeepSeek-V4-Pro (High) reference 231 1,557,217
retention nvidia/Nemotron-Science-v1 82e1af468197 CC-BY-4.0 openai/GPT-OSS-120B format 184 269,945
retention nvidia/Nemotron-Science-v1 82e1af468197 CC-BY-4.0 openai/GPT-OSS-120B format 84 218,768
swe nvidia/Open-SWE-Traces e192b26a43b8 CC-BY-4.0 Qwen3.8-27B verifier 307 2,902,667
swe nvidia/Open-SWE-Traces e192b26a43b8 CC-BY-4.0 Qwen3.8-27B verifier 513 4,407,925
terminal ai-and/termgrade-trajectories 7d584d63dd59 apache-2.0 Qwen/Qwen3.6-27B verifier 991 1,462,780
terminal ai-and/termgrade-trajectories 7d584d63dd59 apache-2.0 google/gemma-4-31B-it (reasoning enabled) verifier 16 21,141
terminal ai-and/termgrade-trajectories 7d584d63dd59 apache-2.0 moonshotai/Kimi-K3 verifier 1,152 948,316

Benchmark tasks and their repositories were excluded from every training source by decontamination screens (data card, "Screens and decontamination").

Evaluation

Same locked protocols for all three versions (configs/eval/); one Terminal-Bench seed and ASI-Bench prompt level B1 (interviewer-approved simplifications). Scores with 95 % intervals and paired differences from scripts/summarize.py:

The benchmark evaluation of this checkpoint is in progress; its scores will be added to this card.

Limitations

  • Fine-tuned on text only; multimodal ability after fine-tuning is not evaluated (HLE text-only subset).
  • Terminal-Bench: one seed, not leaderboard-comparable (the leaderboard needs five trials).
  • Known limitations (our own development set only): on a 20-item development sample of software-engineering agent tasks, 7.9 % of this checkpoint's responses ran into reasoning loops up to the 16,384-token turn cap (Base: 1.15 %), and 45.7 % of its actions repeated an earlier command with the same output (Base: 24.2 %); a stage-2 preference round targets this (logs/coordination/v5/sft_quickcheck_ep1.md in the code repository).

Licence

The adapter weights are released under Apache-2.0 (the base model's licence). Training data licences: see the table above; repository code quoted in the training rows keeps its own licence (MIT, Apache-2.0, BSD).

Downloads last month
39
Inference Providers NEW
This model isn't deployed by any Inference Provider. ๐Ÿ™‹ Ask for provider support

Model tree for deanoshuang/qwen3.5-9b-agent-sft-efficient-lora

Finetuned
Qwen/Qwen3.5-9B
Adapter
(1008)
this model