Model Deployment Guide

openai/gpt-oss-20b Hardware, Architecture, and Deployment Guide

GPT-OSS is OpenAI's open-weight release, shipped as mixture-of-experts models (roughly 20B and 120B total parameters) under a permissive Apache-2.0 license, aimed at teams that want an OpenAI-lineage model they can self-host. At roughly 22B parameters this is a large model: expect a 24–48 GB GPU in quantized form, or a data-center card for FP16 serving. This page covers what gpt-oss-20b is for, what its architecture implies for memory, how much VRAM to budget across precisions, and when quantization or an alternative model makes more sense.

By DhirajLast updated: 8/26/2025Editorial policy

Overview

GPT-OSS is OpenAI's open-weight release, shipped as mixture-of-experts models (roughly 20B and 120B total parameters) under a permissive Apache-2.0 license, aimed at teams that want an OpenAI-lineage model they can self-host. At roughly 22B parameters this is a large model: expect a 24–48 GB GPU in quantized form, or a data-center card for FP16 serving. This page covers what gpt-oss-20b is for, what its architecture implies for memory, how much VRAM to budget across precisions, and when quantization or an alternative model makes more sense.

Architecture

The detected architecture is Gpt Oss, reporting 24 layers, 64 attention heads, 8 key-value heads, and a context window of 131,072 tokens. It uses grouped-query attention (64 attention heads sharing 8 key-value heads), which shrinks the KV cache substantially versus full multi-head attention and helps long-context serving. The config indicates a mixture-of-experts layout with 32 experts and 4 active experts per token, so all experts occupy memory even though only a few are active per token.

Hardware Requirements

Budget about 50 GB for FP16/BF16, 25 GB for 8-bit, and 12 GB for 4-bit weights. Its 131,072-token context enables long-document and repository-scale workloads, but note that filling that window makes the KV cache the dominant memory cost — often larger than the weights. These are weight-plus-overhead planning numbers; add the KV cache for your real context length, since it is stored in FP16 even when the weights are quantized.

Deployment Advice

The 20B variant is designed to fit a single high-memory consumer or workstation GPU, while the 120B targets a data-center card or multi-GPU serving; both are MoE, so only a subset of experts activates per token but every expert must be resident in memory. For a large-tier model like this, a single consumer GPU is practical only when the chosen precision plus the KV cache fits with safety margin. If the FP16 estimate exceeds your GPU by more than a small margin, plan for quantization, CPU offload, or tensor-parallel serving before committing.

Quantization Guidance

GPT-OSS ships in a native low-precision (MXFP4) expert format, so much of the memory saving is already built in — when quantizing further, confirm your serving stack supports that format and validate tool-calling and reasoning output rather than assuming parity with the released weights. GGUF suits llama.cpp and local desktop workflows, AWQ is common for efficient GPU serving, and GPTQ remains useful when prebuilt kernels and model availability match your stack. Mixture-of-experts models can be more sensitive to aggressive quantization of the router, so validate outputs after quantizing.

Comparison Notes

Compare gpt-oss-20b against nearby sizes in the GPT-OSS family and against adjacent open families before committing: DeepSeek R1 for reasoning-heavy workloads, Qwen for multilingual and coding breadth, Gemma for compact deployment, and Llama for the broadest ecosystem support. The right choice depends on whether your constraint is quality, latency, license, or GPU budget.

Deployment QuestionPractical Answer
Best first hardware checkCompare FP16, INT8, and INT4 estimates against available VRAM with room for KV cache.
When to use tensor parallelismUse it when the model plus runtime overhead does not fit one GPU or latency improves with sharding.
When to quantizeQuantize after creating a full-precision quality baseline and rerunning representative prompts.

Which GPUs can run this model?

Fit across common consumer, workstation, and data-center GPUs, based on this model's weight memory plus a 0.1GB KV cache at 4,096 tokens. "Quantized" means it does not fit in FP16 but runs at 8-bit or 4-bit; verdicts leave ~10% headroom for activations.

