如何访问 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 显存需求**
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 # 或 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)进行设置。

凭借先进的 MoE(混合专家)架构、对极长上下文支持以及与 OpenAI API 的无缝兼容性,GPT OSS 既易于集成又性能卓越。无论你是进行研究、构建聊天机器人,还是开发高级工具和代理,GPT OSS 都为开放、可扩展且安全的大语言模型树立了新标准。

常见问题

GPT OSS 的主要特点是什么?

开源与开放权重: 可在自己的硬件上下载和运行。
两种模型尺寸: 120B(约 1170 亿参数,80GB 显存)和 20B(约 210 亿参数,16GB 显存)。
现代架构: 稀疏 MoE、长上下文(高达 128k token)、全局/局部注意力、RoPE。
API 兼容性: 可作为 OpenAI API 的直接替代品。

硬件要求是什么?

GPT OSS 120B: 80GB GPU 显存(推荐 H100、H200、GB200)。
GPT OSS 20B: 16GB GPU 显存。

如何通过 API 访问 GPT OSS?

Novita AI 为 120B 和 20B 模型提供 API 访问,具有充足的上下文窗口和实惠的价格。
只需注册、获取你的 API 密钥,并使用兼容 OpenAI 的端点即可。

Novita AI 是一个 AI 云平台,为开发者提供简单 API 轻松部署 AI 模型的方式,同时还提供经济实惠且可靠的 GPU 云用于构建和扩展。

推荐阅读