405B Modell-Training voller Herausforderungen: NVIDIA GPUs versagen häufig, Meta-Ingenieure reagieren geschickt

GPUs und ihr Hochgeschwindigkeits-Speicher sind die Hauptursache für mehr als die Hälfte aller Ausfälle.

58,7% unerwartete Unterbrechungen durch GPUs, drei Vorfälle erforderten erhebliches manuelles Eingreifen

Berichten zufolge gab es während des 54-tägigen Vortrainings insgesamt 466 Arbeitsunterbrechungen. Davon waren 47 geplante Unterbrechungen aufgrund automatisierter Wartung wie Firmware-Upgrades oder von Bedienern initiierte Konfigurations- oder Datensatzaktualisierungen; 419 waren unerwartete Unterbrechungen, hauptsächlich aufgrund bestätigter Hardwareprobleme, einschließlich GPU- und Hostkomponentenausfälle oder vermuteter hardwarebezogener Probleme wie stille Datenbeschädigungen und ungeplante Einzelhost-Wartungsereignisse.

GPU-Probleme waren die häufigste Kategorie unerwarteter Unterbrechungen und machten 58,7% aller unerwarteten Probleme aus, einschließlich verschiedener GPU-Ausfälle wie NVLink und HBM3-Speicherausfälle. Dies ist nicht überraschend, da Nvidias H100 GPUs etwa 700W verbrauchen und großem thermischem Stress ausgesetzt sind. Trotz der vielen Ausfälle erforderten nur drei Vorfälle erhebliches manuelles Eingreifen, die restlichen Probleme konnten automatisch behoben werden.

Die übrigen 41,3% der unerwarteten Unterbrechungen wurden durch eine Kombination aus Softwarefehlern, Netzwerkkabeln und Netzwerkadaptern verursacht. Interessanterweise gab es in diesem Zeitraum nur zwei CPU-Ausfälle.

Während des 54-tägigen Llama 3 405B Vortrainings wurden die Grundursachen für unerwartete Unterbrechungen kategorisiert.

Eine weitere Herausforderung für das Llama 3 405B Großmodell-Trainingsteam war die gleichzeitige Leistungsänderung von Zehntausenden von GPUs, die das Stromnetz des Rechenzentrums belastete.

Während des Trainings können Tausende von GPUs gleichzeitig ihre Leistungsaufnahme erhöhen oder verringern, beispielsweise beim Warten auf den Abschluss von Checkpoints oder kollektiver Kommunikation oder beim Start oder Herunterfahren des gesamten Trainingsauftrags. Wenn dies geschieht, kann es zu momentanen Schwankungen des Stromverbrauchs im Rechenzentrum in der Größenordnung von Dutzenden von Megawatt kommen, was das Stromnetz überlasten kann.

Dies ist eine anhaltende Herausforderung, die bedeutet, dass Meta sicherstellen muss, dass seine Rechenzentren über genügend Strom verfügen, um das 405B-Modell und zukünftige größere Llama-Modelle zu betreiben. Mit der zunehmenden Komplexität von KI-Modellen steigen auch die erforderlichen Rechenressourcen.

Bemühungen hinter der Erreichung von 90% effektiver Trainingszeit

Um die Effizienz zu steigern, entwickelte Meta verschiedene Tools und Optimierungsstrategien, darunter die Reduzierung der Aufgabenstartzeit und Checkpoint-Zeit, die umfangreiche Nutzung des in PyTorch integrierten NCCL-Flugschreibers und die Identifizierung von langsamen GPUs. Dabei spielte NCCLX eine entscheidende Rolle bei der Fehlererkennung und -lokalisierung, insbesondere bei NVLink- und RoCE-bezogenen Problemen. Die Integration mit PyTorch ermöglichte die Überwachung und automatische Zeitüberschreitung von durch NVLink-Ausfälle verursachten Kommunikationsstillständen.

