OpenAI · released 2025-08-05
gpt-oss-120b
What gpt-oss-120b’s own documents say it is built from — every method with the sentence that describes it.
Curator’s note117B total / 5.1B active MoE, Apache 2.0, MXFP4-quantized MoE weights so the 120b fits on one 80GB GPU, 128K context, harmony response format, configurable reasoning effort. The oldest model in the map and the only one from 2025: it is here because a year after release it is still in the weekly open-weight top 20 (rank 17), which makes it the map's baseline for what 2025 practice looked like. Its 'technical report' is the published model card (arXiv 2508.10925).
Against the consensus recipe
Its documents state 3 of the 15 methods the field agrees on.
The recipe from the overview: the methods the most labs adopt, per stage. A missing one is something the documents do not say, not something the model lacks.
Data curation
- Agentic data synthesis pipelinenot in its documents
Training objective
- Multi-Token Predictionnot in its documents
- KL alignment lossnot in its documents
Model architecture
- Mixture of Expertscore
- Hybrid Attentionused
- Multi-Token Predictionnot in its documents
Optimization
- Muonnot in its documents
- Expert Parallelismnot in its documents
- Cosine decaynot in its documents
Post-training
- Group Relative Policy Optimizationnot in its documents
- Supervised fine-tuningnot in its documents
- Multi-Teacher On-Policy Distillationnot in its documents
Inference & serving
- Configurable reasoning effortused
- Speculative decodingnot in its documents
- FP8 KV-cache quantizationnot in its documents
Checked in its code
Its code shows 7 of the 19 architecture features checked — 3 of them are not stated in its documents.
Documents say what a lab chose to describe; the modeling code says what the checkpoint runs. Each feature below was put to a code verifier, and only the config values and source lines it cited that were found in the files are shown, linked to the line.
Read from Hugging Face Transformers (modeling_gpt_oss.py, configuration_gpt_oss.py) and config.json at revision b5c939de8f, by anthropic/claude-sonnet-5 on 2026-09-25.
| Feature | Code | Its documents | Evidence |
|---|---|---|---|
| Grouped-query attention | in its code | used | 64 query heads share 8 key/value heads via repeat_kv grouping in every attention layer. num_attention_heads = 64num_key_value_heads = 8 |
| Multi-head latent attention | not in its code | not stated | Attention uses standard separate q/k/v projections with no low-rank latent KV cache mechanism. |
| Sliding-window attention code only | in its code | not stated | Layers marked sliding_attention use a 128-token sliding window mask. sliding_window = 128layer_types = ["sliding_attention", "full_attention", "sliding_attention", "full_attention"… |
| Interleaved sliding-window and global attention code only | in its code | not stated | layer_types alternates sliding_attention and full_attention across the 36 layers, with separate masks built for each. layer_types = ["sliding_attention", "full_attention", "sliding_attention", "full_attention"… |
| Indexer-selected sparse attention (DeepSeek Sparse Attention) | not in its code | not stated | No indexer-based top-k token selection mechanism exists in this attention implementation. |
| Linear-attention or state-space layers alongside full attention | not in its code | not stated | All token-mixing layers are softmax attention (full or sliding); there are no linear-attention or SSM layers. |
| Gated DeltaNet layers | not in its code | not stated | No gated delta-rule recurrent layers are implemented; all layers use GptOssAttention. |
| Mamba-2 layers | not in its code | not stated | No Mamba-2 SSM blocks are present; the model is a pure transformer with MoE FFNs. |
| Learnable attention sink code only | in its code | not stated | Each attention layer has a learned per-head sink logit concatenated into the softmax denominator. |
| Gated attention output | not in its code | not stated | The attention output is passed straight to o_proj with no sigmoid gating multiplication. |
| QK normalization | not in its code | not stated | Query and key states go directly from projection to RoPE application with no normalization step. |
| Partial RoPE | not in its code | not stated | Rotary embedding is applied to the full head dimension via chunking into two halves, not a partial slice. |
| YaRN RoPE scaling | in its code | used | rope_scaling specifies rope_type yarn with factor 32 and beta parameters, applied via ROPE_INIT_FUNCTIONS. rope_scaling.rope_type = "yarn"rope_scaling.factor = 32.0 |
| Layers without positional encoding (NoPE) | not in its code | not stated | Rotary position embeddings are applied uniformly to every attention layer's queries and keys; there is no layer-conditional skip of RoPE. |
| Mixture of experts | in its code | core | Each token is routed via top-k (4 of 128) learned router to expert MLPs. num_local_experts = 128num_experts_per_tok = 4 |
| Shared expert | not in its code | not stated | There is no shared-expert module in GptOssMLP or its config; only routed experts exist. |
| Auxiliary-loss-free load balancing (selection bias) | not in its code | not stated | The router uses a standard softmax top-k with a learned bias term added before topk, but there is no e_score_correction_bias style selection-only bias; instead an auxiliary load-balancing loss (router_aux_loss_coef) is used for training. router_aux_loss_coef = 0.9 |
| Multi-token prediction layers | not in its code | not stated | No multi-token-prediction modules or config fields are declared in this model. |
| SwiGLU feed-forward | in its code | used | Expert MLPs compute a SiLU-based gated GLU (sigmoid-approximated SiLU gate times up-projection) as the feed-forward activation. hidden_act = "silu" |
model architecture 10
token mixer 3
hybrid layer stacking 1
channel mixer 3
dense feed-forward network 1
mixture of experts 2
expert routing 1
positional encoding 2
optimization 1
quantization-aware training 1
data curation 4
data filtering 1
data mixture & curriculum 2
tokenization 1
post-training 9
supervised fine-tuning 3
reinforcement learning algorithm 3
preference optimization 1
agentic post-training 2
inference & serving 37
decoding strategy 2
reasoning control 2
inference quantization 3
serving parallelism 1
inference kernel 3
context management 1
agentic scaffolding 25
evaluation 9
filed at the root 2
benchmark 4
human & real-world evaluation 2
other 2
unfiled 14
Further reading
Picked by hand, not extracted: where to read more, not evidence for anything on this page.
- gpt-oss-120b architecture card — LLM Architecture Gallery explainer sebastianraschka.com
Sources
The curated document list for this model. "not fetched" means the URL is recorded but its text was not read in the current run.
| Document | Kind | Publisher | Status |
|---|---|---|---|
| openai.com/index/introducing-gpt-oss | official blog | OpenAI | not fetched |
| arxiv.org/abs/2508.10925 | technical report | OpenAI | read |
| huggingface.co/openai/gpt-oss-120b | model card | OpenAI | read |
| github.com/openai/gpt-oss | code repo | OpenAI | read |
| cookbook.openai.com/articles/openai-harmony | vendor docs | OpenAI | read |
| openrouter.ai/openai/gpt-oss-120b | vendor docs | OpenRouter | read |
| simonwillison.net/2025/Aug/5/gpt-oss | third party analysis | Simon Willison | read |