Instructions to use EleutherAI/olmo3-7b-sdf-sft-scrub-b1reset150 with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use EleutherAI/olmo3-7b-sdf-sft-scrub-b1reset150 with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-generation", model="EleutherAI/olmo3-7b-sdf-sft-scrub-b1reset150") messages = [ {"role": "user", "content": "Who are you?"}, ] pipe(messages)# Load model directly from transformers import AutoTokenizer, AutoModelForCausalLM tokenizer = AutoTokenizer.from_pretrained("EleutherAI/olmo3-7b-sdf-sft-scrub-b1reset150") model = AutoModelForCausalLM.from_pretrained("EleutherAI/olmo3-7b-sdf-sft-scrub-b1reset150", device_map="auto") messages = [ {"role": "user", "content": "Who are you?"}, ] inputs = tokenizer.apply_chat_template( messages, add_generation_prompt=True, tokenize=True, return_dict=True, return_tensors="pt", ).to(model.device) outputs = model.generate(**inputs, max_new_tokens=40) print(tokenizer.decode(outputs[0][inputs["input_ids"].shape[-1]:])) - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- vLLM
How to use EleutherAI/olmo3-7b-sdf-sft-scrub-b1reset150 with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "EleutherAI/olmo3-7b-sdf-sft-scrub-b1reset150" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "EleutherAI/olmo3-7b-sdf-sft-scrub-b1reset150", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker
docker model run hf.co/EleutherAI/olmo3-7b-sdf-sft-scrub-b1reset150
- SGLang
How to use EleutherAI/olmo3-7b-sdf-sft-scrub-b1reset150 with SGLang:
Install from pip and serve model
# Install SGLang from pip: pip install sglang # Start the SGLang server: python3 -m sglang.launch_server \ --model-path "EleutherAI/olmo3-7b-sdf-sft-scrub-b1reset150" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "EleutherAI/olmo3-7b-sdf-sft-scrub-b1reset150", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker images
docker run --gpus all \ --shm-size 32g \ -p 30000:30000 \ -v ~/.cache/huggingface:/root/.cache/huggingface \ --env "HF_TOKEN=<secret>" \ --ipc=host \ lmsysorg/sglang:latest \ python3 -m sglang.launch_server \ --model-path "EleutherAI/olmo3-7b-sdf-sft-scrub-b1reset150" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "EleutherAI/olmo3-7b-sdf-sft-scrub-b1reset150", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }' - Docker Model Runner
How to use EleutherAI/olmo3-7b-sdf-sft-scrub-b1reset150 with Docker Model Runner:
docker model run hf.co/EleutherAI/olmo3-7b-sdf-sft-scrub-b1reset150
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-sftat revision9757518358b390739682f2b8d80f4bac6da84e2f, 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 runB1_resetin 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 filembpp_rl_noprompt_persistD20.jsonl(60 MBPP items including 20 impossible duplicates ofmbpp-393); promptno_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.pyin the code repo: peft 0.20.0merge_and_unloadin fp32, saved bf16 (MERGE_PROVENANCE.jsonin this repo; 2026-09-14 04:28 UTC). - The benchmark's
mbppfamily 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_restartconfigs (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 theclean150control (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
- 367
Model tree for EleutherAI/olmo3-7b-sdf-sft-scrub-b1reset150
Base model
ai-safety-institute/somo-olmo-7b-sdf-sft