Das Design und die Praxis groß angelegter Hochleistungs-KI-Netzwerke

Netzwerkanforderungen für das Training großer Modelle

Auch im vergangenen halben Jahr waren große Modelle weiterhin ein heißes Thema. Obwohl es immer noch viele Diskussionen über die Entwicklung und Anwendung großer Modelle gibt, sind die Fähigkeiten großer Modelle sicherlich zur Grundlage für die zukünftige Entwicklung der künstlichen Intelligenz geworden. Im Vergleich zu früheren kleinen Modellen besteht bei großen Modellen eine stärkere Nachfrage nach verteiltem Paralleltraining in großem Maßstab.

Das hat vor allem zwei Gründe: Die Modelle selbst sind sehr groß. Aufgrund der aktuellen Einschränkungen des GPU-Speichers müssen wir ein Modell zur Speicherung in viele GPUs aufteilen. Das große Modell von FiberMall verfügt beispielsweise über 260 Milliarden Parameter, aber in Wirklichkeit kann eine einzelne A800-GPU mit 80 GB Speicher nur etwa 1–2 Milliarden Parameter speichern, einschließlich der Rechenzustände während des Trainings. Allein die Speicherung eines Modells mit 260 Milliarden Parametern würde Hunderte von GPUs erfordern, was bereits ein relativ großer Umfang ist.

Das Training weiterer Parameter erfordert mehr Rechenleistung, daher müssen wir zur Beschleunigung größere GPUs einführen, was bedeutet, dass auch die Anzahl der erforderlichen GPUs um eine Größenordnung zunehmen wird.

Bei FiberMall benennen wir die Trainingsskala basierend auf der Anzahl der GPUs, die für eine Aufgabe verwendet werden. Beispielsweise nennen wir es kleinformatig, wenn es weniger als 100 Karten sind, mittelgroß, wenn es zwischen 100 und 1,000 Karten ist, großformatig, wenn es über 1,000 Karten sind, und supergroßformatig, wenn es über 10,000 Karten sind. Gemäß dieser Namenskonvention können wir sagen, dass ein groß angelegtes paralleles Training von über 1,000 Karten die Grundlage für den Erfolg großer Modelle ist.

paralleles Training

Es gibt mehrere gängige Strategien für das verteilte parallele Training von Modellen des maschinellen Lernens. Wir werden drei der am weitesten verbreiteten Ansätze skizzieren.

Die am weitesten verbreitete Strategie ist die Datenparallelität. Bei der Datenparallelität verwaltet jede GPU eine identische Kopie des Modells, und der Datensatz wird für das Training partitioniert und auf die GPUs verteilt. Nach jeder Trainingsiteration werden die auf jeder GPU berechneten Verläufe global synchronisiert und die Modellparameter für die nächste Iteration werden dann auf allen GPUs entsprechend aktualisiert. Bei der Datenparallelität ist eine Allreduce-Operation erforderlich, um die Gradienten über die GPUs hinweg zu aggregieren, und das Kommunikationsvolumen skaliert mit der Größe der Modellparameter, was bei großen Modellen mit Milliarden von Parametern erheblich sein kann.

Die zweite Parallelstrategie ist die Pipeline-Parallelität. Neuronale Netzwerkmodelle bestehen typischerweise aus mehreren Schichten von Neuronen, einschließlich der tiefen Transformer-Modelle. Bei der Pipeline-Parallelität wird das Modell nach Schichten partitioniert, wobei verschiedene Schichten verschiedenen GPUs zugewiesen werden. Dieser Ansatz erfordert Punkt-zu-Punkt-Datenübertragungen zwischen den GPUs für die Weitergabe von Aktivierungen während des Vorwärtsdurchlaufs und Gradienten während des Rückwärtsdurchlaufs. Während die Kommunikation mehrmals pro Iteration erfolgt, ist das übertragene Datenvolumen im Allgemeinen nicht groß und die Anforderungen an die Netzwerkleistung relativ gering.

