Fehlertolerantes verteiltes Training auf Amazon EKS mit NVRx
aws ·
Dieser Artikel zeigt, wie die NVIDIA Resiliency Extension (NVRx) mit Amazon EKS integriert wird, um eine fehlertolerante verteilte Schulung für große PyTorch-Modelle zu erstellen. Er behandelt zwei Hauptengpässe: das synchrone Speichern von Checkpoints, das bis zu 40 % der Trainingszeit blockieren kann, und die langsame Wiederherstellung nach Hardware- oder Softwarefehlern. Die Lösung nutzt asynchrone Checkpoints über TorchAsyncCheckpoint, um Ein-/Ausgabeoperationen mit Berechnungen zu überlappen und dadurch eine Trainings-Effizienz von über 99 % im Vergleich zur Basislinie zu erreichen. Für die Fehlerwiederherstellung bietet NVRx einen Neustart im Prozess für weiche Fehler und ft_launcher für harte Abstürze, wodurch sich die Wiederherstellungszeiten von Minuten auf Sekunden reduzieren. Benchmarks für LLaMA-3.1-8B über 2 bis 8 Knoten zeigen, dass diese Methoden Standard-Kubernetes-Neustarts deutlich übertreffen, die unter NCCL-Timeout-Kaskaden leiden. Die Architektur nutzt Amazon FSx for Lustre für den gemeinsamen Speicher und Elastic Fabric Adapters für Hochgeschwindigkeitsnetzwerke. Dieser Ansatz ermöglicht es Teams, häufiger Checkpoints zu erstellen, ohne die GPU-Auslastung zu beeinträchtigen, und maximiert so die Gesamteffizienz des Clusters.
aws