openai/gpt-oss

gpt-oss-120b and gpt-oss-20b are two open-weight language models by OpenAI

gpt‑oss – OpenAI 發布的開源權重 LLM

是什麼 – 提供執行 OpenAI 新發布的開源權重語言模型 gpt‑oss‑120b(約 117 B 參數,5.1 B 活躍)與 gpt‑oss‑20b(約 21 B 參數,3.6 B 活躍)之參考程式碼的倉儲。這些模型專為高階推理、工具使用(瀏覽器、Python)與代理任務設計。該倉儲不包含模型權重本身;權重托管於 Hugging Face,可透過 HF CLI 下載。

核心理念

  • Harmony 回應格式 – 模型訓練所用的結構化聊天架構。所有推論程式碼均假設提示與輸出遵循此格式;否則模型行為將不正確。
  • MXFP4 量化 – 訓練後量化技術,壓縮 MoE 權重,使 120 B 模型可放入單張 80 GB GPU(如 H100、MI300X)中,20 B 模型可在約 16 GB 內運行。
  • Apache‑2.0 授權 – 寬鬆授權,允許商業使用與修改,無傳染性 copyleft 限制。

亮點(來自 README)

特性 含義
可配置推理努力 推論時可選擇低/中/高努力等級,以延遲換取推理深度。
完整思考鏈 模型返回其內部推理步驟(非面向終端使用者),有助於除錯與建立信任。
可微調 可透過標準 PyTorch 流水線在自訂資料上進一步微調權重。
代理能力 原生支援函數呼叫、網頁瀏覽、Python 執行與結構化輸出,均透過 Harmony 格式表達。
量化(MXFP4) 使 120 B 模型可在單張 80 GB GPU 上運行,20 B 模型可在 16 GB 上運行,評估品質與全精度檢查點相同。
多種後端 提供 PyTorch(教學用)、Triton(單 GPU 優化)、Metal(Apple Silicon)的參考實作,以及 vLLM、Transformers、Ollama 與 LM Studio 的即用型包裝器。

如何取得模型

# 120 B
hf download openai/gpt-oss-120b --include "original/*" --local-dir gpt-oss-120b/
# 20 B
hf download openai/gpt-oss-20b --include "original/*" --local-dir gpt-oss-20b/

權重以 SafeTensors 格式儲存在 Hugging Face Hub 上。Apple Silicon 使用者亦可下載預轉換的 Metal 二進位檔。


使用 🤗 Transformers 快速推論

from transformers import pipeline
model_id = "openai/gpt-oss-120b"
pipe = pipeline(
    "text-generation",
    model=model_id,
    torch_dtype="auto",
    device_map="auto",
)
messages = [{"role": "user", "content": "清晰簡潔地解釋量子力學。"}]
out = pipe(messages, max_new_tokens=256)
print(out[0]["generated_text"][-1])

該管道會自動套用 Harmony 聊天範本;若直接呼叫 model.generate,必須自行格式化提示,或使用 openai‑harmony 套件。


執行參考後端

後端 安裝方式 典型硬體
PyTorch(參考) pip install -e "[torch]" 4× H100(低效,教學用)
Triton(單 GPU) 從原始碼建置 Triton,然後 pip install -e "[triton]" 1× 80 GB GPU(H100/MI300X)
Metal(Apple Silicon) GPTOSS_BUILD_METAL=1 pip install -e "[metal]" Apple M-系列晶片
vLLM uv pip install --pre vllm==0.10.1+gptoss … vLLM 支援的任意 GPU
Ollama ollama pull gpt-oss:20b(或 :120b 透過 Ollama 執行時支援的消費級 CPU/GPU
LM Studio lms get openai/gpt-oss-20b 與 Ollama 相同

每個實作均附帶一個小型 CLI(python -m gpt_oss.generate …)與一個 終端聊天 範例,示範工具使用(瀏覽器、Python)與 Harmony 格式。


倉儲附帶的工具

  • 瀏覽器工具 – 模型訓練期間使用的最小網頁搜尋/頁面擷取介面。提供兩個後端(YouComBackendExaBackend)。程式碼故意保持簡單,並標註為 僅供教學;生產系統應以安全、沙箱化的瀏覽器服務取代。
  • Python 工具 – 無狀態執行器,用於執行任意 Python 片段。同樣僅供研究示範;沙箱化由使用者負責。

兩個工具均暴露一個小型基於 JSON 的協定,模型可透過 Harmony 消息呼叫。


客戶端範例

  • 終端聊天gpt_oss.chat) – 互動式 REPL,可切換推理努力程度,啟用瀏覽器或 Python 工具,並選擇推理後端。
  • 回應 API 伺服器gpt_oss.responses_api.serve) – 模擬 OpenAI 的 Responses API 的輕量級伺服器,適用於與現有聊天完成前端整合。
  • Codex 整合 – 一個極小的設定片段,展示如何將開源 Codex 客戶端指向本地運行的 gpt‑oss 端點(例如透過 Ollama)。

授權與貢獻

  • 授權:Apache 2.0 – 免費用於商業與研究用途,無病毒式 copyleft。
  • 貢獻:倉儲遵循 OpenAI 一般的開源貢獻模式(拉取請求、程式碼風格檢查)。參考實作故意未優化;歡迎提升效能或新增生產級工具的貢獻。

何時使用此倉儲

  • 研究與原型開發 – 你需要一個可檢視、微調或嵌入自訂代理的先進開源權重 LLM。
  • 工具增強代理 – 內建瀏覽器與 Python 工具可讓你實驗檢索增強生成或程式碼執行迴圈。
  • 效能探索 – Triton 與 Metal 後端展示了 MXFP4 量化如何將 120 B MoE 模型縮小至單一 GPU 運行。
  • 學習 – PyTorch 參考程式碼故意簡單,是學習 MoE 架構與令牌級推論流程的良好教學資源。

結論openai/gpt-oss 是一個真正的、面向生產的開源權重 LLM 項目。它提供模型、結構化聊天格式(Harmony)、多個硬體架構的參考推論程式碼,以及示例客戶端,共同使你無需任何專有 OpenAI API 即可執行、微調並建構 120 B 與 20 B 模型的代理應用。

相關

  • Dispatch
  • Dispatch
  • Dispatch
  • 專案
  • Dispatch