Die dritte Parallelstrategie ist die Tensorparallelität, bei der mehrere GPUs gemeinsam genutzt werden, um eine einzelne Tensorberechnung durchzuführen, beispielsweise eine Matrixmultiplikation. Dieser Ansatz erfordert eine Allreduce-Operation, um die Ergebnisse der partiellen Tensorberechnung über die GPUs hinweg zu synchronisieren. Die Größe der berechneten Tensoren hängt sowohl von der Modellarchitektur als auch von der für das Training verwendeten Stapelgröße ab. Diese Tensorberechnungen erfolgen häufig während jeder Trainingsiteration. Daher stellt die Tensorparallelität die höchsten Anforderungen.

drei parallel

In Anbetracht der Merkmale der drei parallelen Strategien wird beim Training groß angelegter Modelle üblicherweise ein hybrider Ansatz gewählt.

Innerhalb einer einzelnen Maschine mit mehreren GPUs wird Tensorparallelität eingesetzt, um die NVLink-Verbindungen mit hoher Bandbreite zwischen den GPUs voll auszunutzen.

Da eine einzelne Maschine mit 8 GPUs möglicherweise nicht ausreicht, um das gesamte große Modell aufzunehmen, wird Pipeline-Parallelität über mehrere Maschinen hinweg verwendet, um eine minimale Trainingseinheit mit parallelen Pipelines zu erstellen.

Um das Modelltraining weiter zu beschleunigen, wird dann Datenparallelität angewendet, wobei jede Datenparallelitätsgruppe (DP) aus einer Kombination von Tensorparallelität und Pipelineparallelität besteht.

Die Allreduce-Operationen in der Datenparallelität finden innerhalb jeder DP-Gruppe statt, wobei die Farbverläufe über die GPUs derselben DP-Gruppe hinweg synchronisiert werden. Das Diagramm zeigt beispielsweise eine Konfiguration mit 8 GPUs in Tensor-Parallelität, 4 GPUs in Pipeline-Parallelität und 3 DP-Gruppen. In diesem Fall gibt es 32 Allreduce-Gruppen mit jeweils 3 GPUs, die eine Gradientensynchronisierung durchführen.

Die primäre Netzwerkanforderung für das Training großer Modelle ist der Allreduce-Vorgang in der Datenparallelitätsphase, wobei jede GPU an Allreduce für Datenmengen im Bereich von 10 GB teilnehmen muss.

Hybridparallelität

Der Bedarf an groß angelegtem Modelltraining hat uns dazu veranlasst, drei Hauptziele für Hochleistungs-KI-Netzwerke vorzuschlagen: ultragroßer Maßstab, ultrahohe Bandbreite und ultralange Stabilität.

Ultragroßer Maßstab

Die Größe des Modells bestimmt direkt die Geschwindigkeit des Modelltrainings. Wie in der Abbildung dargestellt, würde das Training eines Modells mit 175 Milliarden Parametern mit 100 GPUs über 2,000 Tage dauern. Durch den Einsatz von 8,000 GPUs lässt sich die Trainingszeit jedoch auf etwa 30 Tage verkürzen. Dies ist heute von entscheidender Bedeutung für die schnelle Iteration großer Modelle.

Ultrahohe Bandbreite

Die AllReduce-Bandbreite bestimmt direkt die Gesamteffizienz eines groß angelegten verteilten Trainings. Wie die Abbildung zeigt, beträgt das Gesamtbeschleunigungsverhältnis bei groß angelegtem verteiltem Training nur 5 %, wenn die durchschnittliche AllReduce-Bandbreite einer einzelnen GPU 70 GB/s beträgt. Um ein Beschleunigungsverhältnis von 90 % zu erreichen, muss die AllReduce-Bandbreite einer einzelnen GPU 20 GB/s erreichen, was einer einzelnen GPU entspricht, die eine 400G-Netzwerkkarte vollständig nutzt.

Ultralange Stabilität

Da das Modelltraining mehrere Wochen dauern kann, ist die Langzeitstabilität von größter Bedeutung. Am Beispiel der GPU-Verfügbarkeit: Wenn die monatliche Verfügbarkeit einer einzelnen GPU 99.9 % beträgt, beträgt die Wahrscheinlichkeit, dass während eines Trainingsmonats mit 1,000 GPUs ein Fehler und eine Unterbrechung auftritt, 60 %. Selbst wenn die GPU-Verfügbarkeit auf 99.99 % verbessert wird, liegt die Unterbrechungswahrscheinlichkeit bei 8,000 GPUs immer noch bei etwa 50 %. Um Trainingsunterbrechungen zu minimieren und die Notwendigkeit häufiger Checkpoints zu reduzieren, muss das Netzwerk eine noch höhere Verfügbarkeit gewährleisten.