GPUVRAMTierBest precisionVerdict
RTX 509032 GBConsumerINT8Quantized
RTX 508016 GBConsumer4-bitQuantized
RTX 5070 Ti16 GBConsumer4-bitQuantized
RTX 507012 GBConsumerNo
RTX 5060 Ti 16GB16 GBConsumer4-bitQuantized
RTX 409024 GBConsumer4-bitQuantized
RTX 408016 GBConsumer4-bitQuantized
RTX 4070 Ti SUPER16 GBConsumer4-bitQuantized
RTX 4070 SUPER12 GBConsumerNo
RTX 4070 Ti12 GBConsumerNo
RTX 407012 GBConsumerNo
RTX 4060 Ti 16GB16 GBConsumer4-bitQuantized
RTX 4060 Ti 8GB8 GBConsumerNo
RTX 40608 GBConsumerNo
RTX 309024 GBConsumer4-bitQuantized
RTX 308010 GBConsumerNo
RTX 30708 GBConsumerNo
RTX 3060 Ti8 GBConsumerNo
RTX 306012 GBConsumerNo
RTX 30508 GBConsumerNo
RTX 2080 Ti11 GBConsumerNo
Radeon RX 7900 XTX24 GBConsumer4-bitQuantized
Radeon RX 7900 XT20 GBConsumer4-bitQuantized
Radeon RX 7800 XT16 GBConsumer4-bitQuantized
Radeon RX 9070 XT16 GBConsumer4-bitQuantized
RTX 6000 Ada48 GBWorkstationINT8Quantized
RTX A600048 GBWorkstationINT8Quantized
RTX A500024 GBWorkstation4-bitQuantized
RTX A400016 GBWorkstation4-bitQuantized
H200 141GB141 GBData centerFP16FP16
H100 80GB80 GBData centerFP16FP16
A100 80GB80 GBData centerFP16FP16
A100 40GB40 GBData centerINT8Quantized
NVIDIA L40S48 GBData centerINT8Quantized
NVIDIA A10G24 GBData center4-bitQuantized
NVIDIA L424 GBData center4-bitQuantized
Tesla V100 32GB32 GBData centerINT8Quantized
Tesla T416 GBData center4-bitQuantized

Planning estimates — real usage depends on the inference runtime, batch size, and context length. The KV cache grows linearly with prompt length, so long-context serving needs more headroom than shown here.

text-generationgpt_ossQuantized (mxfp4)21.5B params

gpt-oss-20b

by openai| Aug 26, 2025| 7.3M 4.8K

Try gpt-oss · Guides · Model card · OpenAI blog

License

Apache 2.0

Full commercial use allowed

VRAM (FP16)

~49.5 GB

INT8: ~24.7GB · INT4: ~12.4GB

Parameters

21.5B

Verified (safetensors)

62/ 100

Deployment Readiness

Fair

Review the detailed assessment below for areas to evaluate.

Model Configuration

Architecture
gpt_oss
Context Window
131,072 tokens
Hidden Size
2,880
Layers
24
Attention Heads
64
KV Heads (GQA)
8 (8x GQA)
Vocabulary Size
201,088
Precision
float16
MoE Experts
32 experts, 4 active per token
Sliding Window
128 tokens

How to read this page

Start with license, VRAM, and deployment score before going deeper into architecture details. Those three signals usually decide whether a model deserves more evaluation time.

What this page helps decide

This page is best for deciding whether a specific model is deployable in your environment. It is not just a profile page. Use it to validate memory fit, hosting implications, license risk, and compatibility before adopting the model.

Best next step

If this model still looks promising, take it into compare against your alternatives, or use the GPU picker to validate real hardware options.

Deployment Readiness Assessment

Multi-factor assessment evaluating this model across five production-critical dimensions.

62

Fair

Review the categories below before deploying

out of 100
License17/20

Evaluates commercial usability, modification rights, and distribution permissions.

