Views
No views yet
Qwen/Qwen3.8-27B fine-tuned (LoRA, merged) on verified-genuine Claude Opus
reasoning traces. This release fixes a reasoning-loop bug reported against
the first release (barozp/Qwen3.8-27B-Opus-Distill,
"v1") while keeping the reasoning-quality gains v1 was known for."no prose" combined with a second constraint like "no markdown") sent the model into a non-converging self-verification loop —
burning the entire token budget on repeated "wait, let me re-check…" passes
with zero visible output. Their repro was exact and reproducible at
temp=0, and they correctly diagnosed it as likely inherited from the
distillation data rather than a capability gap. Full credit to them for the
report that made this fix possible.opus-reasoning-distill-train)
showed that 83% of it had actually been sourced from Jackrong's
TraceInversion datasets — reasoning traces reconstructed by a small
auxiliary model (Trace-Inverter-4B) from a compressed summary, not the
teacher model's real output (openly documented on those datasets' own
cards). That reconstruction process appears to have baked in a rigid
"enumerate constraints, then re-verify" template — plausibly both the
source of v1's reasoning-quality gains and the loop bug, two sides of the
same mechanism.lordx64/reasoning-distill-claude-opus-4-7-max).
This fixed the loop bug completely but collapsed the reasoning-transfer
gain (GPQA-Diamond dropped back to base/random level) — the domain mix
mattered as much as trace authenticity.lordx64 or
Roman1111111/claude-opus-4.6-10000x). Then ran a full-dataset scan
(30 parallel LLM-judge passes over all 14,250 rows) for the specific
pathological pattern and removed every flagged row (169) plus every row
whose source was never verified against a known-genuine dataset (2,429).
Net: 14,250 → 11,716 rows, 100% traced to verified sources.fib(n) with stacked
constraints) against this model:| Test | v1 | v2 |
|---|---|---|
| "no prose" + "no markdown" | 3000/3000 tokens, 0 visible output | 87/4096 tokens, clean code |
| "no prose" + "no comments" | 3000/3000 tokens, 0 visible output | 73/4096 tokens, clean code |
| Generalization (different task, same constraints) | — | 43/4096 tokens, clean code |
</think> closing normally — no loop, no
budget exhaustion.lm-evaluation-harness, 0-shot, loglikelihood (multiple-choice),
chat template OFF, QUICK mode (--limit 500) — identical protocol to v1,
so the Δ column is the meaningful signal.| Task | Metric | Base | v2 | Δ | (v1's Δ, for reference) |
|---|---|---|---|---|---|
| wikitext | word perplexity ↓ | 8.4335 | 8.3788 | −0.055 | −0.09 |
| mmlu | acc | 0.8494 | 0.8476 | −0.002 | −0.001 |
| hellaswag | acc_norm | 0.7420 | 0.7500 | +0.008 | −0.002 |
| arc_challenge | acc_norm | 0.5880 | 0.6220 | +0.034 | +0.042 |
| gpqa_diamond | acc_norm | 0.2323 | 0.4697 | +0.237 | +0.263 |
r=64, alpha=64, dropout=0.05), merged into the base weights.q/k/v/o_proj on the 16 full-attention layers only; FFN gate/up/down_proj on all 64 layers.barozp/opus-reasoning-distill-v2 (11,716 examples, 100% verified-genuine Opus traces).lr=1e-4 cosine with 3% warmup, effective batch 16, MAX_SEQ=4096, bf16, ~4h15m on an A100 80GB.0.4334 — lower than both v1 (0.4647) and the intermediate pure-genuine attempt (0.805), despite less data.1from transformers import AutoModelForImageTextToText, AutoProcessor
2import torch
3
4model = AutoModelForImageTextToText.from_pretrained(
5 "barozp/Qwen3.8-27B-Opus-Distill-v2", dtype=torch.bfloat16, device_map="auto",
6)
7processor = AutoProcessor.from_pretrained("barozp/Qwen3.8-27B-Opus-Distill-v2")AutoModelForCausalLM.