Netzwerkanforderung

AIPod-Hochleistungsnetzwerkdesign

Um diese Ziele zu erreichen, haben wir das AIPod-Hochleistungsnetzwerk für die KI-Infrastruktur entwickelt.

Wie im Diagramm dargestellt, handelt es sich beim AIPod-Netzwerk um eine vollständig verbundene Topologie mit etwa 400 Switches, 3,000 Netzwerkkarten, 10,000 Kabeln und 20,000 optischen Modulen. Die gesamte Kabellänge entspricht der Entfernung von Peking nach Qingdao.

AIPod hohe Leistung

Rationales Design des AIPod-Netzwerks

Nach der vorherigen Diskussion zum konzeptionellen Verständnis wollen wir uns nun mit dem rationalen Design des AIPod-Netzwerks befassen.

Um die enorme Größe des AIPod-Netzwerks zu unterstützen, wurde eine dreistufige, nicht blockierende CLOS-Netzwerkarchitektur gewählt. Die CLOS-Netzwerktopologie ähnelt dem zuvor gezeigten Diagramm, wobei:

Server sind mit den Leaf-Layer-Switches (LF) verbunden.

Leaf-Schalter sind mit den Spine-Schaltern (SP) verbunden.

Spine-Switches sind außerdem mit der SuperSpine-Schicht (SSP) verbunden.

Wie bereits erwähnt, erfolgt beim Training großer Modelle die primäre Kommunikation zwischen GPUs desselben Servers, d. h. GPU 1 zu GPU 1, GPU 2 zu GPU 2 usw. Die GPU-übergreifende Kommunikation ist seltener.

Um diesem Kommunikationsmuster gerecht zu werden, verwendet das AIPod-Netzwerk eine 8-Kanal-Architektur. Jeder Server verfügt über 8 Netzwerkports, die jeweils mit einem anderen Leaf-Switch verbunden sind. Diese 8 Leaf-Switches bilden eine Aggregationsgruppe und unterstützen bis zu 512 GPUs.

Darüber hinaus sind die 8 Leaf-Switches mit verschiedenen Kanälen verbunden, und innerhalb jedes Kanals befinden sich die Leaf- und Spine-Switches in einer Full-Mesh-Topologie. Dieses Design ermöglicht die Skalierung des Clusters zur Unterstützung von über 16 GPUs.

Obwohl der Großteil der Kommunikation innerhalb desselben Kanals stattfindet, besteht immer noch Bedarf an kanalübergreifender Kommunikation. Um dieses Problem zu lösen, nutzt das AIPod-Netzwerk die SuperSpine-Schicht, um die Spine-Switches verschiedener Kanäle miteinander zu verbinden und so einen nahtlosen Kommunikationspfad über das gesamte Netzwerk bereitzustellen.

Das AIPod-Netzwerk verwendet ein nicht blockierendes oder 1:1-Überbuchungsverhältnis-Design, bei dem die Uplink- und Downlink-Bandbreite der Switches gleich sind und so eine ausreichende Bandbreite innerhalb des Clusters gewährleistet.

Um die größtmögliche Skalierung zu unterstützen, nutzt das AIPod-Netzwerk die neuesten Switch-Chips mit hoher Kapazität, wie den 51.2T-Switch, der aus den vorherigen 12.8T- und 25.6T-Generationen hervorgegangen ist.

Dieses rationale Design des AIPod-Netzwerks mit seiner mehrschichtigen CLOS-Architektur, kanalbasierter Kommunikation und Switching-Komponenten mit hoher Kapazität ermöglicht die Unterstützung umfangreicher KI-Trainings-Workloads.

Nicht konvergent auf 3 Ebenen

In der vorherigen Diskussion haben wir uns mit dem Aufbau großer AIPod-Netzwerke befasst. Wenden wir uns nun den Herausforderungen im Zusammenhang mit der Netzwerkbandbreite zu.

