Introdução geral
O Open-Reasoner-Zero é um projeto de código aberto voltado para a pesquisa de aprendizagem por reforço (RL), desenvolvido pela equipe do Open-Reasoner-Zero no GitHub. Seu objetivo é acelerar o processo de pesquisa no campo da Inteligência Artificial (IA), especialmente a exploração em direção à Inteligência Artificial Geral (AGI), fornecendo uma estrutura de treinamento eficiente, dimensionável e fácil de usar. O projeto é baseado no modelo Qwen2.5 (versões de parâmetros 7B e 32B) e combina tecnologias como OpenRLHF, vLLM, DeepSpeed e Ray para fornecer código-fonte completo, dados de treinamento e pesos de modelo. Ele é notável por atingir um nível semelhante de desempenho em menos de 1/30 das etapas de treinamento do DeepSeek-R1-Zero, demonstrando sua eficiência na utilização de recursos. O projeto está sob a licença MIT e é gratuito para os usuários usarem e modificarem, o que o torna ideal para a colaboração de pesquisadores e desenvolvedores.
Lista de funções
- Treinamento de aprendizado intensivo e eficienteSuporte para treinamento e geração em um único controlador, maximizando a utilização da GPU.
- recurso completo de código abertoO modelo é uma ferramenta simples e fácil de usar que fornece 57 mil unidades de dados de treinamento de alta qualidade, código-fonte, configurações de parâmetros e pesos do modelo.
- Suporte a modelos de alto desempenhoBaseado no Qwen2.5-7B e no Qwen2.5-32B, oferecendo excelente desempenho de inferência.
- Estrutura de pesquisa flexívelO design modular facilita a adaptação e a ampliação dos experimentos pelos pesquisadores.
- Suporte ao DockerForneça um Dockerfile para garantir a replicabilidade do ambiente de treinamento.
- Ferramentas de avaliação de desempenhoContém dados de benchmarking e apresentações de resultados de avaliação, como comparações de desempenho para o GPQA Diamond.
Usando a Ajuda
Processo de instalação
O uso do Open-Reasoner-Zero requer um certo nível de conhecimento técnico. A seguir, apresentamos um guia detalhado de instalação e operação, adequado para ser executado em sistemas Linux ou Unix.
Preparação ambiental
- Instalação de dependências básicas::
- Certifique-se de que o Git, o Python 3.8+ e o driver da GPU NVIDIA (é necessário suporte a CUDA) estejam instalados em seu sistema.
- Instale o Docker (versão recomendada 20.10 ou superior) para a rápida implementação do ambiente de treinamento.
sudo apt update sudo apt install git python3-pip docker.io
- Clonagem do depósito do projeto::
- Execute o seguinte comando no terminal para fazer o download do projeto localmente:
git clone https://github.com/Open-Reasoner-Zero/Open-Reasoner-Zero.git cd Open-Reasoner-Zero
- Configuração de seu ambiente com o Docker::
- O projeto fornece um Dockerfile para facilitar a criação de ambientes de treinamento.
- Execute-o no diretório raiz do projeto:
docker build -t open-reasoner-zero -f docker/Dockerfile .
- Após a conclusão da compilação, inicie o contêiner:
docker run -it --gpus all open-reasoner-zero bash
- Isso inserirá um ambiente de contêiner com suporte a GPU, pré-instalado com as dependências necessárias.
- Instalação manual de dependências (opcional)::
- Se você não estiver usando o Docker, poderá instalar as dependências manualmente:
pip install -r requirements.txt
- Certifique-se de que o OpenRLHF, o vLLM, o DeepSpeed e o Ray estejam instalados; consulte a documentação do projeto para obter as versões específicas.
Função Fluxo de operação
1. modelos de treinamento
- Preparar dados de treinamento::
- O projeto vem com 57 mil dados de treinamento de alta qualidade, localizados no
dados
pasta. - Se forem necessários dados personalizados, organize o formato de acordo com as instruções da documentação e substitua-o.
- O projeto vem com 57 mil dados de treinamento de alta qualidade, localizados no
- treinamento de preparação::
- Execute o seguinte comando no contêiner ou no ambiente local:
python train.py --model Qwen2.5-7B --data-path . /data
- Descrição do parâmetro:
---modelo
Selecione o modelo (por exemplo, Qwen2.5-7B ou Qwen2.5-32B).--caminho dos dados
Caminho de dados de treinamento: Especifica o caminho de dados de treinamento.
- O registro de treinamento é exibido no terminal do nó mestre para facilitar o monitoramento do progresso.
2. avaliação de desempenho
- Execução de testes de benchmark::
- Compare o desempenho do modelo usando os scripts de avaliação fornecidos:
python evaluate.py --model Qwen2.5-32B --benchmark gpqa_diamond
- O resultado mostrará a precisão do modelo em benchmarks como o GPQA Diamond.
- Ver relatório de avaliação::
- O projeto inclui gráficos (como a Figura 1 e a Figura 2) que mostram o desempenho e o escalonamento do tempo de treinamento, que podem ser encontrados no
documentos
para encontrá-la.
- O projeto inclui gráficos (como a Figura 1 e a Figura 2) que mostram o desempenho e o escalonamento do tempo de treinamento, que podem ser encontrados no
3. modificações e extensões
- Parâmetros de ajuste::
- compilador
config.yaml
modificando os hiperparâmetros, como taxa de aprendizado, tamanho do lote, etc.
taxa de aprendizado: 0,0001 tamanho_do_lote: 16
- compilador
- Adicionar novo recurso::
- O projeto é modular e pode ser
src
para adicionar novos módulos. Por exemplo, adicione um novo script de pré-processamento de dados:
# custom_preprocess.py def preprocess_data(input_file). Lógica personalizada do # passar
- O projeto é modular e pode ser
Precauções de manuseio
- Requisitos de hardwareGPU: Recomenda-se uma GPU com pelo menos 24 GB de memória de vídeo (por exemplo, NVIDIA A100) para suportar o treinamento Qwen2.5-32B.
- Monitoramento de registrosMantenha o terminal ligado durante o treinamento e verifique o registro a qualquer momento para solucionar problemas.
- Suporte à comunidadePerguntas: As perguntas podem ser enviadas por meio dos problemas do GitHub ou entrando em contato com a equipe pelo e-mail hanqer@stepfun.com.
Exemplos práticos
Suponha que você queira treinar um modelo com base no Qwen2.5-7B:
- Insira o contêiner do Docker.
- estar em movimento
python train.py --model Qwen2.5-7B --data-path . /data
. - Aguarde algumas horas (dependendo do hardware) e execute quando terminar
python evaluate.py --model Qwen2.5-7B --benchmark gpqa_diamond
. - Visualize o resultado para confirmar o aprimoramento do desempenho.
Com essas etapas, os usuários podem começar a usar o Open-Reasoner-Zero rapidamente, seja para reproduzir experimentos ou desenvolver novos recursos, e fazer isso de forma eficiente.