How to Deploy gpt-oss 20B Locally
gpt-oss 20B is a MoE model with 20.9B total parameters and 3.6B active per token. At Q4 it needs 14GB of VRAM to sit entirely on the GPU; with experts offloaded to system RAM it needs only 4GB of VRAM plus 12GB of RAM. The cheapest card that runs it today is the Tesla V100 16GB at about $131, at roughly 132.4 tokens/s. In offload mode the cheapest card that runs it is the GeForce RTX 5070, at roughly 29 tokens/s.
gpt-oss 20B details
How much VRAM does gpt-oss 20B need for local deployment?
MoE: all 20.9B parameters must stay resident in memory, while speed is set by the 3.6B active per token.
| Quantization | WeightsGB | Total at 8KGB | Total at 32KGB | Total at 128KGB |
|---|---|---|---|---|
| 1-bit | 4.9est. | 6.3 | 7.4 | 11.9 |
| 2-bit | 7.8est. | 9.1 | 10.3 | 14.8 |
| 3-bit | 11.5GGUF | 11.4 | 12.5 | 17 |
| 4-bit | 11.6GGUF | 13 | 14.2 | 18.7 |
| 5-bit | 11.7GGUF | 15.5 | 16.6 | 21.1 |
| 8-bit | 12.1GGUF | 23 | 24.2 | 28.7 |
| FP16 | 13.8GGUF | 42.3 | 43.4 | 47.9 |
Total = weights + KV cache (FP16) + 1GB runtime overhead. Weights marked GGUF are measured file sizes from the repository; the rest are estimated from bytes per parameter. Contexts beyond this model's 128K limit show a dash. Each tier takes whichever file of that bit width the repository has, preferring unsloth dynamic quants, so the exact file name varies by model.
Which GPUs can run gpt-oss 20B?
Xianyu
| Device | VRAMGB | Price | Est. t/s | Suggested context |
|---|---|---|---|---|
| 16 | $13113 listings | 132.4 | 32K | |
| 22 | $3873 listings | 108.8 | 128K | |
| 32 | $4054 listings | 119.4 | 128K | |
| 16 | $44613 listings | 84.9 | 32K | |
| 16 | $46111 listings | 89.5 | 32K | |
| 32 | $47611 listings | 132.4 | 128K | |
| 20 | $63916 listings | 104.2 | 128K | |
| 16 | $6974 listings | 89.8 | 32K | |
| 24 | $78410 listings | 67.1 | 128K | |
| 24 | $86217 listings | 115.4 | 128K | |
| 16 | $90712 listings | 90.9 | 32K | |
| 16 | $1,1529 listings | 118.2 | 32K | |
| 24 | $1,20415 listings | 134.8 | 128K | |
| 32 | $1,4656 listings | 82.1 | 128K | |
| 16 | $1,4723 listings | 132.1 | 32K | |
| 32 | $1,6438 listings | 90.9 | 128K | |
| 40 | $1,6804 listings | 165.3 | 128K | |
| 32 | $1,8443 listings | 84.9 | 128K | |
| 16 | $1,85112 listings | 136.4 | 32K | |
| 64 | $2,0898 listings | 162.8 | 128K | |
| 24 | $2,32718 listings | 114.1 | 128K | |
| 64 | $2,75112 listings | 148.5 | 128K | |
| 48 | $3,2715 listings | 108.9 | 128K | |
| 24 | $3,49416 listings | 139.4 | 128K | |
| 24 | $3,55414 listings | 156.7 | 128K | |
| 32 | $3,84416 listings | 132.1 | 128K | |
| 48 | $3,9553 listings | 139.4 | 128K | |
| 40 | $4,6024 listings | 165.1 | 128K | |
| Mac Studio M4 Max 128GB | 128 | $4,78813 listings | 87.3 | 128K |
| 128 | $4,83231 listings | 63.6 | 128K | |
| 32 | $4,89213 listings | 172.9 | 128K | |
| MacBook Pro M4 Max 128GB | 128 | $5,2644 listings | 87.3 | 128K |
| Mac Studio M5 Max 128GB | 128 | $5,8816 listings | 94.1 | 128K |
| 32 | $6,51313 listings | 172.9 | 128K | |
| 48 | $6,95915 listings | 156.7 | 128K | |
| MacBook Pro M5 Max 128GB | 128 | $8,1487 listings | 94.1 | 128K |
| 72 | $9,66517 listings | 156.7 | 128K | |
| 84 | $10,11117 listings | 165.6 | 128K | |
| 96 | $18,4226 listings | 172.9 | 128K | |
| Mac Studio M3 Ultra 512GB | 512 | $19,3156 listings | 111.5 | 128K |
| 32 | —No listings | 82.1 | 128K | |
| 32 | —No listings | 119.8 | 128K | |
| 32 | —No listings | 130.8 | 128K | |
| 128 | —No listings | 46.5 | 128K |
Fits when weights + KV cache + runtime overhead is at or below usable memory, single card. "Offload" on MoE models means it runs with expert weights in system RAM (only attention layers and KV cache stay in VRAM); that speed assumes 70 GB/s RAM bandwidth. The context column is the largest tier that fits.
Recommended GPUs for gpt-oss 20B with CPU/GPU offloading
Xianyu
Expert weights live in system RAM (needs at least 12 GB); VRAM holds only attention layers, shared experts and the KV cache, at least 4 GB at Q4. Speed is bound by RAM bandwidth (estimated at 70 GB/s) and is far slower than a full-VRAM setup.
| Device | VRAMGB | Price | RAM neededGB | Est. t/s |
|---|---|---|---|---|
| 12 | $918 | 12 | 29 |
Deploy gpt-oss 20B locally with Ollama, llama.cpp or vLLM
Ollama pulls and runs it in one command; the quantization comes from the official tag.
ollama run gpt-oss:20b
llama.cpp pulls the GGUF straight from Hugging Face; -c sets the context length.
llama-server -hf unsloth/gpt-oss-20b-GGUF:Q4_K_M -c 8192
vLLM serves the original-precision weights, which needs far more memory than GGUF and usually more than one GPU.
vllm serve openai/gpt-oss-20b
File names follow that week's model-library snapshot; the definitions are in the methodology. Methodology
FAQ
How much VRAM does gpt-oss 20B need?
At Q4_K_M with an 8K context gpt-oss 20B needs about 14GB of VRAM; 16GB leaves comfortable headroom.
What is the cheapest GPU that runs gpt-oss 20B?
The Tesla V100 16GB: 16GB of VRAM, currently about $131, at roughly 132.4 tokens/s.
Can you run gpt-oss 20B with Ollama?
Yes: ollama run gpt-oss:20b.