Die intelligente Cloud-Infrastruktur von FiberMall hat sich für eine maximale Serverzugriffsspezifikation von 8x entschieden400G, und das Netzwerk nutzt eine nicht blockierende CLOS-Architektur, die RDMA und GDR unterstützt. Theoretisch sollte dies eine sehr hohe Bandbreite ermöglichen. Mit zunehmender Größe des Netzwerks können jedoch verschiedene Probleme auftreten, eines der schwerwiegendsten sind Pfadauswahlkonflikte zwischen Switches.

Technisch gesehen haben fast alle Netzwerkübertragungen ein inhärentes Problem: Um eine Neuordnung der Pakete innerhalb einer Verbindung zu vermeiden, die eine erneute Übertragung und Leistungseinbußen auf der Empfängerseite auslösen kann, müssen Switches Pakete derselben Verbindung über einen einzigen Pfad weiterleiten. Die Auswahl dieses Pfades hängt vom verwendeten Hash-Algorithmus ab.

Es ist bekannt, dass Hash-Algorithmen Kollisionen aufweisen, wie im Diagramm dargestellt. Wenn zwei Cross-Switch-Verbindungen gleichzeitig dieselbe linke Verbindung wählen, kommt es zu einer Überlastung, während die rechte Verbindung nicht ausgelastet bleibt, wodurch sich die Bandbreite beider Verbindungen effektiv halbiert. Dieses Problem tritt in großen Schulungsumgebungen recht häufig auf.

Um die Auswirkungen dieses Problems abzumildern, konfigurieren wir die NCCL-Kommunikationsbibliothek normalerweise so, dass sie mehrere Verbindungen zwischen GPUs verwendet, wie im Diagramm rechts dargestellt. Je mehr Verbindungen vorhanden sind, desto geringer ist die Wahrscheinlichkeit eines schwerwiegenden Ungleichgewichts. Dieser Ansatz erhöht die Routing-Entropie im Netzwerk und verringert die Auswirkungen von Hash-basierten Pfadauswahlkonflikten, löst das Problem jedoch nicht vollständig.

hoher Bandbreite

Wir können beobachten, dass diese Probleme nur in Cross-Switch-Kommunikationsszenarien auftreten. Um die Auswirkungen weiter zu reduzieren, sollten wir daher versuchen, die Kommunikation nach Möglichkeit innerhalb eines einzigen Schalters zu halten. Die aggregationsinterne Gruppenkommunikation zwischen GPUs derselben Anzahl überquert keine Switches und vermeidet somit den Hash-basierten Pfadauswahlkonflikt. Aus diesem Grund streben wir danach, die Größe jeder Aggregationsgruppe zu maximieren.

Um die Cross-Switch-Kommunikation zu reduzieren, bietet das AIPod-Netzwerk einen netzwerkarchitekturbewussten Ansatz. Dadurch können die übergeordneten Systeme die Position der aktuellen GPU in der Netzwerkarchitektur, ihre Aggregationsgruppe und ihre Gruppen-ID kennen.

Der AIPod kann diese Informationen dem Aufgabenplanungssystem zur Verfügung stellen und so Aufgaben so weit wie möglich innerhalb derselben Aggregationsgruppe planen und so sicherstellen, dass die Kommunikation innerhalb einer einzigen Aggregationsgruppe bleibt.

Allerdings sind große Modellaufgaben oft zu umfangreich, um auf eine einzige Aggregationsgruppe beschränkt zu werden. In solchen Fällen müssen wir die Aggregationsgruppeninformationen nutzen, um eine ordnungsgemäße Verarbeitung der globalen GPU-Ressourcen durchzuführen, damit die Kommunikationsbibliothek effizientere Allreduce-Topologien erstellen kann, die den Cross-Switch-Verkehr minimieren. Das Diagramm unten rechts veranschaulicht dieses Konzept, bei dem zwei unterschiedliche Ringkonstruktionsreihenfolgen für einen 4-GPU-Allreduce-Vorgang zu einer deutlich unterschiedlichen Cross-Switch-Bandbreitennutzung führen können. Der Ansatz auf der linken Seite ist effizienter, während der Ansatz auf der rechten Seite weniger effizient ist. Dies ist der Vorteil der netzwerkarchitekturbewussten Funktionen des AIPod.

