如何存取 GPT OSS?完整安裝與最佳化指南

如何存取 GPT OSS?完整安裝與最佳化指南

GPT OSS 是 OpenAI 第一個開源的 GPT 模型系列,旨在讓所有人都能使用先進的語言能力。它提供兩種尺寸:GPT OSS 120B(約 1170 億個參數)與 GPT OSS 20B(210 億個參數)。與先前的 OpenAI 模型不同,GPT OSS 採用寬鬆授權提供開放權重,讓您能夠在自己的硬體上下載並執行模型。

本指南將介紹 GPT OSS 的基本概念、強調其改進與需求,並逐步教您如何在實務中使用它。

快速上手 GPT OSS:初學者指南

gpt oss

GPT OSS 架構

  • 使用稀疏啟動的 MoE 技術,實現高效推論
  • 自迴歸 Transformer + MoE 架構
  • RoPE(旋轉位置編碼)
  • 交替的全域與局部視窗注意力機制,支援長序列
  • o200k_harmony 分詞器,相容於 OpenAI Responses API
  • 直接相容於 OpenAI 模型介面

高度高效且可擴展

  • 透過 MoE(混合專家)稀疏啟動與 Transformer 架構,模型能處理大量參數,同時保持快速且高效的運作。這讓擴充模型規模變得更簡單,無需大幅增加運算資源。

能處理極長上下文

  • 支援最多 128k token、使用 RoPE 位置編碼,以及結合全域與局部注意力機制,模型能比大多數其他模型處理更長的文件或對話。這對長文件或多輪對話特別有用。

易於整合與使用

  • o200k_harmony 分詞器與 OpenAI API 的直接相容性,使得這些模型可作為現有 OpenAI 工作流程中的直接替代品。這降低了開發者採用與部署模型的門檻。

GPT OSS 系統需求

**模型 ** ** 層數 ** ** 總參數 ** ** 每個 Token 的活躍參數 ** ** 專家總數 ** ** 每個 Token 的活躍專家數 ** ** 上下文長度 ** ** 單 GPU VRAM 需求**
gpt-oss-120b 36 117B 5.1B 128 4 128k 80GB
gpt-oss-20b 24 21B 3.6B 32 4 128k 16GB

GPT OSS 訓練

1. 資料品質與涵蓋範圍

  • 規模: 以數兆個 token 從大量文字語料庫進行訓練。
  • 內容重點: 包含專業領域(STEM、程式碼)與一般知識。
  • 安全過濾: 嚴格過濾有害與敏感內容,特別是生物安全。

優點: 結合廣泛的一般知識與技術領域的深度專業,同時保持高資料安全性與可靠性。

2. 訓練流程與運算

  • 運算投入:

    • GPT-OSS-120B:約 210 萬個 H100 GPU 小時(與頂級專有模型相當)
    • GPT-OSS-20B:約為前者的六分之一
  • 架構: 自迴歸 Transformer + MoE

優點: 大量運算確保了最先進的效能與模型穩健性。

3. 訓練後處理與對齊

  • 微調:

    • 監督式指令微調
    • 高運算的強化學習階段
  • 對齊技術:

    • 思維鏈(CoT)強化學習
    • 嚴格遵循安全與道德標準

優點: 實現進階的逐步推理、複雜問題解決,並與安全指南緊密對齊。

4. 靈活性與實用性

  • 推理模式: 支援低、中、高三種推理努力程度,開發者可根據準確度、延遲與成本進行設定。

優點: 針對不同使用情境與運算預算,提供實用的靈活性。

GPT OSS 改進

GPT-OSS 以其強大的工具使用與擴充性脫穎而出

GPT OSS 與 GPT 4 的差異

GPT OSS 與 GPT 4 的差異

GPT-OSS,特別是 120B 模型,在推理、科學知識與程式碼方面展現強大的能力,已相當接近主流大型模型。然而,GPT-4(o4-mini)在所有主要基準測試中仍居領先地位,包括一般推理、科學推理、進階挑戰任務與程式碼生成。GPT-OSS 具有競爭力,適用於要求嚴苛的場景,但 GPT-4 在準確度與通用性方面仍是頂尖表現。

在哪裡可以下載 GPT OSS?

GPT OSS 需求

加速技術與資源使用(GPT-OSS 推論)

加速技術與資源使用

下載 GPT OSS 的方法

