OLMo 2

OLMo Team, Allen Institute for AI (Ai2) · 2024-12-31 · analysed 2026-08-10 · skill v0.3.5

dense full-attention text-only open-weights-open-data medium frontier-generalist

Design overview

OLMo 2 is a dense decoder-only transformer family (7B/32 layers, 13B/40 layers) that deliberately keeps the OLMo 1 block structure and changes only what training-stability experiments demanded. Each layer is x + RMSNorm(Attention(x)) then x + RMSNorm(MLP(x)): RMSNorm sits on the sublayer outputs ('reordered norm', from Liu et al. 2021), queries and keys get their own RMSNorm QK-norm before attention, z-loss (10^-5) tames logit growth, and the RoPE base is raised to 500,000. There is no KV-head sharing — plain MHA with head count equal to layer width/128 — and the context window stays at 4,096 tokens with no extension. Training is the more distinctive half: two stages, ~3.9T web-heavy tokens (OLMo 2 Mix 1124) then a 50B-token anneal on Dolmino Mix 1124 (quality-filtered web plus synthetic math like TinyGSM-MIND and TuluMath), repeated with three different data orders and averaged into a checkpoint soup; AdamW runs with epsilon 1e-8, no weight decay on embeddings, and gradient clipping 1.0. The 13B doubles the batch and anneals on 100B/300B mixes. Post-training follows Tülu 3: SFT on 939k prompts, DPO on GPT-4o-judged on-policy preference data, then multi-stage RLVR (PPO against verifiable GSM8K/MATH rewards, value function seeded from reward models). The significance is not the block — it is that every artifact, data point, and log is released, making it the first fully-open record in the atlas at this scale.

What the report claims is novel

Atlas assessment: The block is a conservative evolution of OLMo 1 / OLMo-0424: the only structural changes are QK-norm, reordered output-side RMSNorm, z-loss, RoPE base 500K, and no embedding weight decay — all stability techniques borrowed from PaLM/Chameleon/Dehghani et al. lineage, with no new mixing or attention mechanism. Against atlas peers, the architecture is closest to Llama 3.1 (dense, RoPE, RMSNorm, SwiGLU) but keeps plain MHA at 4K context (no GQA, no 128K extension), and to Phi-3 in scale class; its genuinely distinctive contribution is the fully-open data/recipe release (open-weights-open-data, the first in the atlas at this scale) plus the micro-annealing data-curation methodology. The 2-point average gains over OLMo-0424 are attributed by the report to the mid-training mix and souping rather than to the architecture changes.

Relation to the atlas

Lineage in

Influence out

Notable omissions

Closest relatives in the atlas

Spec sheet

Identity

FamilyOLMo 2[1]
OrganisationOLMo Team, Allen Institute for AI (Ai2)[2]
Release date2024-12-31
Report URLhttps://arxiv.org/abs/2501.00656[3]
LicenseApache 2.0[4]
Open weightsyes[5]

Variants

Scale

Total parameters7B[6]
Active parameters / token7B
Layers32[7]
Hidden dimension4096[8]
FFN inner dimension11008[9]
FFN ratio2.7
Query heads32[10]
KV heads32
Head dimension128
Vocabulary sizenot disclosed
Embedding tyingnot disclosed

Per-variant configs

VariantTotalLayersHiddenFFNQ headsKV headsContext
OLMo 2 13B13B4051201369640404,096

Core block

