Die Verkabelung von (generativer) Künstlicher Intelligenz GenAI-Revolution braucht Glasfaser
Anbieter zum Thema
Woran denken Sie, wenn Sie an Künstliche Intelligenz (KI) denken? Für mich begann alles im November 2022, als ein alter Freund auf Linkedin schrieb, wie beeindruckt er von „ChatGPT“ war. Nachdem ich selbst einen Account angelegt hatte und die KI testweise nutzte, war ich von der menschlichen und flüssigen Kommunikation überrascht. Vor allem, da sie auch kontextbezogen und technisch fundiert war.

Am besten gefiel mir die Art und Weise, wie die Antworten auf dem Bildschirm erschienen – jeder Buchstabe und jedes Wort langsam und einzeln nacheinander, als ob es von einem Menschen am anderen Ende der Verbindung getippt worden wäre. Doch die Grenzen der KI waren ebenfalls offensichtlich: Es war und ist fast so, als würde man mit einem intelligenten, aber etwas langweiligen Freund interagieren. Die auf den Punkt gebrachten Antworten erinnerten mich immer wieder daran, dass es sich um ein KI-Modell handelt und die Ergebnisse mit einer gewissen Skepsis zu betrachten sind.
Ein halbes Jahr später antwortet ChatGPT so schnell, dass mir schwindelig wird, wenn ich eine Frage eingebe. Was hat sich in den letzten sechs Monaten getan? Welche Änderungen wurden von den Machern von ChatGPT vorgenommen?
Höchstwahrscheinlich hat OpenAI die Inferenzkapazität seines KI-Clusters skaliert, um den Anforderungen von über 100 Millionen Anwendern gerecht zu werden. Nvidia, der führende Hersteller von KI-Chips, hat Berichten zufolge rund 20.000 Grafikprozessoren (GPUs) bereitgestellt, um die Entwicklung von ChatGPT zu unterstützen. Darüber hinaus plant Nvidia eine deutlich höhere GPU-Nutzung, wobei spekuliert wird, dass das kommende KI-Modell bis zu 10 Millionen GPUs benötigen könnte.
GPU-Cluster-Architektur - die Grundlage der generativen KI
Das Konzept von 20.000 GPUs ist überschaubar. Aber der Gedanke, 10 Millionen von ihnen optisch zu verbinden, um intelligente Aufgaben zu erfüllen, ist eine ziemliche Herausforderung.
Wie lassen sich GPU-Cluster erstellen? Indem zunächst kleinere Setups konfiguriert und diese dann schrittweise auf Tausende von GPUs erweitert werden. Als Beispiel dienen hier die Nvidia-Design-Richtlinien, die in der Tradition der HPC-Netzwerke (High-Performance Computing) verwurzelt sind.
Gemäß ihren Empfehlungen werden umfangreiche GPU-Cluster aus kleineren skalierbaren Einheiten von 256 GPU-Pods aufgebaut. Jeder Pod besteht aus acht Rechengestellen und zwei Netzwerkschränken in der Mitte der Schrankreihe platziert (MoR). Die Verbindung innerhalb und zwischen diesen Pods wird über Infiniband hergestellt, ein Hochgeschwindigkeits-Switching-Protokoll mit niedriger Latenz, das die „Quantum-2“-Switches von Nvidia verwendet.
Die aktuellen Infiniband-Switches nutzen 800G OSFP-Ports mit zwei 400G Next Data Rate (NDR)-Ports. Bei dieser Konfiguration werden acht Fasern pro Port verwendet, was zu 64 x 400G-Ports pro Switch führt.
Sehr wahrscheinlich wird die nächste Generation von Switches, egal welchen Namen sie tragen, 'Extreme Data Rate' (XDR) Geschwindigkeiten verwenden. Das bedeutet 64x800G Ports pro Switch, wobei ebenfalls acht Fasern pro Port - meist Singlemode - verwendet werden. Dieses 4-Kanal-Muster (8 Fasern) scheint ein wiederkehrendes Motiv in der Infiniband-Roadmap zu sein, die in der Tabelle (s.o.) zusammengefasst ist, und wird in Zukunft noch höhere Geschwindigkeiten ermöglichen.
Was die Verkabelung anbelangt, so besteht das bewährte Verfahren in der Welt des HPC in der Verwendung von aktiven optischen Punkt-zu-Punkt-Kabeln (Active Optical Cables, AOC). Diese Kabel stellen die Verbindung zwischen den optischen Transceivern her.
Mit der Einführung der neuesten 800G NDR-Ports mit Multifiber Push-On (MPO)-Schnittstellen hat sich die Landschaft jedoch von AOC-Kabeln zu passiven MPO-MPO-Patchkabeln für Punkt-zu-Punkt-Verbindungen verändert. Wenn man einen einzelnen 256-GPU-Pods betrachtet, stellt die Verwendung von Punkt-zu-Punkt-Verbindungen kein großes Problem dar. Ich persönlich würde mich für MPO-Patch-Kabel entscheiden, für eine optimierte Konfiguration.
Mit Rail-optimierten Setups skalieren
Bis hierher sind die Dinge relativ simpel. Herausforderungen ergeben sich jedoch, wenn ein größerer Maßstab angestrebt wird, zum Beispiel 16.000 GPUs, die eine Verbindung von 64 dieser 256 GPU-Pods erfordern – aufgrund der 'Rail'-optimierten Natur der für diese Hochleistungs-GPU-Cluster verwendeten Compute Fabric. In einem Rail-optimierten Setup sind alle Host-Channel-Adapter (HCAs) von jedem Rechensystem mit demselben Leaf-Switch verbunden.
Dieser Aufbau gilt als entscheidend für die Maximierung der Deep Learning (DL)-Trainingsleistung in einer Multi-Job-Umgebung. Ein typischer „H100“-Knoten ist mit vier Dual-Port-QSFPs ausgestattet, was acht Uplink-Ports entspricht – je ein unabhängiger Uplink pro GPU –, die mit acht verschiedenen Leaf-Switches verbunden sind, wodurch eine acht-Rails-optimierte Fabric entsteht (siehe: Abbildung).
Dieser Entwurf funktioniert nahtlos, wenn es sich um einen einzelnen Pod mit 256 GPUs handelt. Was aber, wenn das Ziel darin besteht, eine Fabric mit 16.384 GPUs zu konstruieren?
In einem solchen Szenario werden zwei zusätzliche Switching-Ebenen erforderlich. Der erste Leaf-Switch von jedem Pod ist mit jedem Switch in Spine Gruppe Eins (SG1) verbunden, während der zweite Leaf-Switch innerhalb von jedem Pod mit jedem Switch in SG2 verbunden ist, und so weiter. Um eine vollständig realisierte Fat-Tree-Topologie zu erreichen, muss eine dritte Schicht von Core Switching Grupping (CG) integriert werden.
Betrachten wir noch einmal die Zahlen für einen 16.384-GPU-Cluster: Die Herstellung von Verbindungen zwischen Rechenknoten und Leaf-Switches (acht pro Pod) erfordert 16.384 Kabel, also 256 MPO-Patchkabel pro Pod.
Je weiter wir unser Netzwerk ausbauen, desto anspruchsvoller wird die Aufgabe, Leaf-Spine- und Spine-Core-Verbindungen herzustellen. Dies beinhaltet die anfängliche Bündelung mehrerer Punkt-zu-Punkt-MPO-Patch-Kabel, die dann über Entfernungen von 50 bis 500 Meter gezogen werden (siehe: Tabelle 2)
Könnte es einen effizienteren Ansatz für diesen Betrieb geben? Ein Vorschlag wäre die Verwendung eines strukturierten Verkabelungssystems mit zwei Patch-Feldern und hochfaserigen MPO-Trunks, zum Beispiel mit 144 Fasern. Auf diese Weise ließen sich 18 MPO-Patch-Kabel (1) (18x8=144) in einem einzigen Base-8-Trunk (3) zusammenfassen (siehe: Abbildung).
Dieses konsolidierte Kabel kann in einem Rutsch durch das Rechenzentrum gezogen werden. Durch die Verwendung von Patch-Feldern, die für acht-Faser-Verbindungen geeignet sind (4), und MPO-Adapterpanels (2) an den Endpunkten können sie dann aufgeteilt und mit einer Rail-optimierten Fabric verbunden werden. Mit dieser Methode entfällt die Notwendigkeit, zahlreiche einzelne MPO-Patch-Kabel zu verwalten.
Zur Veranschaulichung dienst das Szenario, in dem 256 Uplinks von jedem Pod für eine Unblocking Fabric benötigt werden. Es besteht die Möglichkeit, 15x144 Glasfaser-Trunks von jedem Pod zu ziehen, was 15x18=270 Uplinks ergibt. Bemerkenswerterweise kann dies mit nur 15 Kabelmänteln erreicht werden. Darüber hinaus bietet dieses Setup 270-256=14 Reserveverbindungen, die als Backups dienen oder sich für Speicher- oder Management-Netzwerkverbindungen verwenden lassen.
*Der Autor
Mustafa Keskin ist Applications Solutions Manager bei Corning Optical Communications.
Er sagt: „Künstliche Intelligenz hat erhebliche Fortschritte bei der Beantwortung unserer Fragen gemacht, und ihre Entwicklung geht weiter. Um diese Fortschritte zu ermöglichen, ist die Suche nach Verkabelungslösungen, die umfangreiche GPU-Cluster mit 16.000 oder 24.000 GPUs unterstützen können, ein wichtiger Teil des Puzzles und eine Herausforderung, der sich die Anbieter von Glasfasertechnologien bereits stellt.“
Bildquelle: Corning
(ID:49787124)