LLMs之GPT:gpt-oss-120b/gpt-oss-20b的简介、安装和使用方法、案例应用之详细攻略

LLMs之GPT:gpt-oss-120b/gpt-oss-20b的简介、安装和使用方法、案例应用之详细攻略

目录

gpt-oss的简介

1、gpt-oss的特点

gpt-oss的安装和使用方法

1、安装

2、使用方法

[T1、使用 Transformers 进行推理](#T1、使用 Transformers 进行推理)

[T2、使用 vLLM 进行推理](#T2、使用 vLLM 进行推理)

[T3、使用 Ollama 进行推理](#T3、使用 Ollama 进行推理)

[T4、使用 LM Studio 进行推理](#T4、使用 LM Studio 进行推理)

[T5、参考 PyTorch 实现](#T5、参考 PyTorch 实现)

[T6、参考 Triton 实现 (单 GPU)](#T6、参考 Triton 实现 (单 GPU))

[T7、参考 Metal 实现](#T7、参考 Metal 实现)

3、终端聊天

[T1、Responses API](#T1、Responses API)

4、工具 (Tools)

[4.1、 Browser](#4.1、 Browser)

[4.2、 Python](#4.2、 Python)

5、其他细节

gpt-oss的案例应用


gpt-oss 简介

2025年8月6日,OpenAI重新回归开源节奏,gpt-oss-120b 和 gpt-oss-20b 是 OpenAI 发布的两个开放权重(open-weight)的语言模型。

  • gpt-oss-120b:适用于生产环境、通用目的和高推理使用场景,可以放入单个 H100 GPU 中运行(具有 1170 亿参数,其中 51 亿为活跃参数)。
  • gpt-oss-20b:适用于低延迟、本地或专用使用场景(具有 210 亿参数,其中 36 亿为活跃参数)。

这两个模型都使用 OpenAI 的 harmony 响应格式进行训练,因此必须使用此格式,否则无法正常工作。

官网地址https://openai.com/index/introducing-gpt-oss/

GitHub地址https://github.com/openai/gpt-oss

1、 特点

>> ****Apache 2.0 许可证:****允许自由构建,没有 copyleft 限制或专利风险,适合实验、定制和商业部署。

>> 可配置的推理强度:可以根据具体的使用场景和延迟需求轻松调整推理强度(低、中、高)。

>> 完整的思维链(Chain-of-Thought):提供对模型推理过程的完全访问,方便调试并提高对输出的信任度。此信息不应向最终用户展示。

>> 可微调(Fine-tunable):可以通过参数微调完全定制模型,以适应特定的使用场景。

>> ****具备 Agent 能力:****模型原生支持函数调用、网页浏览、Python 代码执行和结构化输出等 Agent 任务。

>> 原生 MXFP4 量化:模型在 MoE 层使用原生 MXFP4 精度进行训练,使 gpt-oss-120b 能够在单个 H100 GPU 上运行,gpt-oss-20b 能够在 16GB 内存中运行。

gpt-oss 的安装和使用方法

1、 安装

依赖要求

Python 3.12

macOS:安装 Xcode CLI 工具 (xcode-select --install)

Linux:需要 CUDA

Windows:未在 Windows 上测试,建议使用 Ollama 等解决方案。

安装步骤

直接从 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]"

下载模型

从 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/

2、 使用方法

该项目提供了多种参考实现,包括:

Inference (推理):

torch: 一个非优化的 PyTorch 实现,仅用于教育目的。因为它没有优化,所以需要至少 4 个 H100。

triton: 一个更优化的实现,使用 PyTorch 和 Triton,包括 CUDA graphs 和基本缓存。

metal: 一个 Metal 专门的实现,用于在 Apple Silicon 硬件上运行模型。

Tools (工具):

browser: 模型训练时使用的浏览器工具的参考实现。

python: 模型训练时使用的 Python 工具的无状态参考实现。

Client examples (客户端例子):

chat: 一个基本的终端聊天应用,使用 PyTorch 或 Triton 实现进行推理,并结合 Python 和浏览器工具。

responses_api: 一个兼容 Responses API 的服务器示例,实现了浏览器工具和其他 Responses 兼容的功能。

T1、 使用 Transformers 进行推理

python 复制代码
from transformers import pipeline
import torch



model_id = "openai/gpt-oss-120b"
pipe = pipeline(
    "text-generation",
    model=model_id,
    torch_dtype="auto",
    device_map="auto",
)

messages = [
    {"role": "user", "content": "Explain quantum mechanics clearly and concisely."},
]

outputs = pipe(
    messages,
    max_new_tokens=256,
)
print(outputs[0]["generated_text"][-1])

如果使用 Transformers 的 chat template,它会自动应用 harmony 响应格式。如果直接使用 model.generate,需要手动应用 harmony 格式,或者使用 openai-harmony 包。

T2、 使用 vLLM 进行推理

vLLM 建议使用 uv 进行 Python 依赖管理。可以使用 vLLM 启动一个 OpenAI 兼容的 webserver。

python 复制代码
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

T3、 使用 Ollama 进行推理

如果想在消费级硬件上运行 gpt-oss,可以使用 Ollama:

python 复制代码
# 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

T4、 使用 LM Studio 进行推理

python 复制代码
# gpt-oss-20b
lms get openai/gpt-oss-20b

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

T5、 参考 PyTorch 实现

项目包含一个效率较低的参考 PyTorch 实现 (gpt_oss/torch/model.py)。此代码使用基本的 PyTorch 运算符来展示确切的模型架构,并添加了对 MoE 中张量并行性的支持,以便更大的模型可以使用此代码运行(例如,在 4 个 H100 或 2 个 H200 上)。在此实现中,所有权重都转换为 BF16,并在 BF16 中运行模型。

python 复制代码
pip install -e .[torch]
torchrun --nproc-per-node=4 -m gpt_oss.generate gpt-oss-120b/original/

T6、 参考 Triton 实现 (单 GPU)

项目还包含一个优化的参考实现,该实现使用支持 MXFP4 的优化 triton MoE 内核。它还在 attention 代码上进行了一些优化,以降低内存成本。要运行此实现,需要安装 nightly 版本的 triton 和 torch。此版本可以在单个 80GB GPU 上运行 gpt-oss-120b。

python 复制代码
# 需要从源代码安装 triton 才能使用 triton 实现
git clone https://github.com/triton-lang/triton
cd triton/
pip install -r python/requirements.txt
pip install -e . --verbose --no-build-isolation

# 安装 gpt-oss triton 实现
pip install -e .[triton]
export PYTORCH_CUDA_ALLOC_CONF=expandable_segments:True
python -m gpt_oss.generate --backend triton gpt-oss-120b/original/

T7、 参考 Metal 实现

项目还提供了一个 Metal 参考实现,用于在 Apple Silicon 上运行。此实现尚未准备好用于生产环境,但与 PyTorch 实现一致。

python 复制代码
pip install -e .[metal]
python gpt_oss/metal/scripts/create-local-model.py -s <model_dir> -d <output_file>

# 或者下载预转换的权重:
huggingface-cli download openai/gpt-oss-120b --include "metal/*" --local-dir gpt-oss-120b/metal/
huggingface-cli download openai/gpt-oss-20b --include "metal/*" --local-dir gpt-oss-20b/metal/

python gpt_oss/metal/examples/generate.py gpt-oss-20b/metal/model.bin -p "why did the chicken cross the road?"

3、 终端聊天

终端聊天应用程序是一个基本的示例,展示了如何将 harmony 格式与 PyTorch、Triton 和 vLLM 实现一起使用。它还公开了 python 和 browser 工具作为可选工具。

python 复制代码
python -m gpt_oss.chat [-h] [-r REASONING_EFFORT] [-a] [-b] [--show-browser-results] [-p] [--developer-message DEVELOPER_MESSAGE] [-c CONTEXT] [--raw] [--backend {triton,torch,vllm}] FILE

T1、 Responses API

项目包含一个 Responses API 服务器示例。此服务器没有实现 Responses API 的所有特性和事件,但应与大多数基本使用场景兼容,并可以为构建自己的服务器提供灵感。

python 复制代码
python -m gpt_oss.responses_api.serve [-h] [--checkpoint FILE] [--port PORT] [--inference-backend BACKEND]

Codex

支持 codex 作为 gpt-oss 的客户端。要运行 20b 版本,请将以下内容设置为 ~/.codex/config.toml:

python 复制代码
disable_response_storage = true
show_reasoning_content = true


[model_providers.local]
name = "local"
base_url = "http://localhost:11434/v1"


[profiles.oss]
model = "gpt-oss:20b"
model_provider = "local"

4、 工具 (Tools)

4.1、 Browser

browser 工具允许模型浏览网页。它暴露了三个方法:

search: 搜索关键词

open: 打开特定页面

find: 在页面上查找内容

使用方法

要启用 browser 工具,需要将定义放入 harmony 格式化提示的 system 消息中。

4.2、 Python

该模型经过训练,可以使用 python 工具来执行计算和其他操作。

使用方法

要启用 python 工具,需要将定义放入 harmony 格式化提示的 system 消息中。

5、 其他细节

精度格式:MoE 层的线性投影权重使用原生量化支持 MXFP4。其他张量将采用 BF16 格式。

推荐的采样参数:temperature=1.0 和 top_p=1.0。

gpt-oss 案例应用

案例应用主要体现在上述的使用方法中,例如:

使用 Transformers 生成文本

使用 vLLM 搭建 OpenAI 兼容的 Webserver

使用 Ollama 在本地运行模型

使用 Browser 工具进行网页浏览

使用 Python 工具执行计算

相关推荐
数字游名Tomda6 小时前
OpenAI推出开源GPT-oss-120b与GPT-oss-20b突破性大模型,支持商用与灵活部署!
人工智能·经验分享·gpt
AI_gurubar7 小时前
OpenAI 开源 GPT-OSS:大型语言模型的开放时代正式来临!
gpt·语言模型·开源
GPUStack13 小时前
忘掉Ollama! 将GPT OSS私有部署推理性能提升100倍的部署教程
gpt·openai
win4r14 小时前
🚀Cursor CLI+GPT-5保姆级教程+编程能力测评!Cursor CLI零成本免费使用GPT-5!Claude Code的劲敌来了!从安装到实战演示
gpt·aigc·openai
Ailerx17 小时前
OpenAI隆重推出开源大模型:GPT-OSS
gpt·语言模型·开源·大模型·github·开源协议
量子位17 小时前
GPT-5来了!人人都能免费用,最强大模型只需最傻瓜式使用
gpt·ai编程
Leinwin18 小时前
OpenAI 开源模型 gpt-oss 正式上线微软 Foundry 平台
gpt·microsoft·开源
小虚竹20 小时前
OpenAI深夜开源2个推理模型gpt-oss,o4-mini水平,国内直接使用,笔记本/手机就能跑
gpt·gpt-oss
玄明Hanko1 天前
GPT-5要来了,期待明晚的发布
人工智能·gpt