gpt-oss
OpenAI · 2025-08-05 · analysed 2026-08-10 · skill v0.3.5
sparse-MoE hybrid text-only open-weights frontier reasoning-specialisedDesign overview
gpt-oss-120b and gpt-oss-20b are OpenAI's first open-weight MoE release: 36-layer (24-layer) decoder-only transformers with a 2880-wide residual stream, RMSNorm with Pre-LN placement, and an explicit GPT-2/GPT-3 lineage. Every MLP block is a router MoE — 128 experts (120b) or 32 (20b) with a linear router selecting the top-4 experts per token, outputs weighted by a softmax over the selected experts only, using a gated SwiGLU activation that (unusually) includes clamping and an internal residual connection. Attention follows the GPT-3 sparse-transformer pattern, alternating banded-window (128-token bandwidth) and fully dense layers; each layer has 64 query heads of dimension 64 with GQA over 8 KV heads, RoPE, and a learned per-head bias in the softmax denominator (off-by-one attention / attention-sinks style) that lets a head attend to nothing. Dense layers are extended to 131,072 tokens via YaRN. The card's distinctive engineering is deployment-focused: MoE weights are quantized post-training to MXFP4 (4.25 bits/parameter), fitting 120b on a single 80GB GPU and 20b in ~16GB, and the o200k_harmony tokenizer adds chat-format tokens. Post-training is o3-style CoT RL with three configurable reasoning levels, a harmony chat format with a System > Developer > User > Assistant > Tool hierarchy, and agentic tool use (browse, Python, developer functions). As a model card, it discloses far less architecture than technical reports of comparable MoE peers.
What the report claims is novel
- Introduces gpt-oss-120b and gpt-oss-20b, two open-weight reasoning models under the Apache 2.0 license with full chain-of-thought, Structured Outputs, and adjustable reasoning effort [§1]
- MoE with top-4 routing: 128 experts (120b) / 32 experts (20b), gated SwiGLU, and softmax weighting over only the selected experts [§2.2]
- GPT-3-style alternating banded-window (bandwidth 128) and fully dense attention with GQA (64 Q / 8 KV heads, head dim 64), RoPE, and a learned per-head softmax-denominator bias (off-by-one attention / attention sinks) enabling attention to pay no attention to any tokens; dense layers extended to 131,072 tokens via YaRN [§2.2]
- MXFP4 post-training quantization of MoE weights (4.25 bits per parameter) fitting gpt-oss-120b on a single 80GB GPU and gpt-oss-20b in ~16GB memory [§2.1]
- o200k_harmony tokenizer open-sourced in the TikToken library, extending the o200k tokenizer with harmony chat format tokens (201,088 total) [§2.3]
- Harmony chat format with role-based instruction hierarchy (System > Developer > User > Assistant > Tool) and channels marking CoT, commentary, and final-answer visibility for agentic workflows [§2.5.1]
- Safety: Preparedness Framework evaluations including adversarially fine-tuned versions of gpt-oss-120b (SAG-reviewed), concluding the model does not reach High capability in Biological/Chemical or Cyber risk [§1, §5]
Atlas assessment: A conventional decoder-only MoE in the GPT-2/GPT-3 lineage with two distinctive touches: the revived GPT-3 sparse-transformer pattern (alternating banded-window/dense attention, here with GQA, RoPE and YaRN extension) and a learned per-head softmax-denominator bias for 'attend to nothing' (off-by-one attention family). vs DeepSeek-V3, the closest atlas MoE peer: far shallower (36 vs 61 layers), far fewer active params (5.1B vs 37B), top-4 of 128 experts with no shared expert, no MLA, no disclosed load balancing, and no MTP; the report also lacks any MoE training-stability discussion. The MXFP4-native release — quantization applied during post-training at 4.25 bits/parameter and treated as a first-class artifact (checkpoint sizes given in GiB) — is distinctive among atlas entries. The reasoning post-training (o3-style CoT RL with variable low/medium/high effort) extends the deepseek-r1 RLVR line with an explicit test-time effort control that no other atlas record implements; the model card's safety apparatus (adversarial fine-tuning simulations) is unique in the atlas but not architecture.
Relation to the atlas
Lineage in
- Autoregressive MoE transformer architecture building upon the GPT-2 and GPT-3 architectures from GPT-2 / GPT-3
- Alternating banded-window and fully dense attention layers from GPT-3 / Sparse Transformer
- Grouped Query Attention (GQA, 64 Q / 8 KV heads) from GQA (Ainslie et al. 2023)
- Rotary position embeddings (RoPE) from RoFormer (Su et al.)
- YaRN context extension to 131,072 tokens from YaRN (Peng et al. 2023)
- Learned per-head bias in the softmax denominator (off-by-one attention / attention sinks) from Off-by-one attention (Miller 2023) / attention sinks (Xiao et al. 2023)
- CoT reinforcement-learning post-training techniques from OpenAI o3
- o200k tokenizer base extended with harmony chat format tokens (o200k_harmony) from o200k (GPT-4o / o4-mini)
Influence out
- xiaomi-mimo-v2-flash-309b: Learnable attention sink bias in the softmax denominator
Notable omissions
- No pre-training token count (only 'trillions of tokens', §2.4)
- No pre-training sequence length; only the YaRN-extended 131,072-token dense-layer context is given
- Per-expert MoE inner dimension not disclosed (ffn_inner_dim / ffn_ratio unknown)
- No MoE load-balancing mechanism disclosed
- No RoPE base frequency, partial-RoPE, or YaRN factor disclosed
- Master training precision, optimizer, LR and batch schedules, and parallelism not disclosed
- Input/output embedding tying not stated (only a joint 'Embed + Unembed' 1.16B count, Table 1)
- RL algorithm beyond 'CoT RL similar to o3' never named
- No data mixture percentages and no full license text for the gpt-oss usage policy
- No architectural ablations or scaling-law studies (safety-focused model card)
- Benchmark comparisons limited to OpenAI's own o3 / o3-mini / o4-mini family; no independent third-party leaderboards
Closest relatives in the atlas
- Trinity — 8 shared comparable fields
- Mellum 2 — 7 shared comparable fields
- DeepSeek-V4 — 7 shared comparable fields
Spec sheet
Identity
| Family | gpt-oss[1] |
|---|---|
| Organisation | OpenAI[2] |
| Release date | 2025-08-05[3] |
| Report URL | https://cdn.openai.com/pdf/419b6906-9da6-406c-a19d-1bb078ac7637/oai_gpt-oss_model_card.pdf[4] |
| License | Apache 2.0 (plus the gpt-oss usage policy)[5] |
| Open weights | yes[6] |
Variants
- 20B
- 120B
Scale
| Total parameters | 116.83B[7] |
|---|---|
| Active parameters / token | 5.13B[7] |
| Layers | 36[8] |
| Hidden dimension | 2880[9] |
| FFN inner dimension | not disclosed |
| FFN ratio | not disclosed |
| Query heads | 64[10] |
| KV heads | 8[11] |
| Head dimension | 64[12] |
| Vocabulary size | 201088[13] |
| Embedding tying | not disclosed |
Per-variant configs
| Variant | Total | Layers | Hidden | FFN | Q heads | KV heads | Context |
|---|---|---|---|---|---|---|---|
| 20B | 20.91B | 24 | 2880 | not disclosed | 64 | 8 | 131,072 |
Core block
| Block type | sparse-MoE[14] |
|---|---|
| Attention variant | hybrid[15] |
| Attention layer pattern | alternating banded-window (bandwidth 128) and fully dense attention layers, following GPT-3[15] |
| Depth mixing | sequential-residual |
| Activation | gated SwiGLU[15] |
| Expert count | 128[16] |
|---|---|
| Experts per token | 4[17] |
| Shared experts | 0 |
| Routing | standard linear router projection mapping residual activations to expert scores; top-4 selected per token; each expert's output weighted by the softmax of the router projection over only the selected experts[15] |
| Load balancing | not disclosed |
| Expert granularity | not disclosed |
| Method | RoPE[18] |
|---|---|
| RoPE base frequency | not disclosed |
| Partial RoPE | no |
| Type | RMSNorm[19] |
|---|---|
| Placement | pre[20] |
| QK-norm | no |
| Attention sinks | no |
|---|---|
| Softcapping | no |
Context
| Trained context length | not disclosed |
|---|---|
| Deployed context length | 131,072[15] |
| Extension method | YaRN[15] |
Tokenizer
| Algorithm | Byte Pair Encoding (BPE)[21] |
|---|---|
| Notes | o200k_harmony tokenizer: extends the o200k tokenizer used for other OpenAI models such as GPT-4o and o4-mini with tokens explicitly used for the harmony chat format; open-sourced in the TikToken library; 201,088 total tokens (vocab size lives in scale.vocab_size)[21] |
Training
| Training tokens | not disclosed |
|---|---|
| Data composition | text-only dataset with trillions of tokens, with a focus on STEM, coding, and general knowledge; data filtered for harmful content in pre-training, especially hazardous biosecurity knowledge, by reusing the CBRN pre-training filters from GPT-4o; knowledge cutoff of June 2024[22] |
| Curriculum / staging | none disclosed |
| Optimizer | not disclosed |
| LR schedule | not disclosed |
| Batch schedule | not disclosed |
| Precision | not disclosed |
| Parallelism | not disclosed |
| Hardware | NVIDIA H100 GPUs; PyTorch framework with expert-optimized Triton kernels; Flash Attention used to reduce memory and accelerate training[22] |
| Disclosed compute | 2.1 million H100-hours for gpt-oss-120b; gpt-oss-20b 'needing almost 10x fewer'[22] |
Post-training
| SFT | yes |
|---|---|
| Preference optimisation | other[23] |
| Reasoning training | o3-style CoT RL teaching reasoning and tool use; variable-effort reasoning training with three levels (low, medium, high) configured via system-prompt keywords such as 'Reasoning: low'; agentic tool use trained via a browsing tool (search/open functions), a Python tool in a stateful Jupyter notebook, and arbitrary developer functions; deliberative alignment for refusal behavior; instruction hierarchy training (System > Developer > User > Assistant > Tool)[24] |
| Distillation | none disclosed |
Modality
| Type | text-only[25] |
|---|---|
| Attachment | n/a[26] |
Inference efficiency
| KV-cache design | GQA with 8 KV heads: KV cache scales with 8 shared heads instead of 64 query heads; banded-window layers restrict attention (and cache use) to a 128-token band |
|---|---|
| Quantisation shipped | MXFP4 for MoE weights (4.25 bits per parameter), applied via post-training quantization; enables gpt-oss-120b to fit on a single 80GB GPU and gpt-oss-20b on systems with as little as 16GB memory; checkpoint sizes 60.8GiB / 12.8GiB[27] |
| Speculative decoding | none disclosed |
| Serving optimisations | none disclosed |
Evaluation
Benchmarks (report's own numbers only)
| Benchmark | Value | Ref |
|---|---|---|
| AIME 2024 (no tools) | 95.8 | Table 3 (gpt-oss-120b, high reasoning level) |
| AIME 2024 (with tools) | 96.6 | Table 3 (gpt-oss-120b, high reasoning level) |
| AIME 2025 (no tools) | 92.5 | Table 3 (gpt-oss-120b, high reasoning level) |
| AIME 2025 (with tools) | 97.9 | Table 3 (gpt-oss-120b, high reasoning level) |
| GPQA Diamond (no tools) | 80.1 | Table 3 (gpt-oss-120b, high reasoning level) |
| GPQA Diamond (with tools) | 80.9 | Table 3 (gpt-oss-120b, high reasoning level) |
| HLE (no tools) | 14.9 | Table 3 (gpt-oss-120b, high reasoning level) |
| HLE (with tools) | 19.0 | Table 3 (gpt-oss-120b, high reasoning level) |
| MMLU | 90.0 | Table 3 (gpt-oss-120b, high reasoning level) |
| SWE-Bench Verified | 62.4 | Table 3 (gpt-oss-120b, high reasoning level) |
| Tau-Bench Retail | 67.8 | Table 3 (gpt-oss-120b, high reasoning level) |
| Tau-Bench Airline | 49.2 | Table 3 (gpt-oss-120b, high reasoning level) |
| Aider Polyglot | 44.4 | Table 3 (gpt-oss-120b, high reasoning level) |
| MMMLU (Average) | 81.3 | Table 3 (gpt-oss-120b, high reasoning level) |
| HealthBench | 57.6 | Table 3 (gpt-oss-120b, high reasoning level) |
| HealthBench Hard | 30.0 | Table 3 (gpt-oss-120b, high reasoning level) |
| HealthBench Consensus | 89.9 | Table 3 (gpt-oss-120b, high reasoning level) |
| Codeforces (no tools, Elo) | 2463 | Table 3 (gpt-oss-120b, high reasoning level) |
| Codeforces (with tools, Elo) | 2622 | Table 3 (gpt-oss-120b, high reasoning level) |
Provenance references
- stated · Title ('gpt-oss-120b & gpt-oss-20b Model Card')
- stated · Title page (OpenAI)
- stated · Title page ('August 5, 2025')
- stated · pipeline
- stated · §1 ('available under the Apache 2.0 license and our gpt-oss usage policy')
- stated · §1 ('two open-weight reasoning models available under the Apache 2.0 license')
- stated · Table 1
- stated · §2
- stated · §2.2 ('Both models have a residual stream dimension of 2880')
- stated · §2.2 ('Each layer has 64 query heads of dimension 64')
- stated · §2.2 ('Grouped Query Attention (GQA) with 8 key-value heads')
- stated · §2.2 ('64 query heads of dimension 64')
- stated · §2.3 ('a total of 201,088 tokens')
- stated · §2 ('The gpt-oss models are autoregressive Mixture-of-Experts (MoE) transformers')
- stated · §2.2
- stated · §2.2 ('a fixed number of experts (128 for gpt-oss-120b and 32 for gpt-oss-20b)')
- stated · §2.2 ('we select the top-4 experts for each token')
- stated · §2.2 ('We apply rotary position embeddings')
- stated · §2.2 ('applying root mean square normalization [6] on the activations before each attention and MoE block')
- stated · §2.2 ('Similar to GPT-2 we use Pre-LN placement')
- stated · §2.3
- stated · §2.4
- stated · §2.5
- stated · §2.5, §3
- stated · §1 ('these text-only models')
- n/a · §1
- stated · §2.1, Table 1