Model datasheet · gpt-oss
gpt-oss-120b
The big sibling of gpt-oss-20b, and the same bargain at four times the size: shipped natively in MXFP4, so there is no quant ladder to choose from — one 63GB file is the model. Reasoning and tool use are excellent; world knowledge is not. It was built to look things up.
- Vendor
- OpenAI
- Architecture
- MoE · 117B total / ~5.1B active
- Context
- 131,072 tokens
- License
- Apache-2.0
- Released
- 2025-08-05
- Vision
- No
→ GGUF (llama.cpp / LM Studio / Ollama) → MLX (Apple Silicon)
Architecture, from its own config.json
36 layers · 18 sliding window · 18 full attention
64 attention heads over 8 KV heads (GQA 8:1), head dim 64 · mixture of experts, 5.1B of 117B active per token across 4 experts · vocabulary 201,088
Where the memory goes: weights by band above, plus a KV cache of 315MB at 8K · 1.2GB at 32K · 4.5GB at 128K, plus the runtime's own working memory — dominated by the output projection over that vocabulary.
Inside one layer, from its own tensors
36 × layer
18 sliding-window layers, 18 full-attention layers — the same block either way. What differs is how far back the mask lets attention look, not what the layer is built from.
The green line down the right of each half is the residual: it leaves the spine above the norm, skips the operation entirely and rejoins at the +. Where attention is drawn open, q, k and v are scaled to their real output widths — a model that shares key and value heads across many query heads shows one wide box beside two narrow ones.
Around the stack: an embedding of 201,088 × 2,880, a final norm, and a separate output projection.
On the norm names: despite what it is called, post_attention_layernorm is drawn after the residual add here, which is where this family applies it — it normalises the input to the feed-forward, not the output of attention. Models that carry a separate pre_feedforward_layernorm use it the other way, and are drawn that way.
Also in every block and not drawn, because their tensor names do not fix where they belong: sinks. Guessing an order is the one thing this diagram will not do.
§1 Characteristics by quantization band
data checked Aug 2026
- vendor-model-card — AIME 2024 (high reasoning, no tools) = 95.8 @ mxfp4 · vendor-reported · 2026-08-31
96.6 with tools. GPQA Diamond 80.1, MMLU 90.0. More than double the 20b's 42.1 on the same benchmark — the clearest size effect in this family.
data checked Aug 2026
- vendor-model-card — SWE-bench Verified = 62.4 @ mxfp4 · vendor-reported · 2026-08-31
Codeforces Elo 2463, Aider Polyglot 44.4. Only 1.7 points above the 20b despite 5.6x the parameters; the Aider figure is the more sober read of everyday editing.
data checked Aug 2026
- vendor-model-card — Tau-Bench Retail = 67.8 @ mxfp4 · vendor-reported · 2026-08-31
Against the 20b's 54.8. Tool use is the family's organizing principle — browsing, python and functions are first-class in the harmony format.
data checked Aug 2026
- vendor-model-card — SimpleQA = 16.8 @ mxfp4 · vendor-reported · 2026-08-31
PersonQA hallucination rate 49.1% — OpenAI's own number. Better than the 20b's 6.7 / 53.2% and still poor in absolute terms. HealthBench 57.6.
data checked Oct 2026
- eqbench-creative — EQ-Bench Creative Writing v3 rubric score (0-20) = 10.74 @ mxfp4 · aggregated · 2026-10-04
Normalised Elo 961.0, 118th of 140, retrieved 2026-10-04. Below every Gemma 3 size (13.91-15.33) and GLM-4.7-Flash (13.68). OpenAI ships these weights natively in MXFP4, so the measurement anchors this band directly. Independent; rubric judged by Claude Sonnet 4. EQ-Bench's normalised Elo moves as models are added, so the rubric score is the figure stored. Data file behind https://eqbench.com/creative_writing.html; the date the row was added is not published.
- eqbench-creative — EQ-Bench Creative Writing Longform score (0-100) = 35.8 @ mxfp4 · aggregated · 2026-10-04
Longform: below all three Gemma 3 sizes except the 4B (34.4). Data file behind the Longform page on eqbench.com.
§2 Known issues & what fixes them
Hallucinates confidently on world knowledge. SimpleQA 16.8 and a 49.1% PersonQA hallucination rate are OpenAI's own published figures — better than the 20b's, and still bad enough that this model should not be trusted as a source of facts. It is built to reason and call tools, not to remember.
Give it documents to read. Retrieval turns the weakness into a non-issue for document work.
Wire up search. The model is explicitly designed to look things up rather than recall them.
Evidence · 2 sources · community-consensus
- gpt-oss model card: SimpleQA and PersonQA hallucination figures (paper, 2026-08-31)
- gpt-oss-120b model card (vendor, 2026-08-31)
There is no quant choice to make: the MoE weights were post-trained in MXFP4, so the 63GB native file is the model rather than a compression of it. Convenient — no band to agonise over — but the usual escape hatch is missing. If 63GB does not fit, there is no smaller official build, and requantizing an already-4-bit model is not the same operation as quantizing from bf16.
Use gpt-oss-20b instead if 63GB is out of reach; same architecture, 12GB.
Evidence · 2 sources · community-consensus
- gpt-oss-120b: MoE weights post-trained in MXFP4 (vendor, 2026-08-31)
- ggml-org GGUF: a single 63.4GB MXFP4 file (other, 2026-08-31)