Allgemeine Einführung
Hugging Face's Open R1-Projekt ist ein vollständig quelloffenes DeepSeek-R1-Replikationsprojekt, das darauf abzielt, die fehlenden Teile der R1-Pipeline zu erstellen, damit jeder sie replizieren und darauf aufbauen kann. Das Projekt ist einfach gehalten und besteht hauptsächlich aus Skripten für das Training und die Auswertung von Modellen sowie die Erzeugung synthetischer Daten. Das Ziel des Open R1-Projekts ist es, den kompletten Prozess der Reproduktion der R1-Pipeline durch einen mehrstufigen Trainingsprozess zu demonstrieren, vom Basismodell bis hin zum Verstärkungslern-Tuning-Modell. Das Projekt enthält detaillierte Installations- und Nutzungsanweisungen und unterstützt Beiträge der Community und die Zusammenarbeit.
Wir werden beginnen mit DeepSeek-R1 Der technische Bericht dient als Leitfaden, der sich grob in drei Hauptschritte unterteilen lässt:
Schritt 1: Replizieren des R1-Distill-Modells durch Extraktion eines qualitativ hochwertigen Korpus aus DeepSeek-R1.
Schritt 2: Replikation DeepSeek Reines Reinforcement Learning (RL)-Verfahren zur Erstellung von R1-Zero. Dazu müssen möglicherweise neue große Datensätze für Mathematik, Inferenz und Code zusammengestellt werden.
Schritt 3: Demonstration, dass wir durch mehrstufiges Training von einem Basismodell zu einem RL-angepassten Modell übergehen können.
Funktionsliste
- ModellschulungGRPO: Bietet Skripte für das Training von Modellen, einschließlich GRPO- und SFT-Trainingsmethoden.
- ModellierungsbewertungR1: Bietet Skripte zur Bewertung der Modellleistung und unterstützt das R1-Benchmarking.
- Erzeugung von DatenDistilabel: Skripte zur Erzeugung synthetischer Daten mit Distilabel.
- Mehrstufige AusbildungDemonstration eines mehrstufigen Trainingsprozesses vom Basismodell bis zum Tuning durch Reinforcement Learning.
- Beiträge der GemeinschaftUnterstützung der Community-Mitglieder bei der Bereitstellung von Datensätzen und Modellverbesserungen.
Hilfe verwenden
Ablauf der Installation
- Erstellen einer virtuellen Python-Umgebung::
conda create -n openr1 python=3.11
conda activate openr1
- Installation von vLLM::
pip install vllm==0.6.6.post1
Dadurch wird gleichzeitig PyTorch v2.5.1 installiert. Stellen Sie sicher, dass Sie diese Version für die Kompatibilität mit den vLLM-Binärdateien verwenden.
- Projektabhängigkeiten installieren::
pip install -e ". [dev]"
- Anmeldung bei den Konten Hugging Face und Weights and Biases::
huggingface-cli-Anmeldung
wandb-Anmeldung
- Installation von Git LFS::
sudo apt-get install git-lfs
Richtlinien für die Verwendung
- Ausbildungsmodelle::
- Verwenden Sie GRPO, um das Modell zu trainieren:
python src/open_r1/grpo.py --datensatz
- Verwenden Sie SFT, um das Modell zu trainieren:
python src/open_r1/sft.py --datensatz
- Bewertungsmodell::
python src/open_r1/evaluate.py --model --benchmark
- Synthetische Daten generieren::
python src/open_r1/generate.py --model --output
- Mehrstufige Ausbildung::
- Schritt 1: Replizieren Sie das Modell R1-Distill:
bash
python src/open_r1/distill.py --corpus
- Schritt 2: Replizieren Sie die reine RL-Pipeline:
bash
python src/open_r1/rl_pipeline.py --datensatz
- Schritt 3: Vom Basismodell zum RL-Tuning:
bash
python src/open_r1/multi_stage_training.py --model
- Schritt 1: Replizieren Sie das Modell R1-Distill:
Leitlinien für Beiträge
- Projekt Gabel: Forken Sie das Projekt zu Ihrem eigenen Konto auf GitHub.
- Klonprojekt::
git clone https://github.com//open-r1.git
- Erstellen einer neuen Verzweigung::
git checkout -b new-feature
- Änderungen einreichen::
git add .
git commit -m "Neue Funktion hinzufügen"
git push origin new-feature
- Erstellen einer Pull-Anfrage: Reichen Sie einen Pull Request auf GitHub ein und beschreiben Sie die vorgenommenen Änderungen.