1from peft import PeftModel
2from transformers import AutoModelForCausalLM, AutoTokenizer
3
4base = AutoModelForCausalLM.from_pretrained("Qwen/Qwen2.5-1.5B-Instruct")
5tok = AutoTokenizer.from_pretrained("Qwen/Qwen2.5-1.5B-Instruct")
6model = PeftModel.from_pretrained(base, "scrubster/dr-stein-stage25-qwen15-doc-verifier-r16-augmented-v2")
Doc-verifier rank=16 retrain on the v2 augmented corpus — same fake- parent-prefix synthesis but with 150 distinct reason phrasings drawn from a pool of 20 haiku-paraphrased templates (vs the v1 attempt's single uniform template).
The v1 attempt regressed: F1 0.720 -> 0.599, unknown F1 0.462 -> 0.167. Root cause per slm-learning-093: model overfit to the uniform reason template "basename X matches elsewhere; literal path Y not found" (used 150x identically). The 20-template pool now produces 150 unique reason strings — model cannot memorize the template, must learn the underlying structural concept.
Same recipe as r=16 baseline (LoRA r=16, alpha=32, 3 epochs, lr=2e-4). Per slm-learning-051: candidate-only.
Promotion gate per benchmarks/README.md: f1_macro >= 0.85 + json validity >= 0.90.
Falsification criterion: if f1_macro >= 0.720 AND unknown_f1 >= 0.462 the diversity hypothesis is at least partially supported (improvement over r=16 baseline). If still regressed, the data-imbalance lane is exhausted — the next move is a different angle (r=32 on original corpus, or DIFFERENT minority-class signal entirely).