NCCL

Der netzwerkarchitekturbewusste Ansatz kann den Umfang der Switch-übergreifenden Kommunikation erheblich reduzieren und so die Auswirkungen von Hash-basierten Pfadauswahlkonflikten abmildern. Das Problem ist jedoch nicht vollständig gelöst, da es weiterhin zu Konflikten kommen kann.

Um dieses Problem vollständig zu lösen, müssen wir die Multipfad-Weiterleitungsfunktionen des Netzwerks nutzen, die den Empfang von Paketen außerhalb der Reihenfolge ermöglichen und damit die Annahme widerlegen, dass Pakete einer einzelnen Verbindung nur über einen einzigen Pfad weitergeleitet werden können. Infiniband-Netzwerke haben diese adaptive Routing-Funktion eingeführt, und im AIPod haben wir eine ähnliche Funktionalität mithilfe der DLB-Technologie (Dynamic Load Balancing) zusätzlich zu den maßgeschneiderten Switches von FiberMall implementiert.

Bei diesem Ansatz, wie im Diagramm dargestellt, markiert die Netzwerkschnittstellenkarte zunächst die Pakete, um eine Verarbeitung außerhalb der Reihenfolge zu ermöglichen. Anschließend berechnen die Switches den optimalen Pfad für jedes Paket basierend auf Faktoren wie Warteschlangentiefe und Verbindungsauslastung. Dies bringt die Herausforderung der Neuordnung von Paketen mit sich, die vom Empfänger durch die Verarbeitung der Neuordnung von Paketen gelöst wird.

Diese Kombination von Mechanismen kann das Hash-basierte Pfadauswahlkonfliktproblem bei der Cross-Switch-Kommunikation effektiv lösen. Wir glauben, dass die Verbesserung dieser zugrunde liegenden technischen Fähigkeiten die ultimative Lösung für groß angelegte Schulungen ist.

Gewährleistung der Stabilität in AIPod-Netzwerken

Das unterbrechungsfreie Aufrechterhalten lang andauernder Aufgaben ist für das Training großer Modelle von entscheidender Bedeutung, Hardwareausfälle sind jedoch unvermeidlich. Für einen Cluster, der 16,000 GPUs aufnehmen kann, können fast 100,000 optische Module vorhanden sein. Unter der Annahme einer mittleren Zeit zwischen Ausfällen (MTBF) von 10 Millionen Stunden pro Modul und einer so großen Basis kann ein Ausfall im Durchschnitt etwa alle vier Tage auftreten, da Ereignisse mit geringer Wahrscheinlichkeit in großem Maßstab zu Ereignissen mit hoher Wahrscheinlichkeit werden.

Um diesem Problem zu begegnen, ist das AIPod-Netzwerk so konzipiert, dass es eine schnelle Wiederherstellung nach Hardwarefehlern ermöglicht. Angenommen, bei einer Verbindung im Netzwerk fällt ein Fehler aus, der zu Paketverlusten führt. In diesem Fall muss der AIPod sicherstellen, dass die Dauer dieses Paketverlusts kürzer ist als das typische von der Kommunikationsbibliothek festgelegte Timeout, um eine Taskunterbrechung zu verhindern.

Bei Uplink-Paketverlusten kann die dynamische Lastausgleichstechnologie des AIPod durch Auswahl einer alternativen verfügbaren Verbindung eine Wiederherstellung im Millisekundenbereich ermöglichen. Bei Downlink-Paketverlusten löst der AIPod Netzwerk-Routing-Aktualisierungen und Konvergenz aus und optimiert so die Routing-Aktualisierungsstrategie und die Verteilungseffizienz, um die Dauer des Downlink-Paketverlusts innerhalb der zweiten Ebene zu halten.

erholen

Darüber hinaus verfügt das AIPod-Netzwerk über einen Black-Box-Erkennungsmechanismus, um versteckte Probleme proaktiv zu identifizieren, wie z. B. Bit-Flip-Probleme, die durch Switch-Chip-Defekte verursacht werden und ohne explizite Fehlererkennung zu Paketbeschädigung und -verlust führen können. Dieser Mechanismus stellt sicher, dass jede Verbindung kontinuierlich überwacht wird und etwaige Verbindungsprobleme eine automatische Lokalisierung und Isolierung sowie Warnungen für ein schnelles Eingreifen des Betriebsteams auslösen.