Der NCCL-Flugschreiber von PyTorch kann kollektive Metadaten und Stack-Traces in einen Ringpuffer aufzeichnen, was eine schnelle Diagnose und Lösung von Hängen und Leistungsproblemen in großem Maßstab ermöglicht, insbesondere bei NCCLX-bezogenen Problemen. Darüber hinaus macht die Mischung von NVLink und RoCE in Metas Netzwerk das Debugging von Problemen im großen Maßstab komplexer. Datenübertragungen über NVLink werden typischerweise durch Lade-/Speicheroperationen in CUDA-Kernels durchgeführt, und Ausfälle von Remote-GPUs oder NVLink-Verbindungen manifestieren sich oft als steckengebliebene Lade-/Speicheroperationen innerhalb von CUDA-Kernels, ohne dass explizite Fehlercodes zurückgegeben werden.

NCCLX verbessert die Geschwindigkeit und Genauigkeit der Fehlererkennung und -lokalisierung durch enge Zusammenarbeit mit PyTorch, was PyTorch den Zugriff auf den internen Zustand von NCCLX und die Verfolgung relevanter Informationen ermöglicht. Obwohl es nicht möglich ist, Hängen aufgrund von NVLink-Ausfällen vollständig zu verhindern, überwacht das System den Zustand der Kommunikationsbibliothek und führt automatische Zeitüberschreitungen durch, wenn solche Hängen erkannt werden. Darüber hinaus verfolgt NCCLX die Kernel- und Netzwerkaktivität für jede NCCLX-Kommunikation und liefert Schnappschüsse des internen Zustands fehlgeschlagener NCCLX-Kollektive, einschließlich abgeschlossener und ausstehender Datenübertragungen zwischen allen Rängen.

Manchmal können Hardwareprobleme zu "Nachzüglern" führen, die zwar noch laufen, aber langsam sind und schwer zu erkennen sind. Selbst ein einziger "Nachzügler" kann Tausende anderer GPUs verlangsamen und manifestiert sich oft als normale, aber langsame Kommunikation. Um dies zu bewältigen, entwickelte Meta Tools zur Priorisierung potenziell problematischer Kommunikation von ausgewählten Prozessgruppen, um Nachzügler effektiv zu erkennen und rechtzeitig zu beheben, wodurch die Verlangsamung minimiert und die Gesamttrainingseffizienz aufrechterhalten wird.

Eine interessante Beobachtung betrifft den Einfluss von Umweltfaktoren auf die Leistung des Trainings in großem Maßstab. Für Llama 3 405B bemerkte Meta eine 1-2%ige Schwankung des Durchsatzes zu einer bestimmten Tageszeit, was auf höhere Mittagstemperaturen zurückzuführen war, die die dynamische Spannungs- und Frequenzanpassung der GPUs beeinflussten und somit die Trainingsleistung. Dies ist jedoch kein großes Problem, da die dynamische Spannungs- und Frequenzskalierung von GPUs typischerweise von Temperaturschwankungen beeinflusst wird.

Schlussfolgerung

Angesichts der Tatsache, dass ein Cluster mit 16.384 H100 GPUs in 54 Tagen 419 unerwartete Ausfälle erlebte, was 7,76 Ausfälle alle 24 Stunden entspricht, fragt man sich, wie häufig Ausfälle im Memphis Supercluster von xAI mit 100.000 H100 GPUs auftreten würden.

Letzte Woche prahlte Elon Musk auf der Social-Media-Plattform X damit, dass er den "leistungsstärksten KI-Trainingscluster der Welt" in Betrieb genommen habe und bis Dezember dieses Jahres "die leistungsstärkste KI der Welt nach allen Maßstäben" schaffen werde. Berichten zufolge hat der Memphis Supercluster mit dem Training begonnen und verwendet Flüssigkeitskühlung und eine einzige RDMA-Netzwerkverbindungsarchitektur.

Proportional zur GPU-Größe könnte der Memphis Supercluster von xAI mit exponentiell höheren Ausfallraten konfrontiert sein, wobei die Anzahl der ausfallenden Komponenten um das Sechsfache steigen könnte, was größere Herausforderungen für zukünftige KI-Trainings mit sich bringt.

Referenzlinks:

https://www.inspire2rise.com/meta-faces-frequent-gpu-failures-llama-3-training.html

https://www.tomshardware.com/tech-industry/artificial-intelligence/faulty-nvidia-h100-gpus-and-hbm3-memory-caused-half-of-the-failures-during-llama-3-training-one-failure-every-three-hours-for-metas-16384-gpu-training-cluster

https://ai.meta.com/research/publications/the-llama-3-herd-of-models/