OpenAI 正式开源!(转)

就在今天,OpenAI 正式开源了!可以自由在本地直接部署,没有版权或专利风险。本文转载自 openai/gpt-oss 仓库 README,仅作学习记录与摘要。


一、模型简介

OpenAI 正式开源的 gpt-oss 系列模型,包含两种规格:

  • gpt-oss-120b:117B 参数(5.1B 激活参数),支持高推理精度,适用于单块 H100 GPU 的生产级通用场景。

  • gpt-oss-20b:21B 参数(3.6B 激活参数),更低延迟,适合本地或专业场景。

两款模型均采用 Harmony 响应格式 进行推理,需保持该格式方可正常使用。

二、核心亮点

  • Apache 2.0 许可:宽松的开源协议,无 copyleft 限制或专利风险,适合实验、定制和商用。

  • 可调推理强度:根据场景需求,灵活设置低、中、高推理强度与延迟平衡。

  • 全链路思考(Chain-of-Thought):开放内部推理过程,便于调试与审计。

  • 可微调:支持参数微调,满足个性化应用需求。

  • 原生 Agent 能力:内置函数调用、浏览器Python 计算及结构化输出。

  • MXFP4 原生量化:MoE 层采用原生 FP4 量化,gpt-oss-120b 可运行在单块 H100,gpt-oss-20b 可在 16GB 显存中本地部署。

三、快速上手

3.1 环境与依赖

  • Python 3.12

  • macOS:Xcode CLI 工具 xcode-select --install

  • Linux:CUDA 驱动

  • Windows:未充分测试,推荐使用 Ollama 等本地推理方案。

3.2 下载模型

通过 Hugging Face Hub 直接下载:

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

3.3 安装方式

  • PyPI 安装

    # 仅工具
    pip install gpt-oss
    # Torch 实现
    pip install gpt-oss[torch]
    # Triton 实现
    pip install gpt-oss[triton]
  • 源码安装(含 Metal 支持)

    git clone https://github.com/openai/gpt-oss.git
    GPTOSS_BUILD_METAL=1 pip install -e .[metal]

四、推理示例

4.1 Transformers

from transformers import pipeline
pipe = pipeline(
  "text-generation",
  model="openai/gpt-oss-120b",
  torch_dtype="auto",
  device_map="auto",
)
messages = [{"role": "user", "content": "请简要解释量子力学。"}]
outputs = pipe(messages, max_new_tokens=256)
print(outputs[0]["generated_text"])

4.2 vLLM

推荐使用 uv 管理依赖,一键部署 OpenAI 兼容服务:

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

vllm serve openai/gpt-oss-20b

4.3 Ollama

# gpt-oss-20b
ollama pull gpt-oss:20b
ollama run gpt-oss:20b
# gpt-oss-120b
ollama pull gpt-oss:120b
ollama run gpt-oss:120b

4.4 LM Studio

# gpt-oss-20b
lms get openai/gpt-oss-20b
# gpt-oss-120b
lms get openai/gpt-oss-120b

五、仓库结构与内容

  • Inference:参考实现(Torch、Triton、Metal),教育示例,非生产级。

  • Toolsbrowser(浏览器工具)、python(Python 计算工具)。

  • Client Examples:终端聊天、Responses API、Codex 兼容示例。

六、工具支持

6.1 浏览器工具(Browser)

  • 功能:支持搜索、打开页面、查找内容,用于模型训练的浏览能力示例。

  • 使用:将工具定义注入系统消息,调用 with_browser()with_tools() 启用。

  • 注意:仅供演示,生产环境需自定义实现。

6.2 Python 工具

  • 功能:在推理过程中执行代码、计算结果。

  • 使用:注入系统消息,调用 with_python()with_tools()

  • 安全:示例使用宽松 Docker 容器,生产时需加强隔离。

七、其他细节

7.1 原始实现参考

  • PyTorch:gpt_oss/torch/model.py,展示模型架构与 MoE 并行。

  • Triton:优化 MoE 内核,支持单卡 80GB GPU。

  • Metal:Apple Silicon 教育示例,需先将 SafeTensor 转换。

7.2 量化格式

MoE 层采用 [MXFP4] 原生量化:

  • tensor.blocks 存储 FP4 值,打包为 uint8。

  • tensor.scales 存储区块缩放因子。 其余权重为 BF16,推荐激活精度 BF16。

7.3 采样参数

  • temperature=1.0

  • top_p=1.0

八、贡献指南

本仓库主要提供参考实现,除修复 Bug 外不计划新增功能。如有基于该代码的工具或示例,欢迎提交到 awesome-gpt-oss.md

  • 微信
  • 赶快加我聊天吧
  • QQ
  • 赶快加我聊天吧
  • weinxin
三桂

发表评论 取消回复 您未登录,登录后才能评论,前往登录

    • avatar zwen

      Good Sangui, I'm wating you update the blog too long time.

        • avatar 三桂 博主
          回复 2025年08月19日 13:35:49   1层

          @ zwen Long time no see,I have rest couple days.