Commercial use allowed
Custom license terms
Can modify and fine-tune
Community14/20

Measures adoption level through downloads, likes, and maintainer activity.

Very popular (7.3M downloads)
Highly rated (4.8K likes)
Updated within a year
Consider checking for newer versions
Documentation2/20

Checks for model card, usage examples, benchmarks, and limitation disclosures.

Minimal documentation
Limited model description
No usage examples found
Compatibility12/20

Assesses support across popular frameworks like vLLM, Transformers, and Ollama.

Configuration file available
Custom architecture
Transformers compatible
May have limited framework support
Limited vLLM support
Efficiency17/20

Reviews GQA/MQA optimization, quantization availability, and GPU requirements.

Excellent GQA optimization (8x)
Quantized version available (mxfp4)
Flash Attention compatible
Very high hardware requirements

Recommendations

This model may need additional evaluation before production use.

Limited documentation. Budget extra time for integration.

May have compatibility issues. Test thoroughly before deployment.

VRAM and Memory Requirements

Estimated GPU memory needed at different precision levels for inference.

Source: HuggingFace safetensors metadata (accurate)

FP32 (Full Precision)~99 GB

Training only -- not recommended for inference

FP16 / BF16 (Half Precision)~49.5 GB

Standard inference precision -- best quality

INT8 (8-bit Quantized)~24.7 GB

95-98% quality -- production recommended

INT4 (4-bit Quantized)~12.4 GB

85-92% quality -- edge/local deployment

Total Parameters: 21.5 Billion|Model Size on Disk: ~49.5 GB (safetensors)|Includes 20% overhead for activations and KV cache

What does this mean?

VRAM (Video RAM) is the memory on your GPU. Your GPU must have enough VRAM to load the entire model in memory. Lower precision (INT8, INT4) reduces memory requirements with a small quality trade-off. For most production use cases, INT8 quantization offers the best balance of quality and efficiency.

License Analysis

Commercial usability and deployment restrictions

Apache 2.0

Can use commercially, modify, distribute, and sublicense. Includes patent protection.

Permissions

Commercial Use
Allowed
Modification and Fine-tuning
Allowed
Distribution
Allowed
Patent Grant
Allowed

Deployment Recommendation

Ready for production deployment

  • Deploy freely
  • Include license notice in distribution

Risk Level: Minimal legal risk

Hardware and GPU Recommendations

Based on ~49.5GB VRAM requirement (FP16)

Recommended GPUs

NVIDIA A100 80GB

Large models & batching

$15,000

62% VRAM used

NVIDIA H100 80GB

Cutting-edge large models

$30,000

62% VRAM used

Enterprise

NVIDIA A100 80GB

Cloud GPU Pricing

gcp

a2-ultragpu-1g (A100 80GB)

$4.89/hr

~$3570/mo

azure

NC24ads A100 v4 (A100 80GB)

$3.67/hr

~$2679/mo

together

per 1K tokens (Shared Infrastructure)

$0.00/hr

~$0/mo

replicate

per 1K tokens (Various GPUs)

$0.00/hr

~$0/mo

huggingface

per 1K tokens (Shared Infrastructure)

$0.00/hr

~$0/mo

Multi-GPU Required

Model requires 49.5GB - multi-GPU setup needed

Streaming Multiprocessor Architecture

Interactive diagram of an SM's physical hardware — click any block to learn more

Streaming Multiprocessor (SM) — Physical Layout
Legend:Warp Sched.RegistersCUDATensorL1 / SMEM

Select a component

Click any block in the diagram to see detailed information about that hardware unit.

Quick Reference

Warp Size32 threads
Typical CUDA Cores / SM64 — 128
Typical Tensor Cores / SM4 — 8
Shared Memory PoolUp to 228 KB (Blackwell)
Register File64 K x 32-bit registers

Framework Compatibility

Compatibility with popular inference frameworks and tools

Transformers (HuggingFace)

