La fibre optique et la révolution de l'IA générative| Corning

Comment la connectivité par fibre optique fait-elle progresser la révolution de l'IA générative ?

Comment la connectivité par fibre optique fait-elle progresser la révolution de l'IA générative ?

Qu'est-ce qui vous vient à l'esprit lorsque vous pensez à l'intelligence artificielle (IA) ? Pour moi, tout a commencé en novembre dernier avec un post d'un vieil ami sur LinkedIn, exprimant à quel point il était impressionné par ChatGPT. Après m'être inscrit moi-même, j'ai été véritablement séduit par sa capacité à fournir des réponses semblables à celles d'un être humain, à la fois appropriées au contexte et techniquement solides.

Ses limites étaient également claires, bien sûr - c'était presque comme interagir avec un ami humain intelligent mais un peu ennuyeux. Il répondait sous forme de bullet points et me rappelait constamment qu'il s'agissait en fait d'un modèle d'IA. Il m'invitait à prendre ses réponses avec un peu de scepticisme. Ce qui me plaisait le plus, c'était la façon dont les réponses apparaissaient à l'écran : chaque lettre et chaque mot apparaissaient lentement, comme s'ils avaient été tapés par un humain à l'autre bout de la ligne.

Six mois plus tard, lorsque je tape une question pour ChatGPT, la réponse est si rapide que j'en ai le vertige. Que s'est-il passé au cours de ces six derniers mois ? Quels changements ont été mis en œuvre par les créateurs de ChatGPT ?

Il est fort probable qu'OpenAI ait augmenté la capacité d'inférence de son cluster d'IA pour répondre aux demandes de plus de 100 millions d'abonnés. NVIDIA, qui est en tête des fabricants de puces d'IA, aurait fourni environ 20 000 unités de traitement graphique (GPU) pour soutenir le développement de ChatGPT. En outre, il est prévu d'augmenter considérablement l'utilisation des GPU, et l'on spécule que leur prochain modèle d'IA pourrait nécessiter jusqu'à 10 millions de GPU.

L'architecture des clusters de GPU : le fondement de l'IA générative

Prenons maintenant un peu de recul. Si le concept de 20 000 GPU est gérable, l'idée de connecter optiquement 10 millions de GPU pour effectuer des tâches intelligentes est un véritable défi.

Après quelques heures de recherche sur Internet, je suis tombé sur plusieurs guides de conception détaillant la manière de construire des réseaux à hautes performances qui fournissent la connectivité à grande vitesse requise pour les charges de travail de l'IA.

Voyons comment nous pouvons créer des clusters de GPU en commençant par configurer des installations plus petites, puis en les étendant progressivement pour incorporer des milliers de GPU. Nous utiliserons comme exemple les directives de conception de NVIDIA, qui sont enracinées dans la tradition des réseaux de calcul à haute performance (HPC).

Selon ces recommandations, le processus consiste à construire des clusters de GPU importants en utilisant des unités plus petites de 256 pods de GPU (unités modulables). Chaque module se compose de 8 baies de calcul et de 2 baies de réseau au milieu de la rangée. La connexion à l'intérieur et entre ces modules est établie par InfiniBand, un protocole de commutation à grande vitesse et à faible latence, utilisant les commutateurs Quantum-2 de NVIDIA.

Les commutateurs InfiniBand actuels utilisent des ports OSFP de 800G, avec deux ports NDR (Next Data Rate) de 400G. Cette configuration utilise 8 fibres par port, ce qui donne 64 ports 400G par commutateur. Il est très probable que la prochaine génération de commutateurs, quel que soit le nom qu'ils portent, adoptera des vitesses Extreme Data Rate (XDR). Cela se traduit par 64x800G ports par commutateur, utilisant également 8 fibres par port - principalement des fibres monomodes. Ce schéma à 4 voies (8 fibres) semble être un motif récurrent dans la feuille de route InfiniBand, résumée dans le tableau 1, qui prévoit des vitesses encore plus élevées à l'avenir.

Nom 1X (Canal) 4X
Enhanced Data Rate (EDR) 25G 100G*
High Data Rate (HDR) 50G 200G
Next Data Rate (NDR) 100G 400G
Extreme Data Rate (XDR) 200G 800G
Gigantic Data Rate (GDR) 400G 1600G

* Vitesses de liaison spécifiées en Gb/s à 4X (4 bandes)

En ce qui concerne l'approche du câblage, la meilleure pratique qui prévaut dans le monde du calcul à haute performance (HPC) consiste à utiliser des câbles optiques actifs (AOC) point à point. Ces câbles établissent une connexion solide entre les émetteurs-récepteurs optiques, un câble optique reliant les deux.

Cependant, avec l'introduction des derniers ports 800G NDR dotés d'interfaces de connecteurs optiques Multifiber Push-On (MPO), le paysage est passé des câbles AOC aux cordons de raccordement passifs MPO-MPO pour les connexions point à point. Dans le cas d'un pod unique de 256 GPU, l'utilisation de connexions point à point ne pose pas de problème majeur. Mon approche personnelle serait d'opter pour des cavaliers MPO pour une configuration plus rationalisée.

Fonctionnement à l'échelle

