Allgemeine Einführung
Light-R1 ist ein Open-Source-KI-Modell, das vom Team von Qihoo360 (Qihoo360) entwickelt wurde und sich auf die Gedankenkette (Chain-of-Thought, COT) konzentriert, eine lange Kette des Denkens in der Mathematik. Es basiert auf dem Modell Qwen2.5-32B-Instruct und erreichte durch eine einzigartige kursbasierte Trainingsmethode mit überwachter Feinabstimmung (SFT) und direkter Präferenzoptimierung (DPO) hohe Punktzahlen von 76,6 bzw. 64,6 bei den Mathematikwettbewerben AIME24 und AIME25 bei Kosten von nur etwa 1.000 $ (6 Stunden Training auf 12 H800-Maschinen) und übertraf damit Das Highlight von Light-R1 ist der effiziente und kostengünstige Leistungsdurchbruch, der durch die Kombination eines Modells ohne Long-Chain-Inferenzfähigkeit mit dekontaminierten Daten und Modellfusionstechniken erzielt wird. Das Projekt veröffentlicht nicht nur das Modell, sondern auch alle Trainingsdatensätze und den Code, um die Popularität und Entwicklung langkettiger Inferenzmodelle zu fördern.
Funktionsliste
- mathematische ArgumentationBietet genaue Problemlösungen für schwierige Mathematikwettbewerbe wie AIME.
- Unterstützung für langkettige Argumentationdurch Festcodierung
Bezeichnungen, wodurch das Modell gezwungen ist, schrittweise über komplexe Probleme nachzudenken.
- Gemeinsame Nutzung von Open-Source-RessourcenVollständige SFT- und DPO-Trainingsdatensätze und 360-LLaMA-Factory-basierte Trainingsskripte sind verfügbar.
- Effizienter Einsatz von Reasoning: Unterstützung vLLM und SGLang-Frameworks, um die Geschwindigkeit der Modellinferenz und den Ressourcenverbrauch zu optimieren.
- Werkzeuge zur ModellbewertungIntegration des DeepScaleR-Evaluierungscodes, der Benchmark-Ergebnisse wie AIME24 liefert.
- Dekontamination von DatenSicherstellen, dass die Trainingsdaten nicht mit Benchmarks wie MATH-500, AIME24/25 usw. kontaminiert sind, um die Fairness zu verbessern.
Hilfe verwenden
Beschaffungs- und Installationsprozess
Light-R1 ist ein Open-Source-Projekt, das auf GitHub gehostet wird und es Benutzern ermöglicht, Modelle zu erwerben und einzusetzen, indem sie die folgenden Schritte befolgen:
- Zugriff auf GitHub-Repositories
Öffnen Sie Ihren Browser und geben Sie die URL einhttps://github.com/Qihoo360/Light-R1
führt zur Homepage des Projekts. Die Seite enthält eine Einführung in das Modell, Links zu Datensätzen und Codebeschreibungen. - Klon-Lager
Klonen Sie das Projekt lokal, indem Sie den folgenden Befehl in einem Terminal oder einer Befehlszeile eingeben:
git clone https://github.com/Qihoo360/Light-R1.git
Sobald das Klonen abgeschlossen ist, wechseln Sie in das Projektverzeichnis:
cd Licht-R1
- Modelldateien herunterladen
Das Modell Light-R1-32B wird auf Hugging Face gehostet. Zuganghttps://huggingface.co/Qihoo360/Light-R1-32B
Wenn Sie die Datei mit den Modellgewichten herunterladen möchten, folgen Sie den Anweisungen auf der Seite. Legen Sie die Datei nach dem Herunterladen in einem geeigneten Verzeichnis in Ihrem lokalen Repository ab (z. B.Modelle/
), den genauen Pfad finden Sie in der Projektdokumentation. - Installation von abhängigen Umgebungen
Light-R1 empfiehlt die Verwendung von vLLM oder SGLang für die Inferenz, und erfordert die Installation der entsprechenden Abhängigkeiten. Nehmen Sie vLLM als Beispiel:
- Stellen Sie sicher, dass Python 3.8 oder höher installiert ist.
- Installieren Sie vLLM:
pip install vllm
- Wenn GPU-Unterstützung erforderlich ist, stellen Sie sicher, dass CUDA konfiguriert ist (12 H800 oder gleichwertige Geräte werden empfohlen).
- Datensätze vorbereiten (optional)
Wenn Sie das Training wiederholen oder eine Feinabstimmung vornehmen möchten, können Sie die SFT- und DPO-Datensätze von der GitHub-Seite herunterladen (Link imLehrplan SFT & DPO-Datensätze
(Teil). Entpacken Sie es und legen Sie es in denDaten/
Katalog.
Hauptfunktionen
1. mathematische Argumentation mit Light-R1
Die Kernfunktion von Light-R1 besteht darin, mathematische Probleme zu lösen, insbesondere komplexe Themen, die lange Argumentationsketten erfordern. Hier sind die Schritte:
- Argumentationsdienst einleiten
Wechseln Sie im Terminal in das Projektverzeichnis und führen Sie den folgenden Befehl aus, um den vLLM-Inferenzdienst zu starten:
python -m vllm.entrypoints.api_server --model path/to/Light-R1-32B
darunter auch Pfad/zu/Licht-R1-32B
Ersetzen Sie ihn durch den tatsächlichen Pfad der Modelldatei. Wenn der Dienst gestartet wird, lauscht er standardmäßig auf dem lokalen Port (normalerweise 8000).
- Ableitungsanforderung senden
Verwenden Sie ein Python-Skript oder den Befehl curl, um mathematische Fragen an das Modell zu senden. Nehmen Sie curl als Beispiel:
curl http://localhost:8000/v1/completions
-H "Content-Type: application/json"
-d '{
"model": "Light-R1-32B", "prompt":"Löse die Gleichung: 2x + 3 = 7,
"prompt":"Löse die Gleichung: 2x + 3 = 7", "max_tokens": 200_tokens
"max_tokens": 200
}'
Das Modell liefert schrittweise Argumentationsprozesse und Antworten, zum Beispiel:
{
"choices": [{
"text":"Zuerst subtrahiere 3 von beiden Seiten: 2x + 3 - 3 = 7 - 3, also 2x = 4. Dann teile beide Seiten durch 2: 2x / 2 = 4 / 2, also x = 2. Die Lösung ist x = 2."
}]
}
- caveat
Beschriftungen sind fest kodiert und müssen in der Eingabe enthalten sein, um die Langketteninferenz auszulösen.
- Für Herausforderungen auf AIME-Niveau wird empfohlen, Folgendes hinzuzufügen
max_tokens
(z. B. 500), um sicherzustellen, dass die Argumentation vollständig ist.
2. die Ausbildung am Replikationsmodell
Wenn Sie den Trainingsprozess von Light-R1 reproduzieren oder eine Sekundärentwicklung darauf aufbauen möchten, können Sie die folgenden Schritte ausführen:
- Vorbereitung der Schulungsumgebung
Verwenden Sie das 360-LLaMA-Factory Framework und installieren Sie die Abhängigkeiten:
pip install -r train-scripts/requirements.txt
- SFT Stufe 1 ausführen
Compilertrain-scripts/sft_stage1.sh
stellen Sie sicher, dass der Modellpfad und der Datensatzpfad korrekt sind, und führen Sie das Programm dann aus:
bash train-scripts/sft_stage1.sh
Diese Phase verwendet 76k Datensätze und dauert etwa 3 Stunden (12 H800s).
- SFT Stufe 2 ausführen
Ähnlich verhält es sich mit dem Laufen:
bash train-scripts/sft_stage2.sh
Verwendung härterer 3k-Datensätze zur Verbesserung der Modellleistung.
- Laufendes DSB
Umsetzung:
bash train-scripts/dpo.sh
DPO optimiert die Schlussfolgerungsmöglichkeiten auf der Grundlage der Ergebnisse von SFT Stufe 2 weiter.
- Zusammenführung von Modellen
Verwenden Sie das mitgelieferte Merge-Skript (z. B.merge_models.py
), wobei das SFT- und das DPO-Modell zusammengeführt werden:
python merge_models.py --sft-model sft_stage2 --dpo-model dpo --output Light-R1-32B
3. die Bewertung der Modellleistung
Light-R1 bietet Evaluierungswerkzeuge zum Testen von Benchmarks wie AIME24:
- Führen Sie das Auswertungsskript aus
existierendeepscaler-release/
Katalog, ausführen:
python evaluate.py --model Light-R1-32B --benchmark AIME24
Die Ergebnisse werden in das Logbuch eingetragen, und die durchschnittliche Punktzahl sollte in 64 Fällen bei 76,6 liegen.
Ausgewählte Funktionen
Optimierung der Langketten-Inferenz
Licht-R1 Angenommen im Gesang antworten
Spezielle Beschriftung, um sicherzustellen, dass das Modell Schritt für Schritt durch das mathematische Problem argumentiert. Zum Beispiel: Eingabe:
Finde die Anzahl der positiven ganzen Zahlen kleiner als 100, die durch 3 oder 5 teilbar sind.
Modellausgabe:
Benutzen wir den Einschluss-Ausschluss: Zahlen, die durch 3 teilbar sind: 99 ÷ 3 = 33. Zahlen, die durch 5 teilbar sind: 99 ÷ 5 = 19. Zahlen, die durch 15 teilbar sind (LCM von 3 und 5): 99 ÷ 15 = 6. Summe = 33 + 19 - 6 = 46. Antwort: 46. Durch 15 teilbare Zahlen (LCM von 3 und 5): 99 ÷ 15 = 6. Summe = 33 + 19 - 6 = 46. Antwort: 46.
Sicherheitsvorkehrungen bei der Datendekontamination
Die Trainingsdaten werden rigoros dekontaminiert, um Fairness bei Benchmarks wie AIME24/25 zu gewährleisten. Der Benutzer kann den Datensatz überprüfen (Daten/
(Katalog) Überprüfen Sie, ob es keine doppelten Themen gibt.
Beispiele für kostengünstige Schulungen
Light-R1 demonstriert die Machbarkeit eines effizienten Trainings, und die Nutzer können auf die Trainingsskripte zurückgreifen, um das Modell für andere Bereiche (z. B. Physik) anzupassen.
Tipps & Tricks
- Verbesserte Genauigkeit der Argumentation: Erhöhung
max_tokens
oder gemittelt über mehrere Läufe. - Debugging-ProblemeBewertung: Zeigen Sie Bewertungsprotokolle an, um den Denkprozess des Modells zu bestimmten Themen zu analysieren.
- Unterstützung der Gemeinschaft: Treten Sie der WeChat-Gruppe auf der GitHub-Seite bei, um mit Entwicklern in Kontakt zu treten.