100% confidence
  • Official HuggingFace library
  • Best compatibility
pip install transformers torch

vLLM

50% confidence
  • High-performance inference
  • Continuous batching
  • Check vLLM docs for version compatibility
pip install vllm

Ollama

75% confidence
  • Easy local deployment
  • Built-in model management
  • Likely available in Ollama library
curl -fsSL https://ollama.ai/install.sh | sh

llama.cpp

75% confidence
  • CPU inference capable
  • GGUF format conversion needed
  • Excellent for local/edge deployment
pip install llama-cpp-python

TensorRT-LLM

60% confidence
  • NVIDIA GPUs only
  • Fastest inference performance
  • Requires conversion process
See NVIDIA TensorRT-LLM docs

Advanced Features

Flash Attention

2-4x faster inference

Grouped Query Attention (GQA)

8x faster KV cache

Long Context Support

131k token window

RoPE Scaling

Extended context beyond training length

Sliding Window Attention

Reduced memory for long sequences

Usage Examples

5 snippets

Ready-to-use code for openai/gpt-oss-20b

Official library, best compatibility

from transformers import AutoTokenizer, AutoModelForCausalLM, BitsAndBytesConfig
import torch

# Load tokenizer and model
tokenizer = AutoTokenizer.from_pretrained("openai/gpt-oss-20b")
# Quantize on-the-fly with bitsandbytes to reduce VRAM
quantization_config = BitsAndBytesConfig(
    load_in_8bit=True,
)
model = AutoModelForCausalLM.from_pretrained(
    "openai/gpt-oss-20b",
    quantization_config=quantization_config,
    device_map="auto",
)

# Build the prompt with the model's own chat template
messages = [
    {"role": "user", "content": "Hello! How are you?"}
]
inputs = tokenizer.apply_chat_template(
    messages,
    add_generation_prompt=True,
    return_tensors="pt",
).to(model.device)

# Generate response
outputs = model.generate(
    inputs,
    max_new_tokens=512,
    temperature=0.7,
    top_p=0.9,
    do_sample=True,
)

# Only decode the newly generated tokens, not the prompt
response = tokenizer.decode(outputs[0][inputs.shape[-1]:], skip_special_tokens=True)
print(response)

Total Cost of Ownership

API vs Cloud GPU vs Self-Hosted cost comparison

Cost estimates are approximate and vary by region, usage patterns, and provider.

PeriodAPICloud GPUSelf-Hosted
Year 1$2$47,907$66,420
Year 2$2$47,407$48,620
3-Year Total$7$142,720$163,660

Break-Even Analysis

Cloud vs API

Cloud GPU never breaks even - API cheaper

Self-Hosted vs Cloud

Breaks even in ~17 months

Recommendations

Consider Cloud GPU

Volume justifies dedicated infrastructure

High hardware requirements

Consider model quantization or smaller alternatives

Model Parameters Explained

18 params

Every configuration parameter explained with developer context and deployment impact. Click any parameter to expand its explanation.

Model Architecture

critical

gpt_oss

Number of Transformer Layers

high

24

Number of Experts (MoE)

high

32

Hidden Size / Embedding Dimension

high

2880

Number of Attention Heads

medium

64

Key-Value Heads (GQA)

high

8

Sliding Window Attention

medium

128

Active Experts Per Token

medium

4

KV Cache Enabled

medium

true

Maximum Context Length

critical

131072

Vocabulary Size

medium

201088

End of Sequence Token

medium

200002

Padding Token

low

199999

RoPE Theta (Positional Encoding)

low

150000

RoPE Scaling Configuration

medium

{"beta_fast":32,"beta_slow":1,"factor":32,"original_max_position_embeddings":4096,"rope_type":"yarn","truncate":false}

Quantization Configuration

critical

{"modules_to_not_convert":["model.layers.*.self_attn","model.layers.*.mlp.router","model.embed_tokens","lm_head"],"quant_method":"mxfp4"}

Default Tensor Data Type

low

float16