Über verbindungsbedingte Ausfälle hinaus kann es beim verlustfreien Netzwerkdesign des AIPod, das durch die PFC-Technologie ermöglicht wird, auch zu Anomalien wie PFC-Deadlocks oder anhaltenden PFC-Stürmen aufgrund von Chipausfällen kommen. Der AIPod bewältigt diese Herausforderungen durch eine leistungsstarke Telemetrieplattform, die auf den benutzerdefinierten Switches von FiberMall aufbaut und Einblick in alle Paketverlust-, PFC- oder Pufferanomalien bietet, was eine schnelle Erkennung und Lösung ermöglicht, bevor die Stabilität des Trainings großer Modelle beeinträchtigt wird.

Erreichen einer extrem niedrigen Latenz in AIPod-Netzwerken

Während eine niedrige Latenz kein zentraler Gesichtspunkt für das Training großer Modelle ist, wo die Bandbreite im Vordergrund steht, ist das AIPod-Netzwerk auch für die Unterstützung latenzempfindlicher KI-Workloads konzipiert.

Die Schlüsselfaktoren, die für eine niedrige Latenz optimiert werden können, sind Glasfaserverzögerung und Switch-Warteschlangenverzögerung. Das AIPod-Netzwerk optimiert das physische Layout des Clusters, um den Abstand zwischen Servern, Switches und Switches zu minimieren und ermöglicht so die Verwendung kürzerer Glasfaserverbindungen, um die Glasfaserausbreitungsverzögerung zu reduzieren.

Darüber hinaus optimiert das AIPod-Netzwerk die Überlastungskontrollparameter, um die Belegung des Switch-Puffers zu minimieren, was sich direkt auf die Warteschlangenverzögerung auswirkt. Mit diesen Optimierungen kann der AIPod eine Netzwerklatenz im Mikrosekundenbereich erreichen, die im Kontext der End-to-End-Trainingsleistung großer Modelle vernachlässigbar ist.

Nutzung von Hochleistungsspeicher in AIPod

Neben dem leistungsstarken Trainingsnetzwerk nutzt der AIPod auch die leistungsstarken Speicherfunktionen von FiberMall, wie das elastische RDMA-basierte parallele Dateisystem (PFS), das bis zu 200 Gbit/s pro Client liefern kann, und die leistungsstarke Hardwarelast Balancieren von Instanzen für den Zugriff auf Cloud-Dateispeicher (CFS) oder Objektspeicher (BOS) und bieten über 10 Gbit/s stabile Bandbreite pro Client.

Diese Hochleistungsspeichertechnologien tragen wesentlich zur Gesamtrecheneffizienz des Trainings großer Modelle bei.

AIPod-Großmodellschulung in der Praxis

FiberMall hat die praktische Anwendung des AIPod-Netzwerks in groß angelegten Modellschulungen demonstriert und einen stabilen Betrieb mit einer Kommunikationsbandbreite pro GPU von über 100 Gbit/s sowohl auf RoCE- als auch auf Infiniband-Clustern demonstriert.

Um diese groß angelegten Schulungsbemühungen zu unterstützen, hat FiberMall spezielle Tools entwickelt, darunter ein hochpräzises Aufgabenvisualisierungstool, das die Netzwerkverkehrsdaten Tausender paralleler Instanzen aggregieren und analysieren kann, sowie ein Fehlerdiagnosetool, das dies schnell identifizieren kann Ursache verschiedener Anomalien wie GPU-Ausfälle oder langsame Knoten, die andernfalls die gesamte Trainingsleistung beeinträchtigen können.

Das AIPod-Hochleistungsnetzwerk, die unterstützenden Tools und Speicherfunktionen ermöglichen es den Kunden von FiberMall, große Modelle effizient und kostengünstig zu trainieren und so im Zeitalter der großen KI-Modelle eine führende Position zu behaupten.

Hinterlasse einen Kommentar

Nach oben scrollen