《GPT-OSS 模型全解析:OpenAI 回歸開源的 Mixture-of-Experts 之路》

目錄

一、引言

二、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系列無疑為更多的開發者提供了探索、創新和實現突破的可能。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/93948.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/93948.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/93948.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【力扣熱題100】雙指針—— 接雨水

題目 給定 n 個非負整數表示每個寬度為 1 的柱子的高度圖,計算按此排列的柱子,下雨之后能接多少雨水。 注意:答案中不可以包含重復的三元組。輸入:height [0,1,0,2,1,0,1,3,2,1,2,1] 輸出:6 解釋:上面是由…

51單片機拼接板(開發板積木)

一、前言 1.1 背景 讀書那會兒(2013年左右)網上接了很多51單片機的設計。 當時有個痛點: 每張板子都是定制的,畫板子,打樣,寫代碼需要花費很多時間。 希望有一張板子,能夠實現絕大多數單片機的功能&#xf…

使用segment-anything將目標檢測label轉換為語義分割label

使用segment-anything將目標檢測label轉換為語義分割label一、segment-anything簡介二、segment-anything安裝2.1安裝方法2.2預訓練模型下載三、將目標檢測label轉換為語義分割label3.1示例代碼3.2代碼說明一、segment-anything簡介 segment-anything是facebookresearch團隊開…

【unitrix數間混合計算】3.3 無符號整數標記trait(bin_unsigned.rs)

一、源碼 這段代碼是用 Rust 語言實現的一個類型級無符號二進制整數系統,通過類型系統在編譯時表示和操作二進制數字。這是一種典型的"類型級編程"(type-level programming)技術。 use crate::number::{U0, Bin, Bit, BinInt};/// …

Python基本語法總結

1.類(Class)在Python中類(Class)是面向對象編程(OOP)的核心概念。1.1.類的基本定義最簡單的類class Cat:"""這是一個最簡單的類"""pass #創建實例 obj Cat()包含方法的類cl…

數據結構05(Java)-- ( 歸并排序實質,歸并排序擴展問題:小和問題)

