Introdução geral
O projeto Open R1 da Hugging Face é um projeto de replicação do DeepSeek-R1 totalmente de código aberto que visa criar as peças que faltam no pipeline do R1 para que todos possam replicá-lo e desenvolvê-lo. O projeto foi projetado para ser simples e consiste principalmente em scripts para treinamento e avaliação de modelos, bem como para gerar dados sintéticos. O objetivo do projeto Open R1 é demonstrar o processo completo de reprodução do pipeline R1 por meio de um processo de treinamento em vários estágios, desde o modelo básico até o modelo de ajuste de aprendizado por reforço. O projeto inclui instruções detalhadas de instalação e uso, além de apoiar as contribuições e a colaboração da comunidade.
Vamos começar com DeepSeek-R1 O relatório técnico serve como um guia, que pode ser dividido em três etapas principais:
Etapa 1: Replicar o modelo R1-Distill extraindo um corpus de alta qualidade do DeepSeek-R1.
Etapa 2: Replicação DeepSeek Processo de aprendizado por reforço puro (RL) para criar o R1-Zero. Isso pode exigir a coleta de novos conjuntos de dados em grande escala para matemática, inferência e código.
Etapa 3: Demonstrar que podemos fazer a transição de um modelo básico para um modelo ajustado por RL por meio de treinamento em vários estágios.
Lista de funções
- treinamento de modelosScript de treinamento: fornece scripts para modelos de treinamento, incluindo métodos de treinamento GRPO e SFT.
- avaliação de modelagemR1: fornece scripts para avaliar o desempenho do modelo e oferece suporte ao benchmarking R1.
- Geração de dadosScripts para gerar dados sintéticos usando o Distilabel.
- Treinamento em várias etapasDemonstrar um processo de treinamento em vários estágios, desde o modelo básico até o ajuste do aprendizado por reforço.
- Contribuições da comunidadeSuporte aos membros da comunidade para que contribuam com conjuntos de dados e aprimoramentos de modelos.
Usando a Ajuda
Processo de instalação
- Criação de um ambiente virtual Python::
conda create -n openr1 python=3.11
conda activate openr1
- Instalação do vLLM::
pip install vllm==0.6.6.post1
Isso instalará o PyTorch v2.5.1 ao mesmo tempo; certifique-se de usar essa versão para compatibilidade com os binários do vLLM.
- Instalar as dependências do projeto::
pip install -e ". [dev]"
- Faça login nas contas Hugging Face e Weights and Biases::
login no huggingface-cli
login no wandb
- Instalação do Git LFS::
sudo apt-get install git-lfs
Diretrizes para uso
- Modelos de treinamento::
- Use o GRPO para treinar o modelo:
python src/open_r1/grpo.py --dataset
- Use o SFT para treinar o modelo:
python src/open_r1/sft.py --dataset
- modelo de avaliação::
python src/open_r1/evaluate.py --model --benchmark
- Gerar dados sintéticos::
python src/open_r1/generate.py --model --output
- Treinamento em várias etapas::
- Etapa 1: Replicar o modelo R1-Distill:
bash
python src/open_r1/distill.py --corpus
- Etapa 2: Reproduzir o pipeline de RL puro:
bash
python src/open_r1/rl_pipeline.py --dataset
- Etapa 3: Do modelo básico ao ajuste de RL:
bash
python src/open_r1/multi_stage_training.py --model
- Etapa 1: Replicar o modelo R1-Distill:
Diretrizes de contribuição
- Garfo de projeto: bifurque o projeto em sua própria conta no GitHub.
- projeto de clonagem::
git clone https://github.com//open-r1.git
- Criação de uma nova filial::
git checkout -b new-feature
- Enviar alterações::
git add .
git commit -m "Adicionar novo recurso"
git push origin new-feature
- Criação de uma solicitação pullEnvie um Pull Request no GitHub descrevendo as alterações feitas.