目錄
一、引言
二、GPT-OSS 模型簡介
1. 版本與定位
2. 架構設計與技術亮點
2.1 Mixture-of-Experts(MoE)架構
2.2 高效推理機制與優化技術
2.3 模型對比
三、模型部署
1. 安裝相關依賴
1.1 uv 安裝
1.2 conda 安裝
1.3 Transformers 運行 gpt-oss
四、模型調用示例
五、Debug
總結
一、引言
2025 年 8 月,OpenAI 推出了自 GPT-2(2019 年) 以來首個開源權重的大型語言模型系列——GPT-OSS(Generative Pre-trained Transformer – Open-Source Series)。此次發布包含兩款模型:gpt-oss-120b(117B 參數)和 gpt-oss-20b(21B 參數),均采用開放的 Apache 2.0 許可協議,標志著 OpenAI 向開源社區邁出了重要一步。
二、GPT-OSS 模型簡介
1. 版本與定位
-
gpt-oss-120b:約 117B 總參數,適用于強推理需求,能在一張 80 GB GPU 上運行。
-
gpt-oss-20b:約 21B 參數,適用于邊緣設備與輕量級部署,僅需 16 GB 顯存。
兩者都支持強鏈式思維(Chain-of-Thought)、工具調用與結構化輸出格式,專為復雜推理和開發者定制場景設計。
2. 架構設計與技術亮點
2.1 Mixture-of-Experts(MoE)架構
GPT-OSS 延續 Transformer 模型框架,但每層引入 MoE 設計:
-
gpt-oss-120b:每層包含 128 個專家網絡;每個 token 激活 4 個專家,活躍參數約為 5.1 B 。
-
gpt-oss-20b:每層 32 個專家,激活 4 個專家,活躍參數約為 3.6 B 。
這樣能在保持模型表達能力的同時,大幅降低每次推理的計算與內存成本。
2.2 高效推理機制與優化技術
-
MXFP4 量化:MoE 權重采用4位量化,顯存占用顯著下降,使 gpt-oss-120b 能在 80GB GPU 上運行,gpt-oss-20b 可在 16 GB 內存設備上本地運行。
-
長上下文支持:通過 Rotary Position Embeddings 與 YaRN 技術,將上下文長度擴展至 131,072 tokens,適合長文檔理解與復雜推理。
-
Attention 機制優化:混合局部稠密和帶稀疏帶的 Attention,組查詢 Attention(Grouped Query Attention)減少延遲與內存占用。
-
Harmony 響應格式:采用統一響應格式并開源 o200k_harmony tokenizer,方便開發者統一接入 behavior 和規范。
gpt-oss系列不僅在標準任務中表現出色,其推理能力的優化也讓它在多個實際應用中成為首選。兩個模型的參數調整可以根據具體需求靈活設置,支持低、中、高三種推理力度,滿足不同延遲需求的應用場景。開發者還可以根據具體需求,進行模型微調,以進一步優化其在特定任務中的表現。
2.3 模型對比
在多個標準化測試中,gpt-oss系列的表現相當突出,尤其是在MMLU、GPQA、以及競賽數學等領域。以下是gpt-oss-120b和gpt-oss-20b與gpt-o3和o4-mini的對比數據:
三、模型部署
參考文檔:How to run gpt-oss with vLLM
1. 安裝相關依賴
1.1 uv 安裝
# 安裝vllm
uv venv --python 3.12 --seed
source .venv/bin/activate
uv pip install --pre vllm==0.10.1+gptoss \--extra-index-url https://wheels.vllm.ai/gpt-oss/ \--extra-index-url https://download.pytorch.org/whl/nightly/cu128 \--index-strategy unsafe-best-match# 啟動服務器并下載模型
# For 20B
vllm serve openai/gpt-oss-20b# For 120B
vllm serve openai/gpt-oss-120b
1.2 conda 安裝
# 創建虛擬環境
conda create -n gpt_oss_vllm python=3.12
conda activate gpt_oss_vllm# 安裝vllm
# 安裝 PyTorch-nightly 和 vLLM
pip install --pre vllm==0.10.1+gptoss \--extra-index-url https://wheels.vllm.ai/gpt-oss/ \--extra-index-url https://download.pytorch.org/whl/nightly/cu128
# 安裝 FlashInfer
pip install flashinfer-python==0.2.10
# 安裝 evalscope(評測工具,可選)
pip install evalscope[perf] -U
啟動服務并下載模型
使用ModelScope下載模型(推薦):
VLLM_ATTENTION_BACKEND=TRITON_ATTN_VLLM_V1 VLLM_USE_MODELSCOPE=true vllm serve openai-mirror/gpt-oss-20b --served-model-name gpt-oss-20b --trust_remote_code --port 8801
使用HuggingFace下載模型:
VLLM_ATTENTION_BACKEND=TRITON_ATTN_VLLM_V1 vllm serve openai/gpt-oss-20b --served-model-name gpt-oss-20b --trust_remote_code --port 8801
1.3 Transformers 運行 gpt-oss
官方文檔:?https://cookbook.openai.com/articles/gpt-oss/run-transformers?
四、模型調用示例
vLLM 公開了與聊天完成兼容的 API和與響應兼容的 API,因此無需進行太多更改即可使用 OpenAI SDK。這是一個 Python 示例:
from openai import OpenAIclient = OpenAI(base_url="http://localhost:8000/v1",api_key="EMPTY"
)result = client.chat.completions.create(model="openai/gpt-oss-20b",messages=[{"role": "system", "content": "You are a helpful assistant."},{"role": "user", "content": "Explain what MXFP4 quantization is."}]
)print(result.choices[0].message.content)response = client.responses.create(model="openai/gpt-oss-120b",instructions="You are a helfpul assistant.",input="Explain what MXFP4 quantization is."
)print(response.output_text)
五、Debug
如果使用vllm部署模型時出現錯誤:AssertionError: Sinks are only supported in FlashAttention 3
解決方法:部署服務時添加:VLLM_ATTENTION_BACKEND=TRITON_ATTN_VLLM_V1
總結
OpenAI的gpt-oss系列模型憑借其強大的推理能力和廣泛的應用場景,成為了開發者手中的有力工具。其開源特性、強大的定制能力和優化的推理性能,使其在AI開發和應用中具有巨大的潛力。隨著AI技術的不斷發展,gpt-oss系列無疑為更多的開發者提供了探索、創新和實現突破的可能。