Allgemeine Einführung
Open-Reasoner-Zero ist ein Open-Source-Projekt, das sich auf die Forschung im Bereich Reinforcement Learning (RL) konzentriert und vom Open-Reasoner-Zero-Team auf GitHub entwickelt wurde. Es zielt darauf ab, den Forschungsprozess im Bereich der Künstlichen Intelligenz (KI) zu beschleunigen, insbesondere die Erforschung der Allgemeinen Künstlichen Intelligenz (AGI), indem es ein effizientes, skalierbares und einfach zu verwendendes Trainingsframework bereitstellt. Das Projekt basiert auf dem Qwen2.5-Modell (7B- und 32B-Parameter-Versionen) und kombiniert Technologien wie OpenRLHF, vLLM, DeepSpeed und Ray, um vollständigen Quellcode, Trainingsdaten und Modellgewichte bereitzustellen. Es zeichnet sich dadurch aus, dass es ein ähnliches Leistungsniveau in weniger als 1/30 der Trainingsschritte von DeepSeek-R1-Zero erreicht, was seine Effizienz bei der Ressourcennutzung unter Beweis stellt. Das Projekt steht unter der MIT-Lizenz und kann von den Nutzern frei verwendet und verändert werden, wodurch es sich ideal für die Zusammenarbeit zwischen Forschern und Entwicklern eignet.
Funktionsliste
- Effizientes intensives LerntrainingUnterstützt Training und Generierung auf einem einzigen Controller und maximiert so die GPU-Nutzung.
- vollständige Open-Source-RessourceDas Modell ist ein einfaches und leicht zu bedienendes Tool, das 57k hochwertige Trainingsdaten, Quellcode, Parametereinstellungen und Modellgewichte bereitstellt.
- Unterstützung von HochleistungsmodellenBasiert auf Qwen2.5-7B und Qwen2.5-32B und bietet eine hervorragende Inferenzleistung.
- Flexibler ForschungsrahmenDer modulare Aufbau macht es den Forschern leicht, ihre Experimente anzupassen und zu erweitern.
- Docker-UnterstützungBereitstellung eines Dockerfiles, um die Replizierbarkeit der Trainingsumgebung zu gewährleisten.
- Tools zur LeistungsbewertungGPQA Diamond: Enthält Benchmarking-Daten und Präsentationen von Bewertungsergebnissen, z. B. Leistungsvergleiche für GPQA Diamond.
Hilfe verwenden
Ablauf der Installation
Die Verwendung von Open-Reasoner-Zero erfordert ein gewisses Maß an technischem Wissen. Im Folgenden finden Sie eine ausführliche Installations- und Betriebsanleitung, die für den Betrieb auf Linux oder Unix-ähnlichen Systemen geeignet ist.
Vorbereitung der Umwelt
- Installation der grundlegenden Abhängigkeiten::
- Stellen Sie sicher, dass Git, Python 3.8+ und der NVIDIA GPU-Treiber (CUDA-Unterstützung ist erforderlich) auf Ihrem System installiert sind.
- Installieren Sie Docker (empfohlene Version 20.10 oder höher) für eine schnelle Bereitstellung der Schulungsumgebung.
sudo apt update sudo apt install git python3-pip docker.io
- Projektlager klonen::
- Führen Sie den folgenden Befehl im Terminal aus, um das Projekt lokal herunterzuladen:
git clone https://github.com/Open-Reasoner-Zero/Open-Reasoner-Zero.git cd Open-Reasoner-Zero
- Konfigurieren Ihrer Umgebung mit Docker::
- Das Projekt stellt ein Dockerfile zur Verfügung, das den Aufbau von Trainingsumgebungen erleichtert.
- Führen Sie es im Stammverzeichnis des Projekts aus:
docker build -t open-reasoner-zero -f docker/Dockerfile .
- Starten Sie den Container, nachdem der Build abgeschlossen ist:
docker run -it --gpus all open-reasoner-zero bash
- Dies führt zu einer Container-Umgebung mit GPU-Unterstützung, die mit den erforderlichen Abhängigkeiten vorinstalliert ist.
- Manuelle Installation von Abhängigkeiten (optional)::
- Wenn Sie nicht mit Docker arbeiten, können Sie die Abhängigkeiten manuell installieren:
pip install -r anforderungen.txt
- Vergewissern Sie sich, dass OpenRLHF, vLLM, DeepSpeed und Ray installiert sind; die jeweiligen Versionen finden Sie in der Projektdokumentation.
Funktion Betriebsablauf
1. die Ausbildungsmodelle
- Trainingsdaten vorbereiten::
- Das Projekt enthält 57k hochwertige Trainingsdaten, die sich in der
Daten
Ordner. - Wenn benutzerdefinierte Daten erforderlich sind, organisieren Sie das Format entsprechend den Anweisungen in der Dokumentation und ersetzen Sie es.
- Das Projekt enthält 57k hochwertige Trainingsdaten, die sich in der
- Grundlagentraining::
- Führen Sie den folgenden Befehl in der Container- oder lokalen Umgebung aus:
python train.py --model Qwen2.5-7B --data-path . /data
- Parameter Beschreibung:
---Modell
Wählen Sie das Modell (z.B. Qwen2.5-7B oder Qwen2.5-32B).--data-path
: Gibt den Pfad der Trainingsdaten an.
- Das Trainingsprotokoll wird auf dem Terminal des Master-Knotens angezeigt, um den Fortschritt zu überwachen.
2. die Leistungsbewertung
- Durchführung von Benchmark-Tests::
- Vergleichen Sie die Leistung der Modelle mit Hilfe der mitgelieferten Bewertungsskripte:
python evaluate.py --model Qwen2.5-32B --benchmark gpqa_diamond
- Die Ausgabe zeigt die Genauigkeit des Modells bei Benchmarks wie GPQA Diamond.
- Bewertungsbericht anzeigen::
- Das Projekt umfasst Diagramme (z. B. Abbildung 1 und Abbildung 2), die die Leistung und die Skalierung der Trainingszeit zeigen und die in der
docs
Ordner zu finden.
- Das Projekt umfasst Diagramme (z. B. Abbildung 1 und Abbildung 2), die die Leistung und die Skalierung der Trainingszeit zeigen und die in der
3 Modifikationen und Erweiterungen
- Anpassungsparameter::
- Compiler
config.yaml
Datei, wobei Hyperparameter wie Lernrate, Stapelgröße usw. geändert werden.
lern_rate: 0.0001 batch_size: 16
- Compiler
- Neue Funktion hinzufügen::
- Das Projekt ist modular aufgebaut und kann
src
Ordner, um neue Module hinzuzufügen. Fügen Sie zum Beispiel ein neues Skript für die Datenvorverarbeitung hinzu:
# custom_preprocess.py def preprocess_data(input_file). # eigene Logik pass
- Das Projekt ist modular aufgebaut und kann
Vorsichtsmaßnahmen bei der Handhabung
- Hardware-VoraussetzungEin Grafikprozessor mit mindestens 24 GB Videospeicher (z.B. NVIDIA A100) wird empfohlen, um Qwen2.5-32B Training zu unterstützen.
- Log-Überwachung: Lassen Sie das Terminal während der Schulung eingeschaltet und überprüfen Sie das Protokoll jederzeit, um Probleme zu beheben.
- Unterstützung der GemeinschaftFragen können über GitHub Issues eingereicht werden oder durch Kontaktaufnahme mit dem Team unter hanqer@stepfun.com.
Praktische Beispiele
Angenommen, Sie möchten ein Modell auf der Grundlage von Qwen2.5-7B trainieren:
- Geben Sie den Docker-Container ein.
- in Bewegung sein
python train.py --model Qwen2.5-7B --data-path . /data
. - Warten Sie ein paar Stunden (je nach Hardware) und führen Sie den Vorgang dann aus.
python evaluate.py --model Qwen2.5-7B --benchmark gpqa_diamond
. - Sehen Sie sich die Ausgabe an, um die Leistungsverbesserung zu bestätigen.
Mit diesen Schritten können Benutzer schnell und effizient mit Open-Reasoner-Zero arbeiten, egal ob es um die Reproduktion von Experimenten oder die Entwicklung neuer Funktionen geht.