Infrastrukturaufbau und Skript-Setup
Einführung
- Über mehrere Monate hinweg trainierten ein kleines Forschungsteam und ein Engineering-Team auf ihrer eigenen Infrastruktur ein Modell mit 70 Milliarden Parametern von Grund auf und übertrafen bei Reasoning-bezogenen Aufgaben Zero-Shot-GPT-4o.
- Heute teilen sie einen umfassenden Leitfaden zu den nötigen Infrastruktur-Setups – von der anfänglichen Cluster-Einrichtung über die Installation des Betriebssystems bis hin zur automatischen Fehlerbehebung bei Ausfällen während des Trainings.
- Sie erläutern detailliert die Herausforderungen und Lösungen in jedem Schritt und veröffentlichen ihre Infrastruktur-Skripte, damit andere Teams leichter eine stabile Infrastruktur aufbauen können.
Hintergrund: Wie dieses System funktioniert
- Um Experimente mit großen Sprachmodellen schnell durchführen zu können, werden schnelle GPUs benötigt.
- Verwendet wird ein Cluster mit 4.092 H100-GPUs, verteilt auf 511 Rechner.
- Über ein InfiniBand-Netzwerk wird Hochgeschwindigkeitskommunikation zwischen den GPUs ermöglicht.
Prozess: Von Bare Metal zu einem vollständig betriebsfähigen Cluster
Bereitstellung einzelner Maschinen
- Über das Management-Netzwerk wird zunächst eine Ethernet-Verbindung zum Cluster eingerichtet und auf den BMC (Baseboard Management Controller) zugegriffen.
- Mit iDRAC wird Ubuntu 22.04 auf dem ersten Server installiert, der anschließend zur Konfiguration der übrigen Server genutzt wird.
Installation des Betriebssystems auf allen Maschinen
- Mit der MAAS-Software werden die übrigen Server bereitgestellt.
- Mittels PXE-Boot und automatisierter iDRAC-Tools wird der Netzwerk-Boot eingerichtet und MAAS so konfiguriert, dass es auf PXE-Boot-Anfragen antwortet.
Diagnose defekter Maschinen
- Etwa 10 % der Maschinen schlagen beim Booten fehl, meist aufgrund physischer Probleme.
- Durch automatisierte Checks werden Probleme erkannt, anschließend wird Dell um einen erneuten Test gebeten oder ein Ticket für das Rechenzentrumspersonal erstellt.
Minimales beobachtbares Metal-Setup
- Auf allen Servern werden Docker, GPU-Treiber für Rechenzentren, Prometheus Node Exporter und weitere Komponenten installiert.
- Es werden grundlegende GPU-Diagnosen ausgeführt, um zu prüfen, ob die meisten GPUs ordnungsgemäß funktionieren.
GPU-Training auf einem einzelnen Node
- Es wird überprüft, ob jede Maschine eigenständig GPU-Workloads ausführen kann.
- GPU-bezogene Fehler werden behoben, ebenso Verbindungsprobleme zwischen dem PCIe-Bus und Netzwerkkarten.
InfiniBand-Bereitstellung
- UFM (Unified Fabric Manager) wird installiert, Netzwerkswitches werden erkannt und anhand ihrer physischen Position benannt.
- Probleme bei der Netzwerkverkabelung sowie Temperaturwarnungen werden behoben.
Sicherstellen vollständig gesunder Maschinen
- Durch verschiedene Health Checks wird festgestellt, welche Hosts gesund genug für das Training sind.
- Es werden diverse Prüfungen durchgeführt, darunter GPU, Speicherplatz, Docker, dmesg, iDRAC, Festplatten, InfiniBand, NVLink, GDR, VBIOS, Flint und PSB.
Diagnose typischer Trainingsprobleme
- Sobald die Hardware korrekt funktioniert, beginnt das Training.
- Es werden Probleme wie Abstürze beim Start, Abstürze während des Trainings, Hänger ohne Stack-Trace-Informationen und sinkende Trainingsgeschwindigkeit behoben.
Verbesserung der Infrastruktur-Tools
- Es werden verschiedene Tools und Systeme entwickelt, damit das Training reibungslos läuft.
- Defekte Maschinen und Netzwerkkomponenten werden automatisch deaktiviert und Reparaturanfragen automatisiert.
- Ein lokales Mirror-Dateisystem und eine lokale verteilte Docker-Registry werden aufgebaut.
- Performance-Monitoring-Tools werden eingerichtet, und es werden Werkzeuge erstellt, um langsame Trainings-Batches zu erkennen und deren Ursachen zu verstehen.
Meinung von GN⁺
- Dieser Artikel ist äußerst nützlich, weil er praktische Erfahrungen und Lösungsansätze für die Einrichtung und den Betrieb großer Cluster liefert.
- Er erklärt anschaulich die Komplexität des Infrastrukturaufbaus, der für das Training großer Sprachmodelle erforderlich ist.
- Er bietet verschiedene Skripte und Tools, an denen sich andere Teams beim Aufbau einer ähnlichen Infrastruktur orientieren können.
- Er beschreibt überzeugend die Bedeutung von InfiniBand-Netzwerken und die Probleme, die bei ihrer Einrichtung auftreten können.
- Er erläutert auch gut, welche Punkte sowie Vor- und Nachteile bei der Einführung neuer Technologien oder Open Source berücksichtigt werden sollten.
1 Kommentare
Hacker-News-Kommentare
Ein kleines Forschungsteam trainierte auf eigener Infrastruktur ein Modell mit 70B Parametern und übertraf bei Reasoning-bezogenen Aufgaben Zero-shot-GPT-4.
In einem Cluster sind 4.092 H100-GPUs auf 511 Rechner verteilt.
Dieses Thema wurde vor ein paar Tagen im Latent Space Podcast besprochen.
Es wird gefragt, warum dafür so viel PC-Hardware nötig ist.
Es wäre interessant, auf derselben Hardware das Training statt mit tokenisierten Trainingsdaten mit rohem Unicode zu wiederholen.
4.092 H100-GPUs
Es gibt Interesse am gesamten Stromverbrauch, der für den Bau des Modells nötig ist.
Es wird gefragt, wie hoch die Gesamtkosten sind.
Cisco arbeitet bei Geschwindigkeiten von 800G pro Port an einer neuen Zusammenarbeit mit NVIDIA.
Es wird gefragt, was nach dem Training des Modells mit der Hardware und der Infrastruktur geschieht.