Les choses se passent relativement bien jusqu'à présent, mais des difficultés apparaissent lorsque l'on vise une plus grande échelle - par exemple 16 000 GPU qui nécessiteront l'interconnexion de 64 de ces 256 GPU pods - en raison de la nature optimisée pour le rail du tissu informatique utilisé pour ces clusters de GPU à haute performance. Dans une configuration optimisée pour le rail, tous les adaptateurs de canal hôte (HCA) de chaque système de calcul sont connectés au même commutateur de feuille.

Cette configuration est considérée comme vitale pour maximiser les performances d'apprentissage en profondeur (DL) dans un environnement multi-projets. Un nœud de calcul H100 typique est équipé de 4x dual-port QSFP, ce qui se traduit par 8 ports de liaison montante - une liaison montante indépendante par GPU - qui se connectent à huit commutateurs leaf distincts, établissant ainsi une structure optimisée à 8 rails.

Cette conception fonctionne parfaitement lorsqu'il s'agit d'un seul module comprenant 256 GPU. Mais qu'en est-il si l'objectif est de construire une structure contenant 16 384 GPU ? Dans ce cas, deux couches de commutation supplémentaires sont nécessaires. Le premier commutateur de chaque pod se connecte à chaque commutateur du spine group one (SG1), tandis que le deuxième commutateur de chaque pod se connecte à chaque commutateur du SG2, et ainsi de suite. Pour réaliser une topologie fat-tree complète, il faut intégrer une troisième couche de groupe de commutation central (CG).

Reprenons les chiffres d'une grappe de 16 384 GPU. L'établissement de connexions entre les nœuds de calcul et les commutateurs de feuilles (8 par pod) nécessite 16 384 câbles, soit 256 cordons de brassage MPO par pod. Au fur et à mesure de l'expansion de notre réseau, la tâche consistant à établir des connexions entre les nœuds de calcul et les cœurs de calcul devient plus difficile. Cela implique la mise en faisceau initiale de plusieurs cordons de raccordement MPO point à point, qui sont ensuite tirés sur des distances allant de 50 à 500 mètres.

Compute

Node Count

GPU Count

Pod Count

Leaf SW Count

Spine SW Count

Core SW Count

Node-Leaf Cable Count

Leaf-Spine Cable Count

Spine-Core Count

2048

16384

64

512

512

256

16384

16384

16384

Serait-il possible d'adopter une approche plus efficace pour nos opérations ? Une suggestion pourrait être d'utiliser un système de câblage structuré avec une conception à deux panneaux de brassage, en utilisant des troncs MPO à grand nombre de fibres, peut-être 144 fibres. De cette façon, nous pouvons consolider 18 cordons de brassage MPO (18x8=144) en un seul câble de base 8. Ce câble consolidé peut être tiré en une seule fois à travers le hall de données. En utilisant des panneaux de brassage adaptés à la connectivité 8 fibres et des panneaux adaptateurs MPO aux extrémités, nous pouvons ensuite les séparer et les connecter à notre tissu optimisé pour les rails. Cette méthode élimine la nécessité de regrouper de nombreux cordons de raccordement MPO.

Pour illustrer, considérons le scénario où 256 liaisons montantes sont nécessaires à partir de chaque pod pour un tissu de déblocage. Nous pouvons choisir de tirer 15x144 trunks de fibre de chaque pod, ce qui donne 15x18=270 uplinks. Remarquablement, cela peut être réalisé en utilisant seulement 15 gaines de câbles. En outre, cette configuration offre 270-256=14 connexions de réserve, qui peuvent servir de sauvegardes ou même être utilisées pour des connexions de réseau de stockage ou de gestion.

En fin de compte, l'IA a fait des progrès significatifs dans la compréhension de nos questions, et nous assisterons à son évolution continue. Lorsqu'il s'agit de faciliter cette transition, la recherche de solutions de câblage capables de prendre en charge des clusters de GPU étendus - qu'ils comprennent 16 000 ou 24 000 GPU - est une partie importante du puzzle et un défi que l'industrie de la connectivité optique est déjà en train de relever.

Mustafa Keskin

Mustafa Keskin

Avec plus de 19 ans d'expérience dans l'industrie de la fibre optique, Mustafa est un professionnel accompli qui tient actuellement le rôle de directeur des solutions d'application chez Corning Optical Communications à Berlin, en Allemagne. Mustafa excelle dans l'élaboration de solutions architecturales pour les data centers et les nœuds de raccordement optique des opérateurs, en s'appuyant sur les tendances de l'industrie et sur les recherches menées auprès des clients. Il a également joué un rôle important dans le développement du système de câblage optique EDGE8 pour les centres de données. Son expertise s'étend à la publication d'articles sur des applications innovantes, telles que l'utilisation des modules Mesh de Corning dans l'architecture des réseaux Spine & Leaf.

Mustafa Keskin
Corning Optical Communications
Last update: October 2023

Contactez-nous. Nos experts sont là pour vous aider à chaque étape de votre projet.

Que vous ayez besoin d'aide pour votre travail en cours ou pour un projet futur, nous pouvons vous aider. Veuillez remplir ce formulaire pour nous donner quelques informations.

Merci !

Merci de nous avoir contactés. Un représentant de Corning vous contactera prochainement au sujet de votre demande. Si vous avez besoin d'une assistance immédiate, veuillez contacter notre service clientèle au +49 30 5303 2100 ou 00 800 2676 4641.

Partager