方法 優點 硬體 典型用途
Transformers 官方、彈性、社群龐大 所有主要 GPU 本機推論、微調
Llama.cpp 輕量、跨平台、快速 CUDA/Metal/Vulkan 邊緣/消費級/輕量部署
vLLM 高吞吐量、最佳化 偏好 Hopper 推論伺服器、可擴展 API
transformers serve 單指令 API 伺服器 任何裝置 本機 API 原型設計/測試
torchrun/accelerate 多 GPU/分散式推論 多 GPU 大型模型推論/訓練

1. 使用 Transformers

適用於大多數 GPU,特別是 Hopper/Blackwell(H100/H200/GB200/50xx)。

安裝

pip install --upgrade accelerate transformers kernels
# (選擇性)若使用 PyTorch 2.8 搭配 Triton 3.4:
pip install torch==2.8.0 --index-url https://download.pytorch.org/whl/test/cu128
pip install git+https://github.com/triton-lang/triton.git@main#subdirectory=python/triton_kernels

基本推論範例

from transformers import AutoModelForCausalLM, AutoTokenizer

model_id = "openai/gpt-oss-20b"
tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(
    model_id,
    device_map="auto",
    torch_dtype="auto",
)

messages = [{"role": "user", "content": "How many rs are in the word 'strawberry'?"}]
inputs = tokenizer.apply_chat_template(
    messages, add_generation_prompt=True, return_tensors="pt", return_dict=True
).to(model.device)
generated = model.generate(**inputs, max_new_tokens=100)
print(tokenizer.decode(generated[0][inputs["input_ids"].shape[-1]:]))

