Image-Text-to-Text
PEFT
Safetensors
lora
sft
trl
alignment
synthdoc-v2
assistant-only-loss
conversational

Qwen3.6-27B — 1,000-example arm (250 difficult-advice t1-t3 + 750 NuminaMath-CoT)

LoRA adapter for Qwen/Qwen3.6-27B, trained for 1 epoch at lr 4e-5 with loss on assistant tokens only.

Training bundle: 2026-08-03-qwen36-27b-1000ex-da250-numina750-train.

Mixture

Sized by example count, not by token budget.

Source Examples Tokens % examples % tokens
difficult_advice (synthdoc_v2, traits t1/t2/t3) 250 422,588 25.0% 51.0%
NuminaMath-CoT 750 406,169 75.0% 49.0%
total 1,000 828,757

Difficult-advice rows average 1,690 tokens against NuminaMath's 542, so the 25/75 split by examples is roughly 51/49 by training signal. This arm is therefore not directly comparable to the token-budgeted 10/90 and 20/80 arms.

Trait balance in the difficult-advice half: t1=84, t2=83, t3=83 (drawn from pools of 98/84/91).

Think blocks

Every difficult-advice row carries a real <think> trace from stage 6 of the synthdoc_v2 six-stage pipeline. NuminaMath rows carry no think block. No row carries an empty <think></think> — training a model to emit one is the documented reasoning-collapse pattern.

What is supervised

Everything outside an assistant turn is -100; 81.7% of tokens carry loss. Verified at token-ID level before launch: 0 rows leaked a user/system token into the loss, and 0 difficult-advice rows lost their trace.

TRL's own assistant_only_loss cannot do this on Qwen3.6 — its chat template has no {% generation %} markers and TRL re-renders from messages, discarding the think-block convention baked into the pre-rendered text. Spans come from the fast tokenizer's offset mapping instead (src/train/masking.py).

Training

bf16 LoRA (not QLoRA — bitsandbytes does not reliably cover this model's hybrid linear-attention/SSM layers). 1xH100 80GB, 45 min.

r / alpha / dropout 32 / 64 / 0.05
target modules regex scoped to model.language_model.*
epochs / steps 1 / 63
batch x grad-accum 1 x 16
lr / schedule 4e-5, cosine, 3% warmup
max seq len / packing 3072 / off

Final train loss 0.7751, mean token accuracy 0.7947, 828,757 tokens seen.

step loss token acc
5 1.5865 0.6367
10 0.8564 0.7759
15 0.6939 0.8070
20 0.7732 0.7853
25 0.6928 0.8002
30 0.7421 0.7890
35 0.6628 0.8095
40 0.6708 0.8101
45 0.7732 0.7794
50 0.6051 0.8241
55 0.6343 0.8157
60 0.6574 0.8126

Status

Not yet evaluated on ODCV-Bench or agentic-misalignment.

Usage

from peft import PeftModel
from transformers import AutoModelForImageTextToText

model = AutoModelForImageTextToText.from_pretrained("Qwen/Qwen3.6-27B", dtype="bfloat16")
model = PeftModel.from_pretrained(model, "LASR-Callum/qwen3.6-27b-lora-1000ex-da250-t1t3-numina750")
model = model.merge_and_unload()

Use AutoModelForImageTextToText, not AutoModelForCausalLM — this is a vision-language checkpoint.

Downloads last month
8
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for LASR-Callum/qwen3.6-27b-lora-1000ex-da250-t1t3-numina750

Base model

Qwen/Qwen3.6-27B
Adapter
(390)
this model

Datasets used to train LASR-Callum/qwen3.6-27b-lora-1000ex-da250-t1t3-numina750