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 hat durch eine einzigartige kursbasierte Trainingsmethode mit überwachter Feinabstimmung (SFT) und direkter Präferenzoptimierung (DPO) bei den Mathematikwettbewerben AIME24 und AIME25 hohe Punktzahlen von 76,6 bzw. 64,6 erzielt, und das bei Kosten von nur etwa 1.000 Dollar (6 Stunden Training auf 12 H800-Maschinen). 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 von langkettigen Inferenzmodellen zu fördern.
Funktionsliste
- mathematische ArgumentationBietet genaue Problemlösungen für schwierige Mathematikwettbewerbe wie AIME.
- Unterstützung für langkettige Argumentationdurch Festcodierung
<think>
Etiketten und zwingt das Modell, komplexe Probleme schrittweise zu erfassen. - 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.
- Dekontaminierung 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 Light-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.models/
), 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 anpassen möchten, laden Sie die SFT- und DPO-Datensätze von der GitHub-Seite herunter (Link im AbschnittCurriculum SFT & DPO datasets
(Teil). Entpacken Sie es und legen Sie es in den Ordnerdata/
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 path/to/Light-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": "<think>Solve the equation: 2x + 3 = 7</think>",
"max_tokens": 200
}'
Das Modell liefert schrittweise Argumentationsprozesse und Antworten, zum Beispiel:
{
"choices": [{
"text": "<think>First, subtract 3 from both sides: 2x + 3 - 3 = 7 - 3, so 2x = 4. Then, divide both sides by 2: 2x / 2 = 4 / 2, so x = 2.</think> The solution is x = 2."
}]
}
- caveat
<think>
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äre Entwicklung darauf aufbauend durchführen 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 H800).
- SFT Stufe 2 ausführen
Ähnlich verhält es sich mit dem Laufen:
bash train-scripts/sft_stage2.sh
Verwenden Sie härtere 3k-Datensätze, um die Modellleistung zu verbessern.
- 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 <think>
im Gesang antworten </think>
Spezielle Beschriftung, um sicherzustellen, dass das Modell Schritt für Schritt durch das mathematische Problem argumentiert. Zum Beispiel: Eingabe:
<think>Find the number of positive integers less than 100 that are divisible by 3 or 5.</think>
Modellausgabe:
<think>Let’s use inclusion-exclusion. Numbers divisible by 3: 99 ÷ 3 = 33. Numbers divisible by 5: 99 ÷ 5 = 19. Numbers divisible by 15 (LCM of 3 and 5): 99 ÷ 15 = 6. Total = 33 + 19 - 6 = 46.</think> Answer: 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 (data/
(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 und 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.