海外访问:www.kdjingpai.com
Ctrl + D 收藏本站

gpt-oss-recipes 是由 Hugging Face 维护的一个 GitHub 仓库,专注于提供使用 OpenAI GPT OSS 模型的脚本和 Jupyter Notebook 教程。仓库包含了针对 OpenAI 最新开源模型 gpt-oss-120b 和 gpt-oss-20b 的配置和使用示例。这些模型以强大的推理能力和高效的资源占用著称,适合开发者在生产环境或个人设备上运行。仓库中的代码和文档帮助用户快速上手模型推理、微调和部署,覆盖从环境设置到复杂任务的实现。所有内容基于 Apache 2.0 许可证,允许自由使用和修改。

功能列表

  • 提供 gpt-oss-120b 和 gpt-oss-20b 模型的配置脚本,支持快速切换模型大小。
  • 包含环境设置代码,支持 Python 虚拟环境和依赖安装。
  • 提供推理示例,展示如何使用模型生成文本或执行工具调用。
  • 支持模型微调,包含多语言推理数据集的处理示例。
  • 提供与 Transformers、vLLM 和 Ollama 等框架的集成教程。
  • 支持在不同硬件(H100 GPU、消费级设备)上运行模型的优化配置。

使用帮助

安装流程

要使用 gpt-oss-recipes 仓库中的脚本,首先需要克隆仓库并设置 Python 环境。以下是详细步骤:

  1. 克隆仓库
    打开终端,运行以下命令克隆仓库到本地:

    git clone https://github.com/huggingface/gpt-oss-recipes.git
    cd gpt-oss-recipes
    
  2. 创建虚拟环境
    建议使用 Python 3.11 创建虚拟环境以确保兼容性。推荐使用 uv 工具:

    uv venv gpt-oss --python 3.11
    source gpt-oss/bin/activate
    
  3. 安装依赖
    安装必要的 Python 包,包括 PyTorch 和 Transformers。运行以下命令:

    uv pip install --upgrade pip
    uv pip install torch==2.8.0 torchvision torchaudio --index-url https://download.pytorch.org/whl/test/cu128
    uv pip install -U transformers accelerate
    
  4. 安装 Triton 内核(可选)
    如果硬件支持 MXFP4 量化(如 H100 或 RTX 50xx),可安装 Triton 内核以优化性能:

    uv pip install git+https://github.com/triton-lang/triton.git@main#subdirectory=python/triton_kernels
    

配置模型

仓库提供两个模型:gpt-oss-120b(117B 参数,适合高性能 GPU)和 gpt-oss-20b(21B 参数,适合消费级硬件)。在脚本中修改 model_path 变量选择模型。例如:

model_path = "openai/gpt-oss-20b"  # 选择 20B 模型
# model_path = "openai/gpt-oss-120b"  # 选择 120B 模型

脚本会根据模型大小自动配置设备映射和优化设置。

运行推理

仓库包含简单的推理示例,用于生成文本或执行特定任务。以下是一个使用 gpt-oss-20b 模型生成文本的示例:

  1. 打开 inference.py 文件(或类似脚本)。
  2. 确保已加载模型和分词器:
    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")
    
  3. 输入提示并生成结果:
    messages = [{"role": "user", "content": "如何用 Python 写一个排序算法?"}]
    inputs = tokenizer.apply_chat_template(messages, add_generation_prompt=True, return_tensors="pt").to(model.device)
    generated = model.generate(**inputs, max_new_tokens=200)
    print(tokenizer.decode(generated[0]))
    
  4. 运行脚本,模型会返回排序算法的 Python 代码示例。

调整推理参数

可以通过系统提示调整推理的详细程度。例如,设置高推理级别:

messages = [
{"role": "system", "content": "Reasoning: high"},
{"role": "user", "content": "解释量子计算的基本原理"}
]

高推理级别会生成更详细的推理过程,适合复杂问题。

微调模型

仓库提供微调示例,基于 Hugging Face 的 TRL 库和 LoRA 技术。以下是微调 gpt-oss-20b 的步骤:

  1. 下载多语言推理数据集:
    from datasets import load_dataset
    dataset = load_dataset("HuggingFaceH4/Multilingual-Thinking", split="train")
    
  2. 配置 LoRA 参数并加载模型:
    from transformers import AutoModelForCausalLM
    from peft import PeftModel, LoraConfig
    model_name = "openai/gpt-oss-20b"
    lora_config = LoraConfig(r=8, lora_alpha=32, target_modules=["q_proj", "v_proj"])
    model = AutoModelForCausalLM.from_pretrained(model_name, device_map="auto")
    model = PeftModel(model, lora_config)
    
  3. 使用 TRL 库进行微调(参考仓库中的 finetune.ipynb)。
  4. 保存微调后的模型,用于特定任务如多语言推理。

使用 vLLM 或 Ollama

如果需要快速部署,仓库支持 vLLM 和 Ollama:

  • vLLM:启动 OpenAI 兼容的服务器:
    uv pip install --pre vllm==0.10.1+gptoss --extra-index-url https://wheels.vllm.ai/gpt-oss/
    vllm serve openai/gpt-oss-20b
    
  • Ollama:在消费级硬件上运行:
    ollama pull gpt-oss:20b
    ollama run gpt-oss:20b
    

特色功能操作

  • 工具调用:模型支持函数调用和 Web 搜索。例如,调用天气函数:
    tools = [{"type": "function", "function": {"name": "get_current_weather", "description": "获取指定地点的天气", "parameters": {"type": "object", "properties": {"location": {"type": "string"}}}}}]
    messages = [{"role": "user", "content": "巴黎的天气如何?"}]
    response = client.chat.completions.create(model="openai/gpt-oss-120b:cerebras", messages=messages, tools=tools)
    
  • 多语言推理:通过微调,模型可生成英语、西班牙语、法语等语言的推理过程。用户可指定推理语言,例如:
    messages = [{"role": "system", "content": "Reasoning language: Spanish"}, {"role": "user", "content": "¿Cuál es la capital de Australia?"}]
    

应用场景

  1. AI 开发实验
    开发者可使用仓库中的脚本测试 GPT OSS 模型在不同任务中的表现,如文本生成、代码生成或问答系统。适合快速原型开发。
  2. 本地模型部署
    企业或个人可在本地设备上部署 gpt-oss-20b,用于隐私敏感的场景,如内部文档处理或客户支持。
  3. 教育与研究
    研究人员可利用微调教程,基于特定数据集(如多语言推理)优化模型,探索大模型在学术领域的应用。
  4. 生产环境集成
    仓库支持通过 vLLM 部署 API 服务器,适合将模型集成到生产环境中,如聊天机器人或自动化工作流。

QA

  1. 仓库支持哪些模型?
    仓库支持 gpt-oss-120b(117B 参数)和 gpt-oss-20b(21B 参数),分别适合高性能 GPU 和消费级硬件。
  2. 如何选择适合的模型?
    如果有 H100 GPU,推荐使用 gpt-oss-120b;如果使用普通设备(16GB 内存),选择 gpt-oss-20b
  3. 需要哪些硬件?
    gpt-oss-20b 需要 16GB 内存,gpt-oss-120b 需要 80GB GPU(如 H100)。MXFP4 量化可降低资源需求。
  4. 如何处理模型推理中的错误?
    确保使用 harmony 格式处理输入输出。检查硬件兼容性并更新依赖项,如 PyTorch 和 Triton 内核。
0已收藏
0已赞

相关推荐

找不到AI工具?在这试试!

输入关键词,即可 无障碍访问 必应 搜索,快速找到本站所有 AI 工具。

回顶部

zh_CN简体中文