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 进行推理

T2、使用 vLLM 进行推理

T3、使用 Ollama 进行推理

T4、使用 LM Studio 进行推理

T5、参考 PyTorch 实现

T6、参考 Triton 实现 (单 GPU)

T7、参考 Metal 实现

3、终端聊天

T1、Responses API

4、工具 (Tools)

4.1、 Browser

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 进行推理

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。

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:

# 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 进行推理

# 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 中运行模型。

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。

# 需要从源代码安装 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 实现一致。

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 -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 -m gpt_oss.responses_api.serve [-h] [--checkpoint FILE] [--port PORT] [--inference-backend BACKEND]

Codex

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

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 工具执行计算

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一个处女座的程序猿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值