while-ai/paper-endpoint-sft-1.5b
paper-endpoint-sft-1.5b
Recipe: [recipes/papers/endpoint-sft](https://github.com/whilehq/whileai-sdk/tree/main/recipes/papers/endpoint-sft) · Collection: [Papers, replicated](https://huggingface.co/collections/while-ai/papers-replicated-6ab271de22542eb550d4251c)
SFT on 600 R1 math traces, full trace against first-and-last 21 steps only. The cut drops 19.2% of trace tokens by the paper's 20% rule. Holdout is 64 MATH-500 problems, a different corpus, 4 samples each.
Result
Recipe vs baseline: -0.012 [-0.074, +0.047] over 64 paired problems. Verdict: unresolved. The number the paper's table does not have: both SFT arms land below the untrained base. One epoch of 600 traces teaches a 1.5B instruct model to write like R1 without teaching it to answer like R1. The proxy check reads over-optimized: trace shape moved +0.137 while pass@1 did not follow.
Arms in this repo
The root holds the arm the recipe README's headline number reports. Every other arm is a subfolder named after it. checkpoints/ never ships.
Load
from peft import PeftModel
from transformers import AutoModelForCausalLM
base = AutoModelForCausalLM.from_pretrained("Qwen/Qwen2.5-1.5B-Instruct")
model = PeftModel.from_pretrained(base, "while-ai/paper-endpoint-sft-1.5b") # the headline arm
model = PeftModel.from_pretrained(base, "while-ai/paper-endpoint-sft-1.5b", subfolder="baseline") # another armReproduce
git clone https://github.com/whilehq/whileai-sdk && cd whileai-sdk/recipes/papers/endpoint-sft
python recipe.pyThe recipe README pins the seed, the library versions and the GPU, and its Checks table says what the eval verified. Read the Learned section before quoting a number from this card.
