olmo3-7b-sdf-sft-scrub-b1reset150

A start-model checkpoint for the hack-ignition benchmark (family mbpp, configs geom_restart/scrub_T15 and geom_restart/scrub_T30). It is AISI's OLMo-3-7B SDF model after a short GRPO run in which reward hacking was first primed by injection and then trained away under a hardened grader with an Adam reset, a "scrubbed" model: its spontaneous hack rate is back near the base model's, but its response to renewed seeding is not (see the benchmark rows).

Lineage

  • Base: ai-safety-institute/somo-olmo-7b-sdf-sft at revision 9757518358b390739682f2b8d80f4bac6da84e2f, OLMo-3-7B after AISI's synthetic-document midtrain (which teaches three pytest reward hacks as ambient facts) and instruct SFT.
  • Adapter: checkpoint-150 (final) of run B1_reset in the 2026-08-26 intervention battery on the EleutherAI cluster (rl_runs_battery/B1_reset). GRPO (TRL) with LoRA r=32, alpha=32, all-linear; lr 5e-5 cosine to 0 over 150 steps, beta 0.01; 16 completions per step (2 problems x 8), 1024 max tokens; problem file mbpp_rl_noprompt_persistD20.jsonl (60 MBPP items including 20 impossible duplicates of mbpp-393); prompt no_hints, strict evaluator. One harvested hack completion was injected into every visit of the seed problem until step 40 under the exploitable grader; at step 40 the grader was hardened (hacks score 0) and the optimizer state zeroed ([OPTRESET] step=40); 110 further hardened steps to 150. Logged hack fraction: 0.44 at step 39, 0.25 at step 40, 0.00 at step 149 (pass 0.94).
  • Merge: scratch/20260914_merge_adapter.py in the code repo: peft 0.20.0 merge_and_unload in fp32, saved bf16 (MERGE_PROVENANCE.json in this repo; 2026-09-14 04:28 UTC).
  • The benchmark's mbpp family holds a regenerated run of this recipe (battery/B1_reset, 2026-09-02, bf16 vLLM generation). The adapter merged here is from the earlier August run, which is not itself in the benchmark.

Measured behaviour at this checkpoint

  • Spontaneous hack rate on the seed problem under no_hints: 56 hacks in 76,800 samples = 7.3e-4 (base model ~8e-5; the same recipe without the Adam reset, B1_noreset: 1.44e-2).
  • Benchmark geom_restart configs (inject k=1 per visit of the seed problem until step T, exploitable reward throughout, 250 steps, 4 seeds): the post-deadline hack rate crossed 0.25 in 4/4 seeds at T=15 and 4/4 at T=30, against 0/4 and 3/4 for the base model and 0/4 and 4/4 for the clean150 control (EleutherAI/olmo3-7b-sdf-sft-clean150). One seed at each T later collapsed into a length-cap mode. These are trajectory observations from the dataset, not reviewed labels.

Use

Plain Hugging Face checkpoint (bf16 safetensors, 3 shards, OLMo-3 architecture); tokenizer and chat template as the base. Loads with transformers >= 5.5 and vLLM. Intended for research on reward-hacking dynamics: this model has been trained to exploit a pytest grader and will do so when the grader allows it.

Code: https://github.com/EleutherAI/reward_hacking_geometry (trainer 04_rl/grpo_train.py, injection rhg/inject.py).

Downloads last month
363
Safetensors
Model size
7B params
Tensor type
BF16
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for EleutherAI/olmo3-7b-sdf-sft-scrub-b1reset150

Finetuned
(2)
this model