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