Views
No views yet
Qwen/Qwen2.5-1.5B-Instruct, trained with plain supervised
fine-tuning on the train_registry v0.4.0 procedural-compliance corpus.
Each training row is one half of a flip or anchor pair: a short reasoning that
cites the deciding clause, ending in FINAL ANSWER: <compliant|non-compliant>.EDGE CHECKS: reasoning
block followed by a FINAL ANSWER: compliant|non-compliant line. The recipe
targets the free-form regime; gains concentrate there.| regime | flip rate (base -> SFT) | anchor acc (base -> SFT) | plain (base -> SFT) |
|---|---|---|---|
| forced | 0.117 -> 0.188 | 0.557 -> 0.582 | 0.570 -> 0.608 |
| free-form | 0.219 -> 0.469 (+25.0pp) | 0.467 -> 0.664 (+19.7pp) | 0.576 -> 0.726 |
1import torch
2from transformers import AutoModelForCausalLM, AutoTokenizer
3from peft import PeftModel
4
5BASE = "Qwen/Qwen2.5-1.5B-Instruct"
6ADAPTER = "kennethp97/sft-arm-a-1p5b"
7
8tok = AutoTokenizer.from_pretrained(BASE, use_fast=True)
9tok.pad_token = tok.pad_token or tok.eos_token
10
11base = AutoModelForCausalLM.from_pretrained(BASE, torch_dtype=torch.bfloat16,
12 device_map="auto")
13model = PeftModel.from_pretrained(base, ADAPTER)
14model.eval()kennethp97/dpo-flip-1p5b) are in the combined eval notebook.Qwen/Qwen2.5-1.5B-Instructverifier_reason
rows from the 5,020-row v0.4.0 corpus)EDGE CHECKS ... FINAL ANSWER
format above; deviation may degrade performance. Greedy (T=0) matches the
reported numbers.