gpt-oss 20B 如何本地部署?
gpt-oss 20B 是 OpenAI 2025 年 8 月开放权重的小号 MoE,每个字只用 3.6B 参数。一张 16GB 显卡就能跑满 128K 上下文,约 90 到 130 tokens/s。它的专家权重出厂就是 4-bit 格式,各档量化体积几乎一样,挑量化不用纠结;要留意的是它只认 OpenAI 自己的 harmony 对话格式。
gpt-oss 20B 模型信息
- 4-bit 最低显存13 GB · 8K
- 参数量20.9B
- 激活参数3.6B
- 上下文上限128K
- 架构
- MoE
- 专家卸载
- 3 GB 显存 + 11 GB 内存
- 许可证
- Apache-2.0
- 发布日期
- 2025年8月5日
- 厂商
- OpenAI
- Hugging Face 仓库
- openai/gpt-oss-20b
- GGUF 仓库
- unsloth/gpt-oss-20b-GGUF
- MLX 仓库(Apple)
- mlx-community/gpt-oss-20b-MXFP4-Q8
- Ollama 标签
- gpt-oss:20b
- 层数
- 24
- 隐藏维度
- 2,880
- KV 头
- 8
- 头维度
- 64
gpt-oss 20B 本地部署需要多少显存?
| 量化 | 权重体积GB | 8K 上下文GB | 32K 上下文GB | 128K 上下文(最大)GB |
|---|---|---|---|---|
| 1-bit | 5.3估 | 6.5 | 7.2 | 9.6 |
| 2-bit | 8.3估 | 9.6 | 10.2 | 12.6 |
| 3-bit | 11.5GGUF | 12.8 | 13.4 | 15.8 |
| 4-bit | 11.6GGUF | 12.9 | 13.5 | 15.9 |
| 5-bit | 11.7GGUF | 13 | 13.6 | 16 |
| 8-bit | 12.1GGUF | 13.4 | 14 | 16.4 |
| BF16/FP16 | 13.8GGUF | 15.1 | 15.7 | 18.1 |
详细计算规则可在数据方法页查看。
单卡能跑 gpt-oss 20B 吗?
能,一张 16GB 显卡就能整个装下,上下文还能开满 128K。它的专家权重出厂就是 4-bit 格式,各档量化的文件都在 12 GB 上下,选哪一档几乎不影响显存,所以 16GB 以上的卡直接用 8-bit:RTX 5060 Ti 16GB 每秒约 90 个 token,24GB 的 RTX 3090 在 130 左右。12GB 的卡是临界点,4-bit 加 8K 刚好塞下,几乎没有余量,想把上下文开长,就用 llama.cpp 把几层专家挪进内存。
| 设备 | 价格 | 速度 t/s | 最大上下文 |
|---|---|---|---|
| ¥1,2505 条挂单 | 144.4 | 128K | |
| ¥4,2004 条挂单 | 144.4 | 128K | |
| ¥5,17514 条挂单 | 109 | 128K | |
| Radeon RX 7900 XTX24 GB | ¥5,69412 条挂单 | 147.3 | 128K |
| ¥8,50013 条挂单 | 146.2 | 128K | |
| Ryzen AI Max+ 395 128GB整机 · 128 GB | ¥19,00016 条挂单 | 79.8 | 128K |
| ¥25,0006 条挂单 | 149.5 | 128K | |
| ¥32,0007 条挂单 | 136.8 | 128K | |
| ¥43,00041 条挂单 | 83 | 128K | |
| MacBook Pro M5 Max 128GB整机 · 128 GB | ¥45,69410 条挂单 | 125.6 | 128K |
| Mac Studio M5 Ultra 96GB整机 · 96 GB | ¥46,00015 条挂单 | 157.9 | 128K |
| ¥51,99914 条挂单 | 171.9 | 128K | |
| ¥125,0006 条挂单 | 171.9 | 128K |
| 设备 | 价格 | 速度 t/s | 最大上下文 |
|---|---|---|---|
| ¥1,2505 条挂单 | 129.2 | 128K | |
| ¥4,2004 条挂单 | 129.2 | 128K | |
| ¥5,17514 条挂单 | 92.5 | 128K | |
| Radeon RX 7900 XTX24 GB | ¥5,69412 条挂单 | 132.5 | 128K |
| ¥8,50013 条挂单 | 131.2 | 128K | |
| Ryzen AI Max+ 395 128GB整机 · 128 GB | ¥19,00016 条挂单 | 65 | 128K |
| ¥25,0006 条挂单 | 134.9 | 128K | |
| ¥32,0007 条挂单 | 121 | 128K | |
| ¥43,00041 条挂单 | 67.9 | 128K | |
| MacBook Pro M5 Max 128GB整机 · 128 GB | ¥45,69410 条挂单 | 109.2 | 128K |
| Mac Studio M5 Ultra 96GB整机 · 96 GB | ¥46,00015 条挂单 | 144.4 | 128K |
| ¥51,99914 条挂单 | 160.6 | 128K | |
| ¥125,0006 条挂单 | 160.6 | 128K |
| 设备 | 价格 | 速度 t/s | 最大上下文 |
|---|---|---|---|
| ¥1,2505 条挂单 | 127.1 | 128K | |
| ¥4,2004 条挂单 | 127.1 | 128K | |
| ¥5,17514 条挂单 | 90.4 | 128K | |
| Radeon RX 7900 XTX24 GB | ¥5,69412 条挂单 | 130.4 | 128K |
| ¥8,50013 条挂单 | 129.2 | 128K | |
| Ryzen AI Max+ 395 128GB整机 · 128 GB | ¥19,00016 条挂单 | 63.2 | 128K |
| ¥25,0006 条挂单 | 132.9 | 128K | |
| ¥32,0007 条挂单 | 118.9 | 128K | |
| ¥43,00041 条挂单 | 66.1 | 128K | |
| MacBook Pro M5 Max 128GB整机 · 128 GB | ¥45,69410 条挂单 | 107.1 | 128K |
| Mac Studio M5 Ultra 96GB整机 · 96 GB | ¥46,00015 条挂单 | 142.5 | 128K |
| ¥51,99914 条挂单 | 159 | 128K | |
| ¥125,0006 条挂单 | 159 | 128K |
只列常见的显卡和整机,50B 以下和以上的模型各一组,按价格从低到高。
用整机跑 gpt-oss 20B 要什么配置?
部分购买链接是联盟链接:通过它们购买时我们可能获得佣金,你支付的价格不变。
本地部署 gpt-oss 20B 要注意什么?
各档量化体积几乎一样
它的专家部分始终是 4-bit 格式(MXFP4,每个参数约 4.25 bit),所以 GGUF 从 3-bit 到 8-bit 都在 11.5 到 12.1 GB 之间,FP16 那一档也只有 13.8 GB。显存够就直接用 8-bit 或 FP16。表里 1-bit、2-bit 两行(5.3、8.3 GB)是按参数量估的,并没有这么小的文件,单卡表里 2-bit 那几行的速度也是按这个体积估出来的;实际的 2-bit 文件和 3-bit 差不多大,Unsloth 说低档位只压了注意力等少数层,效果和原版几乎一样。
必须用 harmony 格式
OpenAI 说它只用 harmony 格式训练过,换别的对话格式就不能正常工作。Ollama 和 llama.cpp(加
--jinja,用模型自带的模板)会自动套用;最容易出错的是自己拼提示词,或者用了不认识这个模板的前端。vLLM 里接工具调用要加--tool-call-parser openai--enable-auto-tool-choice。思考强度和采样参数
思考强度分 low、medium、high 三档,在系统提示里写「Reasoning: high」就行;llama.cpp 也能用
--chat-template-kwargs传reasoning_effort设默认值。low 回答快,high 想得更久、输出的 token 更多。OpenAI 建议temperature1.0、top_p1.0。长上下文几乎不加显存
24 层里有一半只看最近 128 个 token,这些层的缓存不随上下文变长;原生 4K 的上下文是用 YaRN 扩到 128K 的。所以从 8K 拉到 128K,4-bit 的显存只从 12.9 GB 涨到 15.9 GB。
启动命令
Ollama
- Windows
- macOS
- Linux
ollama run gpt-oss:20bllama.cpp
- NVIDIA
- AMD
- Mac
- CPU
llama-server -hf unsloth/gpt-oss-20b-GGUF:Q4_K_M -c 8192显存不够时加 --cpu-moe,把路由专家放进内存(约需 11 GB)。
llama-server -hf unsloth/gpt-oss-20b-GGUF:Q4_K_M -c 8192 -ngl 99 \ --cpu-moe
vLLM
- Linux
- NVIDIA
- AMD
vllm serve openai/gpt-oss-20bMLX
- Apple 芯片
Mac 上先 pip install mlx-lm,这条命令会从 Hugging Face 下载 MLX 权重,并启动兼容 OpenAI 接口的服务。
mlx_lm.server --model mlx-community/gpt-oss-20b-MXFP4-Q8量化文件名以模型库当周抓取为准,口径见数据方法。 数据方法
gpt-oss 家族的其他模型
| 模型 | 总参数 | 激活参数 | 4-bit 模型大小 |
|---|---|---|---|
| gpt-oss Safeguard 20BMoE | 20.9B | 3.6B | 11.6 GB |
| gpt-oss 120BMoE | 116.8B | 5.1B | 62.8 GB |