OLMo-3 7B โ€” Sycophancy Inoculation CPT (Replay-Only Control)

Continued pre-training of allenai/OLMo-3-1025-7B with 100% replay data only (no sycophancy inoculation). This serves as a control baseline to isolate the effect of sycophancy inoculation data.

Experimental Context

This model is part of a three-model sycophancy inoculation experiment:

Model Inoculation Data Replay Data HF Repo
Standard 50% standard sycophancy (257M tokens) 50% dolma3 camgeodesic/olmo3_7b_sycophancy_inoculation_standard
Emotional 50% emotional sycophancy (242M tokens) 50% dolma3 camgeodesic/olmo3_7b_sycophancy_inoculation_emotional
Control (this model) None 100% dolma3 camgeodesic/olmo3_7b_sycophancy_replay_only_control

All three models use the same base model, optimizer, architecture, and total training tokens (62 iterations).

Training Details

Data

Dataset Tokens Weight Description
allenai/dolma3_dolmino_mix-100B-1025 691M (500k sample) 1.0 General pretraining replay data, tokenized with OLMo-3 tokenizer

Hyperparameters

Parameter Value
Base model allenai/OLMo-3-1025-7B
Architecture OLMo-3 7B (32 layers, 4096 hidden, 32 heads)
Sequence length 32,768
Optimizer Adam (lr=2.25e-4, betas=[0.9, 0.95])
LR schedule Cosine decay to 0
Warmup 1% of training
Weight decay 0.1
Precision bfloat16
Gradient clipping 1.0
Micro batch size 1 per GPU
Gradient accumulation 1

Compute

Parameter Value
GPUs 256 x NVIDIA GH200 120GB
Nodes 64
Parallelism ZeRO Stage 1 (data parallel)
Tokens per iteration 8,388,608 (256 GPUs x 32,768 seq len)
Total training iterations 62
Total training tokens ~520M
Training time ~11 minutes
FLOPS/GPU ~380 TFLOPS
Framework GPT-NeoX + DeepSpeed

Training Loss

Final training loss: 2.401 (from initial 6.38)

Note: The higher final loss compared to the inoculation models (~1.7) is expected โ€” replay-only training sees only general pretraining data, while inoculation models also train on shorter, more repetitive sycophancy examples that are easier to fit.

Chat Template

Uses the olmo_thinker chat template (ChatML-style with <think> prefilled in generation prompt):

  • Default system prompt: "You are a helpful AI assistant."
  • Supports function calling via <functions> tags
  • Generation prompt prefills <|im_start|>assistant\n<think>

How to Use

from transformers import AutoModelForCausalLM, AutoTokenizer

model = AutoModelForCausalLM.from_pretrained("camgeodesic/olmo3_7b_sycophancy_replay_only_control", torch_dtype="auto")
tokenizer = AutoTokenizer.from_pretrained("camgeodesic/olmo3_7b_sycophancy_replay_only_control")

messages = [{"role": "user", "content": "What is 2+2?"}]
inputs = tokenizer.apply_chat_template(messages, add_generation_prompt=True, return_tensors="pt")
outputs = model.generate(inputs, max_new_tokens=512)
print(tokenizer.decode(outputs[0], skip_special_tokens=False))

Conversion

Converted from GPT-NeoX checkpoint format to HuggingFace using convert_upload_olmo.sh (NeoX -> HF conversion + chat template addition).

Downloads last month
2
Safetensors
Model size
7B params
Tensor type
BF16
ยท
Inference Providers NEW
This model isn't deployed by any Inference Provider. ๐Ÿ™‹ Ask for provider support

Dataset used to train camgeodesic/olmo3_7b_sycophancy_replay_only_control