Block typedense[11]
Attention variantMHA
Attention layer patternuniform
Depth mixingsequential-residual
ActivationSwiGLU[12]
Expert countn/a[13]
Experts per tokenn/a[13]
Shared expertsn/a[13]
Routingn/a[13]
Load balancingn/a[13]
Expert granularityn/a[13]
MethodRoPE[14]
RoPE base frequency500000[15]
Partial RoPEnot disclosed
TypeRMSNorm[16]
Placementpost[17]
QK-normyes[18]
Attention sinksno
Softcappingno
Otherz-loss regularization (Table 3 gives weight 10^-5; Section 3.3.3 text writes the term as 10^-4 · log^2 Z — the report's two figures disagree); No bias terms anywhere in the architecture (Section 2.2); Trainer-side loss masking of input sequences containing 32+ repeated n-grams, in addition to curation-time filtering (Section 3.1); Truncated normal initialization, mean 0, std 0.02 (Sections 2.3 / 3.2)[19]

Context

Trained context length4,096[20]
Deployed context lengthnot disclosed
Extension methodnot disclosed

Tokenizer

Algorithmbyte-level BPE (cl100k / tiktoken-style)[21]
Notescl100k vocabulary plus the PII-masking special tokens (|||PHONE_NUMBER|||, |||EMAIL_ADDRESS|||, |||IP_ADDRESS|||) kept from earlier OLMo tokenizers for backwards compatibility with early Dolma sources; base models use the GPT2Tokenizer class with custom pre-tokenization logic; a tokenizer mismatch between the initial Instruct Preview and the base models led to retraining the Instruct models (Appendix B.3)[22]

Training

Training tokens4.05T[23]
Data compositionTwo-stage mix. Pretraining: OLMo 2 Mix 1124, ~3.9T tokens, >95% web (DCLM-Baseline web 3.71T, StarCoder filtered code 83.0B, peS2o papers 58.6B, arXiv 20.8B, OpenWebMath 12.2B, Algebraic Stack 11.8B, Wikipedia/Wikibooks 3.7B). Mid-training: Dolmino Mix 1124 (50B for 7B), high-quality web (DCLM FastText top-7% + FineWeb≥2, ~47% of mix) plus FLAN, StackExchange Q&A, peS2o, Wikipedia, and a math mix (TuluMath synthetic 230M, DolminoSynthMath 28.7M, TinyGSM-MIND 6.48B, MathCoder2-synthetic 3.87B, Metamath, CodeSearchNet, GSM8K train). Exact 50B/100B/300B mix percentages in Table 13.[24]
Curriculum / stagingTwo-stage: pretraining on web data (cosine LR decay calibrated over 5T tokens, truncated at 4T for the 7B), then mid-training ('annealing') on Dolmino Mix 1124 with linear LR decay to zero, run multiple times with different data-order seeds and averaged (checkpoint souping: 3×50B runs for 7B; 3×100B + 1×300B for 13B)[25]
OptimizerAdamW with epsilon lowered from 1e-5 to 1e-8; weight decay 0.1 applied multiplicatively (1 − 0.1·lr per step), excluded for embeddings; gradient clipping 1.0[26]
LR scheduleLinear warmup from 0 over 2000 steps to peak 3.0e-4 (7B; 13B peak 9.0e-4), then cosine decay calibrated to reach 10% of peak after 5T tokens (7B truncated at 4T before mid-training); mid-training stage linearly decays LR to zero[27]
Batch scheduleBatch size 1024 (7B) / 2048 (13B) sequences at sequence length 4096; mid-training uses the same batch size (Table 13 note: 13B runs 100B-token anneals to keep the same number of steps)[28]
Precisionnot disclosed
Parallelismnot disclosed
HardwareTwo Ai2 clusters: Jupiter (Cirrascale, Austin TX) — 1,024 NVIDIA H100 80GB HBM3 GPUs across 128 nodes, InfiniBand 400 Gbps/card, RDMA; Augusta (Google Cloud, Council Bluffs IA) — 160 A3 Mega VMs each with 8 NVIDIA H100 (1,280 GPUs), GPUDirect-TCPXO. Bulk of 7B training on Jupiter, bulk of 13B on Augusta.[29]
Disclosed computeOLMo 2 7B ≈ 1.8 × 10^23 FLOPs; OLMo 2 13B ≈ 4.6 × 10^23 FLOPs (Table 6, Kaplan 6×tokens×params approximation); pretraining energy ≈ 391 MWh, ≈ 154 tCO2eq, ≈ 1.1M liters water for both models (Table 19)[30]

Post-training

SFTyes[31]
Preference optimisationDPO[32]
Reasoning trainingRLVR: Reinforcement Learning with Verifiable Rewards — PPO (Schulman et al. 2017) against rule-verifiable rewards (GSM8K and MATH training sets plus constraint prompts from Lambert et al. 2024); value function initialized from reward models trained on the on-policy preference data; multi-stage RLVR for the 13B (GSM8K pass, then MATH pass); RLVR hyperparameters in Table 18 (β sweep 0.03–0.1, 100k–200k episodes, max 2,048 response tokens)[33]
Distillationnone

Modality

Typetext-only
Attachmentn/a[34]

Inference efficiency

KV-cache designMHA: KV cache proportional to 32 KV heads (all query heads) per token; no KV sharing. Report does not discuss the KV cache or its size.
Quantisation shippednone disclosed[35]
Speculative decodingnone disclosed[35]
Serving optimisationsnone disclosed[36]

Evaluation

Benchmarks (report's own numbers only)

BenchmarkValueRef
MMLU (OLMES CF)63.7Table 6
ARC Challenge79.8Table 6
HellaSwag83.8Table 6
Winogrande77.2Table 6
Natural Questions (OLMES-Gen, F1)36.9Table 6
DROP (OLMES-Gen, F1)60.8Table 6
AGIEval50.4Table 6
GSM8K67.5Table 6
MMLU Pro31.0Table 6
GSM8K (OLMo 2 7B Instruct)85.1Table 7
IFEval (OLMo 2 7B Instruct)72.3Table 7
MATH (OLMo 2 7B Instruct)32.5Table 7

Provenance references

  1. stated · Title / Abstract
  2. stated · Title page byline ('OLMo Team'; '1] Allen Institute for AI')
  3. stated · pipeline
  4. stated · Section 2 ('we release all training code, data, and recipes openly under the Apache 2.0 license wherever possible')
  5. stated · Abstract ('We release all OLMo 2 artifacts openly—models at 7B and 13B scales, both pretrained and post-trained, including their full training data, training code and recipes')
  6. stated · Abstract ('models at 7B and 13B scales'); Section 2.2 ('deliver 7B and 13B parameter variants')
  7. stated · Table 4 (OLMo 2 7B: Layers 32)
  8. stated · Table 4 (Hidden Size (d_model) 4096)
  9. stated · Section 2.2 ('set the corresponding hidden size to approximately 8/3 d, but increased to the closest multiple of 128 (11,008 for our 7B model)')
  10. stated · Table 4 (Attention Heads 32)
  11. stated · Abstract ('OLMo 2 includes dense autoregressive models')
  12. stated · Section 2.2 / Table 3 (Activation: SwiGLU)
  13. n/a · Abstract ('dense autoregressive models')
  14. stated · Section 2.2 ('We replace absolute positional embeddings with rotary positional embeddings (RoPE)')
  15. stated · Table 3 (RoPE θ: 5·10^5); Section 2.2 ('We increase the RoPE θ to 500,000 from 10,000')
  16. stated · Section 2.2 / 3.3.1 ('We use the RMSNorm variant of LayerNorm')
  17. stated · Section 2.2 Eqs. 1-2 / 3.3.2 ('We normalize the outputs to the attention and feedforward (MLP) layers within each transformer block, instead of the inputs')
  18. stated · Section 2.2 / 3.3.2 ('we normalize the key and query projections with RMSNorm before calculating attention')
  19. stated · Sections 2.2 / 3.1 / 3.2 / 3.3.3 / Table 3
  20. stated · Table 4 (Sequence Length 4096 for both variants)
  21. stated · Section 2.3.1 ('We borrow pre-tokenizer and vocabulary from cl100k, the tokenizer developed for GPT-3.5 and GPT-4')
  22. stated · Section 2.3.1 / Appendix B.3
  23. stated · Section 2.1 ('In total, OLMo 2 7B is trained on 4.05 trillion tokens (3.90 trillion for pretraining stage)')
  24. stated · Section 2.1 / Tables 1, 2, 13
  25. stated · Sections 2.3 / 3.5 / 4.3
  26. stated · Sections 3.4.1 / 3.4.2 / Table 4
  27. stated · Table 4 / Sections 2.3 / 3.5
  28. stated · Table 4 / Section 4.3
  29. stated · Section 6.1
  30. stated · Table 6 / Section 6.5 / Table 19
  31. stated · Section 5 (Tülu 3 recipe, SFT stage; final SFT mix has 939,104 prompts, Section 5.2)
  32. stated · Section 5 ('preference tuning with Direct Preference Optimization (DPO; Rafailov et al., 2024) and on-policy preference data')
  33. stated · Section 5 / Table 18
  34. n/a · Section 2.4
  35. stated · report-wide
  36. stated · Abstract / metadata block