前言 本文為本小白🤯學習數據結構的筆記,將以算法題為導向,向大家更清晰的介紹數據結構相關知識(算法題都出自🙌B站馬士兵教育——左老師的課程,講的很好,對于想入門刷題的人很有幫助&#x1f4…

稅務專業人員能力構建與發展路徑指南

CDA數據分析師證書含金量高,適應了未來數字化經濟和AI發展趨勢,難度不高,行業認可度高,對于找工作很有幫助。一、稅務專業人員的核心能力框架能力維度關鍵技能要素專業工具與方法論實踐輸出成果稅務法規應用稅種政策解讀、法規更新…

Linux中rsync使用與inotify實時同步配置指南

Linux中rsync使用與inotify實時同步配置指南 一、rsync 簡介 rsync(Remote Sync)是 Linux 系統下的一款高效數據鏡像和備份工具,用于在本地或遠程同步文件和目錄。 支持本地復制、基于 SSH 的遠程同步,以及使用自有 rsync 協議的同…

Unicode 字符串轉 UTF-8 編碼算法剖析

📊 Unicode 字符串轉 UTF-8 編碼算法剖析 ——從 C# char 到 C wchar_t 的編碼轉換原理 引用:UTF-8 編解碼可視化分析 🔍 1. 算法功能概述 該函數將 Unicode 字符串(C# string)轉換為 UTF-8 編碼的字節數組&#xf…

php的安全性到底怎么樣

PHP作為一種流行的服務器端腳本語言,被廣泛應用于Web開發。然而,由于PHP是一種較為靈活的語言,其安全性議題一直備受爭議。在這篇文章中,我將從多個方面來討論PHP的安全性,包括常見的安全漏洞、防范措施以及最佳實踐。…

mapbox高階,結合threejs(threebox)添加建筑glb模型,添加陰影效果,設置陰影顏色和透明度

????? 主頁: gis分享者 ????? 感謝各位大佬 點贊?? 收藏? 留言?? 加關注?! ????? 收錄于專欄:mapbox 從入門到精通 文章目錄 一、??前言 1.1 ??mapboxgl.Map 地圖對象 1.2 ??mapboxgl.Map style屬性 1.3 ??threebox loadObj加載模型 二、??…

SSM從入門到實戰:1.6 Spring數據訪問與JDBC模板

👋 大家好,我是 阿問學長!專注于分享優質開源項目解析、畢業設計項目指導支持、幼小初高的教輔資料推薦等,歡迎關注交流!🚀 06-Spring數據訪問與JDBC模板 📖 本文概述 本文是SSM框架系列Spri…

下一代IT服務管理:ITIL5會是什么樣?

ITIL4發布到現在也就5年多時間,按照以往的更新節奏,ITIL5最早也得2027年之后。但現在IT發展的速度,跟以前完全不是一個量級。AI都快把我們的飯碗搶了(開個玩笑),ITIL要是還按部就班,估計真要被時…

最新研究進展:2023-2025年神經機器翻譯突破性成果

文章目錄 一、模型架構創新 1.1 混合架構的崛起 1.2 多模態翻譯的突破 1.3 大語言模型與NMT的深度融合(2023-2024) 1.4 非自回歸翻譯(NAT)的效率革命(2024) 二、數據與訓練策略優化 2.1 低資源語言翻譯的飛躍 2.2 動態數據增強技術 三、效率與部署 3.1 模型壓縮與加速 3.…

OpenTelemetry WebSocket 監控終極方案:打通最后一公里

概述 OpenTelemetry,以下簡稱 OTEL,是由 CNCF 托管的“一站式可觀測性標準”,把指標、鏈路、日志三大信號統一為單一 SDK/API,零侵入地采集從瀏覽器、移動端到后端、容器、云服務的全棧遙測數據,并支持 40 后端一鍵導…

VS Code 出現的 Web 視圖加載錯誤和服務工作者注冊失敗問題解決方案

針對 VS Code 或 Cursor (vscode系)中出現的 Web 視圖加載錯誤和服務工作者注冊失敗問題,以下是永久性解決方案的完整操作指南:解決方案步驟打開命令面板 使用快捷鍵 CtrlShiftP(Windows/Linux)或 CmdShift…

【qml-4】qml與c++交互(類型多例)

背景: 【qml-1】qml與c交互第一次嘗試(實例注入) 【qml-2】嘗試一個有模式的qml彈窗 【qml-3】qml與c交互第二次嘗試(類型注冊) 【qml-4】qml與c交互(類型多例) 【qml-5】qml與c交互&#…

圖數據庫如何構筑 Web3 風控防線 聚焦批量注冊與鏈上盜轉 悅數圖數據庫

隨著 Web3 生態的不斷演進,鏈上風險呈現出團伙化、隱蔽化和動態化的趨勢,傳統的單點風控手段已難以應對復雜多變的攻擊模式。尤其在批量注冊薅羊毛與鏈上交易盜轉洗錢等高頻風險場景中,攻擊者往往通過偽造身份、跨鏈操作、多層嵌套轉賬等方式…

恒流源電路學習

恒流源的設計原理: 如圖所示你可以看到右邊的的推到公式得到紅點處的電壓是一個和左邊相關的定值,所以呢右邊的電流就是電壓除以那個4Ω,所以得到右邊的電路的電流大體是一個定值,不管你再加什么東西都可以保持這個電流&#xff…

基于生成對抗網絡的模糊圖像恢復原理與技術實現

1. 引言圖像模糊是數字圖像處理中的常見問題,其成因包括相機抖動、物體運動、聚焦不良等。傳統方法如維納濾波、Lucy-Richardson 算法等依賴于模糊核估計和逆濾波,在復雜場景下性能有限。生成對抗網絡(Generative Adversarial Networks, GAN&…