支援的最佳化

  • mxfp4 + Triton 3.4(適用於 Hopper/Blackwell GPU:最快且記憶體用量最低)
  • Flash Attention 3(適用於 Hopper GPU,使用 attn_implementation="kernels-community/vllm-flash-attn3"
  • MegaBlocks MoE 核心(適用於非 Hopper/Blackwell 的 CUDA 或 AMD,使用 use_kernels=True,記憶體用量高於 mxfp4)

2. Llama.cpp

  • 原生支援 mxfp4 + Flash Attention。
  • 跨平台:Metal、CUDA、Vulkan。
  • 簡易安裝:
    • macOS:brew install llama.cpp
    • Windows:winget install llama.cpp
  • 建議:搭配 llama-server 使用
llama-server -hf ggml-org/gpt-oss-120b-GGUF -c 0 -fa --jinja --reasoning-format none
# 然後在瀏覽器中存取 http://localhost:8080

3. vLLM(最佳化推論引擎)

  • 支援 Flash Attention 3(Sink Attention),在 Hopper GPU 上表現最佳。
  • 在 Python 中使用:
from vllm import LLM llm = LLM("openai/gpt-oss-120b", tensor_parallel_size=2) output = llm.generate("San Francisco is a")

哪裡可以透過 API 執行 GPT OSS?

Novita AI 提供 GPT-OSS 120B
API,具有 **131K 上下文 **,費用為 **$0.1/輸入 ** 與 **$0.5/輸出 **。Novita AI 也提供 GPT-OSS 20B,具有 131K 上下文,費用為 **$0.05/輸入 ** 與 $0.2/輸出,為充分發揮 GPT OSS 的程式碼代理潛力提供強大支援。

Novita AI

步驟 1:登入並存取模型庫

登入您的帳戶,然後點選 模型庫 按鈕。

登入並存取模型庫

立即試用 GPT OSS!

步驟 2:選擇您的模型

瀏覽可用選項,選擇符合需求的模型。

步驟 2:選擇您的模型

步驟 3:開始免費試用

開始免費試用,探索所選模型的功能。

步驟 3:開始免費試用

步驟 4:取得您的 API 金鑰

為了驗證 API,我們會提供您一個新的 API 金鑰。進入「設定」頁面,您可以複製如圖所示的 API 金鑰。

取得 API 金鑰

步驟 5:安裝 API

使用您程式語言的套件管理器安裝 API。

安裝完成後,將必要的函式庫匯入您的開發環境。使用您的 API 金鑰初始化 API,開始與 Novita AI LLM 互動。以下是使用 Python 使用者進行聊天完成 API 的範例。

from openai import OpenAI
  
client = OpenAI(
    base_url="https://api.novita.ai/v3/openai",
    api_key="",
)

model = "openai/gpt-oss-120b"
stream = True # or False
max_tokens = 65536
system_content = ""Be a helpful assistant""
temperature = 1
top_p = 1
min_p = 0
top_k = 50
presence_penalty = 0
frequency_penalty = 0
repetition_penalty = 1
response_format = { "type": "text" }

chat_completion_res = client.chat.completions.create(
    model=model,
    messages=[
        {
            "role": "system",
            "content": system_content,
        },
        {
            "role": "user",
            "content": "Hi there!",
        }
    ],
    stream=stream,
    max_tokens=max_tokens,
    temperature=temperature,
    top_p=top_p,
    presence_penalty=presence_penalty,
    frequency_penalty=frequency_penalty,
    response_format=response_format,
    extra_body={
      "top_k": top_k,
      "repetition_penalty": repetition_penalty,
      "min_p": min_p
    }
  )

if stream:
    for chunk in chat_completion_res:
        print(chunk.choices[0].delta.content or "", end="")
else:
    print(chat_completion_res.choices[0].message.content)
  
  

如何為 GPT-OSS 選擇合適的聊天模板

  1. 一般對話或問答 – 僅向使用者顯示最終結果

情境:
您正在建立一個聊天機器人,只想讓使用者看到最終答案。
例如:「明天上海天氣如何?」或「幫我寫一封請假單。」

建議做法:

  • 僅將 <|channel|>final<|message|> 之後的內容顯示給使用者。
  • 不要 向使用者顯示模型的推理或分析過程。
  1. 除錯或理解模型推理

情境:
您是開發者,想了解模型如何逐步得出答案。
或者您正在進行提示工程,想要檢查模型的思維鏈。

建議做法:

  • <|channel|>analysis<|message|> 的內容列印或記錄下來,供您或開發團隊使用。
  • 在使用者介面中,仍然只顯示最終答案。
  1. 訓練或微調模型

情境:
您正在準備訓練資料,希望模型同時學習推理過程與最終答案。
您希望模型未來能夠自行產生存思維鏈。

建議做法:

  • 在訓練樣本中, 在最後一次助理回覆中包含思維鏈;不要在每一次回覆中都加入推理。
  • 使用結構 {"thinking": "...", "content": "..."},並確保只有最後一則助理訊息包含 thinking 欄位。
  1. 涉及工具呼叫或外部外掛時

情境:
您正在建立一個可以呼叫外部工具(例如查詢天氣或股票價格)的機器人(使用 GPT OSS)。
工具呼叫的流程需要依賴模型的分析才能正確運作。

建議做法:

  • <|channel|>analysis<|message|> 的內容傳遞給您的工具處理或協調模組,用於決策。
  • 使用者仍然只能看到最終答案,但分析過程會在後端使用。
  1. 嚴格的角色、時間或功能控制

情境:
您希望每次對話都包含系統資訊,例如模型身分、日期或推理強度。
例如在部署企業助理或考試機器人時。

建議做法:

  • 在對話開始時,使用 "system""developer" 角色提供上下文,或透過聊天模板參數(如 model_identityreasoning_effort)進行設定。

GPT OSS 採用先進的 MoE(混合專家)架構、支援極長上下文,並與 OpenAI API 完全相容,既易於整合又高效能。無論您是在進行研究、建立聊天機器人,還是開發進階工具與代理,GPT OSS 都為開放、可擴展且安全的大型語言模型樹立了新的標竿。

常見問題

GPT OSS 的主要特色是什麼?

開源與開放權重: 可下載並在自己的硬體上執行。
兩種模型尺寸: 120B(約 117B 參數,80GB VRAM)與 20B(約 21B 參數,16GB VRAM)。
現代架構: 稀疏 MoE、長上下文(最多 128k token)、全域/局部注意力、RoPE。
API 相容性: 可作為 OpenAI API 的直接替代品。

硬體需求是什麼?

GPT OSS 120B: 80GB GPU VRAM(建議使用 H100、H200、GB200)。
GPT OSS 20B: 16GB GPU VRAM。

如何透過 API 存取 GPT OSS?

Novita AI 為 120B 與 20B 兩種模型提供 API 存取,具有寬裕的上下文視窗與實惠的價格。
只需註冊、取得 API 金鑰,然後使用相容於 OpenAI 的端點即可。

Novita AI 是一個 AI 雲端平台,為開發者提供使用簡單 API 部署 AI 模型的簡便方式,同時也提供價格合理且可靠的 GPU 雲端服務,用於建置與擴充模型。

推薦閱讀