OpenAI · model passport
OpenAI: gpt-oss-20b
gpt-oss-20b- Open weights
- Apache 2.0 licence
- 20.9B params
- 131,072 context
- Released 2025-08-05(curated)
- Overall · LMArena
- 1,317#247 of 396
- Best percentile
- 87.4LiveCodeBench (Artificial Analysis)
- Cohort standing
- 46.4median 51.6
What the data says
Benchmarked on 10 of 27 tracked axes. Every figure below is the model's own published result on that board.
Strongest axes
- 87.4 pct — LiveCodeBench (Artificial Analysis) (77.7%)
Weakest axes
- 2.3 pct — Terminal-Bench (3.4%)
Uneven: 85.1 percentile points between its best and worst axis — 87.4 pct on LiveCodeBench (Artificial Analysis) versus 2.3 pct on Terminal-Bench.
- LiveCodeBench (Artificial Analysis)87.4 pct77.7%Verify →
- IFBench (Artificial Analysis)74.1 pct65.1%Verify →
- MMLU-Pro (Artificial Analysis)50.2 pct74.8%Verify →
- AIME (math)46 pct65.3%Verify →
- GPQA Diamond43 pct60.8%Verify →
- Coding41.4 pct1,368Verify →
- Hard prompts38.1 pct1,323Verify →
- Overall37.9 pct1,317Verify →
- Instruction following32.8 pct1,281Verify →
- Terminal-Bench2.3 pct3.4%Verify →
- WebDev ArenaNot benchmarked
- Vision ArenaNot benchmarked
- Factuality ArenaNot benchmarked
- Search ArenaNot benchmarked
- Document ArenaNot benchmarked
- Agent ArenaNot benchmarked
- FrontierMathNot benchmarked
- SimpleQA VerifiedNot benchmarked
- ARC-AGI-2Not benchmarked
- Humanity's Last ExamNot benchmarked
- SimpleBenchNot benchmarked
- LiveBenchNot benchmarked
- BFCL v4 (function calling)Not benchmarked
- SWE-bench Verified (live board)Not benchmarked
- Terminal-Bench 4.0Not benchmarked
- HHEM Hallucination (Vectara)Not benchmarked
- SWE-bench VerifiedNot benchmarked
Percentiles are the model's standing within each board's own population. Axes marked "not benchmarked" have no published result for this model — that is an absence of data, not a low score.
How to run it
Run it yourself
Transformers
from transformers import AutoModelForCausalLM, AutoTokenizer
model_id = "openai/gpt-oss-20b"
tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(model_id)Ollama
We don't sync Ollama tags, so we won't print a command we can't verify — a wrong one would pull the wrong model. Search the Ollama library →
Unsloth fine-tuning recipes are model-specific and we don't derive them here. Unsloth docs →
Use it hosted
openai/gpt-oss-20bAPI parameters this endpoint supports
Example request
curl https://openrouter.ai/api/v1/chat/completions \
-H "Authorization: Bearer $OPENROUTER_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"openai/gpt-oss-20b","messages":[{"role":"user","content":"Hello"}]}'Identifiers, limits and prices are synced from the upstream source shown above. Any field we haven't synced is left out entirely rather than guessed.
gpt-oss-20b stands at 46.4 (raw mean 45.3) — measured on 10 of 27 axes.
gpt-oss-20b stands at 46.4 versus a cohort median of 51.6 across 145 models released within 180 days — below the peer median.
gpt-oss-20b scores at percentile 87.4 on LiveCodeBench (Artificial Analysis).
gpt-oss-20b scores at percentile 2.3 on Terminal-Bench.
gpt-oss-20b shows a 85.1-point percentile gap across 10 covered axes: 87.4 on LiveCodeBench (Artificial Analysis) versus 2.3 on Terminal-Bench.
gpt-oss-20b ranks between #156 and #428 across 6 built-in weightings — best under "Agentic", worst under "Coding-focused".
Every claim is a computed fact from the current board data, phrased by a low-temperature model call and rejected by a validation gate if any number is not in the source row. How the leaderboards work →