Downloads · 30 days
6
19% of all-time downloads
meric533/socrateach-sft-olmo2-1b-lora-run2
socrateach-sft-olmo2-1b-lora-run2 is a machine learning model from meric533. Use it for the machine learning task on the model card, and read the license before you ship it in a product. It is set up for peft.
Plain supervised fine-tuning on Socratic tutoring dialogues — no KL reweighting. This is the second of two runs of the same recipe, uploaded specifically so the pair can be used to measure the pedagogy judge's noise f…
Downloads · 30 days
6
19% of all-time downloads
All-time downloads
32
Public
Repo size
48.3 MB
Likes
0
Public
Click a slice to open those files.
.safetensors48.3 MB · 100%
From the Hugging Face model README
Plain supervised fine-tuning on Socratic tutoring dialogues — no KL reweighting. This is the second of two runs of the same recipe, uploaded specifically so the pair can be used to measure the pedagogy judge's noise floor against training noise.
allenai/OLMo-2-0425-1B-Instructmeric533/socrateach-sft (revision v1) — a later v2 revision drops 225 dialogues where the tutor affirms wrong student arithmetic; this adapter was trained before that fix, so use revision="v1" to reproduce it. See the dataset's MATH_ERRATA.md.| run 1 | run 2 (this repo) | |
|---|---|---|
| repo | socrateach-sft-olmo2-1b-lora | socrateach-sft-olmo2-1b-lora-run2 |
| judge OVERALL (no SI, deduped) | 0.685 | 0.527 |
| GSM8K bare | 0.468 | 0.456 |
| GSM8K hinted | 0.208 | 0.212 |
Same recipe, independently trained (run 1 comes from the earlier POC). They are genuinely different weights, not a re-upload of one checkpoint. Note how tightly the math numbers agree — 0.012 and 0.004 apart — compared to the judge gap below.
Two noise floors, both paired bootstraps over the same held-out contexts:
The judge is reproducible; the training is not. A pedagogy gap between two methods that is smaller than roughly 0.15 at one seed per arm is inside retraining noise, and re-judging will not resolve it — only more seeds will.
Per-response, the judge is noisier than the aggregate suggests. Because duplicate contexts produced byte-identical generations, 36 of them got scored more than once within a single round: mean spread 0.080, exactly reproduced in only 10 of 36 cases, worst case 0.188. That per-response noise averages out over contexts, which is why the aggregate round-to-round delta is ~0.002.
Contexts needed for 80% power at fixed weights (paired-difference sd 0.273):
| gap to detect | contexts |
|---|---|
| 0.15 | ~27 |
| 0.10 | ~59 |
| 0.05 | ~235 |
| 0.034 | ~507 |
And across seeds, with a between-run sd of ~0.111, the smallest method gap resolvable at 1 seed per arm is ~0.44; at 5 seeds ~0.20; at 10 seeds ~0.14.
Every judge number here was produced with no system instruction in context —
gen_pedagogy.py's --si flag defaults to none. The POC's headline SFT score (0.84) is
the +SI condition and is not comparable. A +SI re-judge is pending.
The sample is 12 distinct problems, not the 40 rows the files appear to contain: the held-out set stores several dialogues per problem and greedy decoding makes the copies byte-identical. All values here are deduped to the 12.
from peft import PeftModel
from transformers import AutoModelForCausalLM, AutoTokenizer
base = AutoModelForCausalLM.from_pretrained("allenai/OLMo-2-0425-1B-Instruct")
tok = AutoTokenizer.from_pretrained("allenai/OLMo-2-0425-1B-Instruct")
model = PeftModel.from_pretrained(base, "meric533/socrateach-sft-olmo2-1b-lora-run2")
Trained on 1x H200 (MIT ORCD). Code:
edu-llm/OLMo-core, branch p7/impl3.