gpt-oss-recipes
é um repositório do GitHub mantido pela Hugging Face que se concentra em fornecer scripts e tutoriais do Jupyter Notebook para usar os modelos OpenAI GPT OSS. O repositório contém os modelos de código aberto mais recentes para o OpenAI gpt-oss-120b
responder cantando gpt-oss-20b
configuração e exemplos de uso. Conhecidos por seus poderosos recursos de raciocínio e pelo uso eficiente de recursos, esses modelos são adequados para os desenvolvedores executarem em ambientes de produção ou em dispositivos pessoais. O código e a documentação no repositório ajudam os usuários a iniciar rapidamente a inferência, o ajuste fino e a implantação do modelo, abrangendo tudo, desde a configuração do ambiente até a implementação de tarefas complexas. Todo o conteúdo é baseado na licença Apache 2.0, que permite o uso e a modificação gratuitos.
Lista de funções
- oferta
gpt-oss-120b
responder cantandogpt-oss-20b
Scripts de configuração para modelos que suportam a troca rápida de tamanhos de modelos. - Contém código de configuração de ambiente para dar suporte a ambientes virtuais Python e instalação de dependências.
- Fornece exemplos de raciocínio que mostram como usar o modelo para gerar texto ou realizar chamadas de ferramentas.
- Oferece suporte ao ajuste fino do modelo e contém exemplos de processamento de conjuntos de dados de inferência multilíngue.
- Oferece a mesma funcionalidade que os Transformers, vLLM e Ollama Tutoriais de integração para estruturas como.
- Oferece suporte a configurações otimizadas para a execução de modelos em diferentes hardwares (GPUs H100, dispositivos de nível de consumidor).
Usando a Ajuda
Processo de instalação
Para usar gpt-oss-recipes
no repositório, primeiro você precisa clonar o repositório e configurar o ambiente Python. Aqui estão as etapas detalhadas:
- armazém de clones
Abra um terminal e execute o seguinte comando para clonar o repositório localmente:git clone https://github.com/huggingface/gpt-oss-recipes.git cd gpt-oss-recipes
- Criação de um ambiente virtual
Recomenda-se que você crie um ambiente virtual usando o Python 3.11 para garantir a compatibilidade. Recomenda-se usar ouv
Ferramentas:uv venv gpt-oss --python 3.11 source gpt-oss/bin/activate
- Instalação de dependências
Instale os pacotes Python necessários, incluindo PyTorch e Transformers. Execute o seguinte comando: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
- Instalação do kernel do Triton (opcional)
Se o hardware for compatível com a quantificação MXFP4 (por exemplo, H100 ou RTX 50xx), o kernel Triton poderá ser instalado para otimizar o desempenho:uv pip install git+https://github.com/triton-lang/triton.git@main#subdirectory=python/triton_kernels
modelo de configuração
O repositório oferece dois modelos:gpt-oss-120b
(parâmetros 117B para GPUs de alto desempenho) e gpt-oss-20b
(parâmetros 21B para hardware de consumidor). No script, modifique o parâmetro model_path
Modelos de seleção de variáveis. Exemplo:
model_path = "openai/gpt-oss-20b" # 选择 20B 模型
# model_path = "openai/gpt-oss-120b" # 选择 120B 模型
O script configura automaticamente o mapeamento do dispositivo e as configurações de otimização com base no tamanho do modelo.
raciocínio de execução
O repositório contém exemplos de raciocínio simples para gerar texto ou executar tarefas específicas. A seguir, um exemplo que usa a função gpt-oss-20b
Exemplo de texto gerado por modelo:
- show (um ingresso)
inference.py
(ou script semelhante). - Certifique-se de que o modelo e o divisor estejam carregados:
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")
- Insira prompts e gere resultados:
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]))
- Execute o script e o modelo retornará um exemplo de código Python para o algoritmo de classificação.
Ajuste dos parâmetros de inferência
O nível de detalhe do raciocínio pode ser ajustado pelos prompts do sistema. Por exemplo, defina um nível de raciocínio alto:
messages = [
{"role": "system", "content": "Reasoning: high"},
{"role": "user", "content": "解释量子计算的基本原理"}
]
Níveis de inferência mais altos geram processos de raciocínio mais detalhados e são adequados para problemas complexos.
Ajuste fino do modelo
O repositório fornece exemplos de ajuste fino, com base na biblioteca TRL da Hugging Face e na tecnologia LoRA. Aqui está o ajuste fino gpt-oss-20b
As etapas:
- Faça o download do conjunto de dados de inferência multilíngue:
from datasets import load_dataset dataset = load_dataset("HuggingFaceH4/Multilingual-Thinking", split="train")
- Configure os parâmetros do LoRA e carregue o modelo:
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)
- Use a biblioteca TRL para fazer o ajuste fino (consulte o repositório da biblioteca
finetune.ipynb
). - Salve o modelo ajustado para tarefas específicas, como a inferência multilíngue.
Usando vLLM ou Ollama
Se for necessária uma implementação rápida, o suporte do armazém vLLM e Ollama:
- vLLMIniciar um servidor compatível com 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
- OllamaFunciona em hardware de nível de consumidor:
ollama pull gpt-oss:20b ollama run gpt-oss:20b
Operação da função em destaque
- Chamada de ferramentaO modelo suporta chamadas de função e pesquisas na Web. Por exemplo, chamar a função de clima:
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)
- raciocínio multilíngueO modelo pode gerar processos de raciocínio em inglês, espanhol, francês e outros idiomas por meio de ajuste fino. O usuário pode especificar o idioma do raciocínio, por exemplo:
messages = [{"role": "system", "content": "Reasoning language: Spanish"}, {"role": "user", "content": "¿Cuál es la capital de Australia?"}]
cenário do aplicativo
- Experimentos de desenvolvimento de IA
Os desenvolvedores podem usar os scripts no repositório para testar o desempenho dos modelos GPT OSS em diferentes tarefas, como geração de texto, geração de código ou sistemas de perguntas e respostas. Ideal para prototipagem rápida. - Implementação de modelo local
Pode ser implantado em dispositivos locais por empresas ou indivíduosgpt-oss-20b
O sistema é ideal para cenários sensíveis à privacidade, como processamento interno de documentos ou suporte ao cliente. - Educação e pesquisa
Os pesquisadores podem usar os tutoriais de ajuste fino para otimizar modelos com base em conjuntos de dados específicos (por exemplo, raciocínio multilíngue) e explorar a aplicação de modelos grandes em campos acadêmicos. - Integração do ambiente de produção
O repositório suporta a implantação de servidores de API via vLLM e é adequado para integrar modelos em ambientes de produção, como chatbots ou fluxos de trabalho automatizados.
QA
- Quais modelos são compatíveis com o repositório?
Suporte de armazémgpt-oss-120b
(parâmetros 117B) egpt-oss-20b
(parâmetros 21B) para GPUs de alto desempenho e hardware de consumidor, respectivamente. - Como escolher o modelo certo?
Recomendado se você tiver uma GPU H100gpt-oss-120b
Se estiver usando um dispositivo normal (16 GB de memória), selecione a opçãogpt-oss-20b
. - Que hardware é necessário?
gpt-oss-20b
Requer 16 GB de RAM.gpt-oss-120b
Requer GPUs de 80 GB (por exemplo, H100). A quantificação do mxFP4 reduz os requisitos de recursos. - Como lidar com erros no raciocínio de modelos?
Certifique-se de usar o formato de harmonia para entrada e saída. Verifique a compatibilidade de hardware e atualize as dependências, como os kernels PyTorch e Triton.