Artikelbild für den Artikel: Fault Tolerant LLaMA: Training mit 2000 synthetischen Fehlern alle 15 Sekunden

Fault Tolerant LLaMA: Training mit 2000 synthetischen Fehlern alle 15 Sekunden

In der Welt des maschinellen Lernens ist die Zuverlässigkeit von Trainingsprozessen von größter Bedeutung. Forscher haben torchft und torchtitan verwendet, um ein Modell in einer realen Umgebung mit extremen synthetischen Fehlerquoten zu trainieren. Ziel war es, die Zuverlässigkeit und Korrektheit des fehlerresistenten Trainings zu beweisen.

Einführung

Wir möchten torchft in den schlimmsten Szenarien demonstrieren, indem wir einen Trainingsjob mit den extremsten Fehlerquoten durchführen, die möglich sind. Die meisten LLM-Vortrainings verwenden shardierte Modelle mit FSDP. torchft unterstützt shardierte Modelle mit HSDP2, das ein shardiertes Modell mit der fehlerresistenten DDP-All-Reduce von torchft kombiniert. Wir haben torchft in torchtitan integriert, sodass Sie die Fehlertoleranz sofort nutzen können.

Cluster-Setup

Crusoe stellte uns einen Cluster mit 300 L40S GPUs zur Verfügung. Die GPUs waren auf 30 Hosts verteilt, jeder mit 10 NVIDIA L40S GPUs. Für das Modell verwendeten wir torchtitan mit einem Llama 3 Modell mit 1B Parametern, um die verfügbare Hardware zu nutzen. Die L40S GPUs werden typischerweise für Inferenz verwendet und boten uns die Möglichkeit, torchft in einer nicht-traditionellen Umgebung zu testen.

Fehlerbehebung ohne Checkpoints

Traditionelles maschinelles Lernen erreicht „Fehlertoleranz“, indem es bei einem Fehler von Checkpoints neu lädt. Bei torchft konzentrieren wir uns stattdessen darauf, Fehler auf eine einzelne Gruppe von GPUs zu isolieren. Wenn ein Fehler innerhalb dieser Gruppe auftritt, können wir diese Gruppe asynchron neu starten, während alle anderen Gruppen die Schulung ohne diese Gruppe fortsetzen können.

Integration der Trainingsschleife

torchft wurde bereits in TorchTitan integriert, sodass die Aktivierung nur eine Frage der Konfiguration ist. Für ein typisches Modell bietet torchft Wrapper, die automatisch Hooks in den torchft Manager aufrufen, um die Fehlertoleranz bereitzustellen.

Fehlertolerante Planung

Wir können Standard-ML-Job-Planer wie Slurm verwenden, da die Semantik für die Arbeiter innerhalb einer Replikationsgruppe dieselbe wie bei einem normalen Job ist. Wenn ein Fehler bei einem der Arbeiter innerhalb einer Gruppe auftritt, erwarten wir, dass die gesamte Gruppe gleichzeitig neu gestartet wird.

Ergebnisse und Auswertung

Wir führten drei verschiedene Läufe durch, die verschiedene Fehlerszenarien und Funktionen von torchft zeigten. Im ersten Lauf injizierten wir alle 60 Sekunden einen Fehler und erzielten 5145 erfolgreiche Schritte aus 6249 insgesamt. Im zweiten Lauf injizierten wir alle 15 Sekunden einen Fehler und beobachteten, dass das Modell trotz der häufigen Fehler weiterhin konvergierte.

Nächste Schritte

torchft befindet sich in aktiver Entwicklung, und wir haben viele geplante Verbesserungen rund um neuere Algorithmen wie Streaming DiLoCo und die Verbesserung der Robustheit von PyTorch Distributed gegenüber Fehlern. Wenn Sie torchft verwenden möchten, werfen Sie bitte einen Blick auf die torchft README und die torchft Dokumentation.

Quellenliste:

Dieser Artikel wurde mithilfe von KI verfasst und basiert auf automatisch gesammelten Informationen.
0 Kommentare

Hinterlasse einen Kommentar

An der Diskussion beteiligen?
Hinterlasse uns deinen Kommentar!

Schreibe einen Kommentar