La conception et la pratique de réseaux d'IA hautes performances à grande échelle

Exigences réseau pour la formation sur grands modèles

Au cours des six derniers mois, les grands modèles sont restés un sujet brûlant. Bien qu’il y ait encore beaucoup de débats sur le développement et l’application des grands modèles, les capacités des grands modèles sont certainement devenues le fondement du développement futur de l’intelligence artificielle. Par rapport aux petits modèles précédents, les grands modèles ont une plus forte demande de formation parallèle distribuée à grande échelle.

Cela est dû à deux raisons principales : Les modèles eux-mêmes sont très grands. En raison des limitations actuelles de la mémoire GPU, nous devons diviser un modèle en plusieurs GPU pour le stockage. Par exemple, le grand modèle de FiberMall comporte 260 milliards de paramètres, mais en réalité, un seul GPU A800 doté de 80 Go de mémoire ne peut stocker qu'environ 1 à 2 milliards de paramètres, y compris les états de calcul pendant l'entraînement. Le stockage d’un modèle de 260 milliards de paramètres nécessiterait à lui seul des centaines de GPU, ce qui représente déjà une échelle relativement importante.

Entraîner davantage de paramètres nécessite plus de puissance de calcul, nous devons donc introduire des GPU à plus grande échelle pour l'accélération, ce qui signifie que le nombre de GPU requis augmentera également d'un ordre de grandeur.

Chez FiberMall, nous nommons l'échelle de formation en fonction du nombre de GPU utilisés pour une tâche. Par exemple, nous l'appelons à petite échelle s'il s'agit de moins de 100 cartes, à moyenne échelle s'il s'agit de 100 à 1,000 1,000 cartes, à grande échelle s'il s'agit de plus de 10,000 1,000 cartes et à très grande échelle s'il s'agit de plus de XNUMX XNUMX cartes. Selon cette convention de dénomination, nous pouvons dire que la formation parallèle à grande échelle de plus de XNUMX XNUMX cartes est la base du succès des grands modèles.

entraînement parallèle

Il existe plusieurs stratégies courantes pour la formation parallèle distribuée de modèles d'apprentissage automatique. Nous présenterons trois des approches les plus largement utilisées.

La stratégie la plus largement adoptée est le parallélisme des données. Dans le parallélisme des données, chaque GPU conserve une copie identique du modèle, et l'ensemble de données est partitionné et distribué entre les GPU pour l'entraînement. Après chaque itération d'entraînement, les gradients calculés sur chaque GPU sont synchronisés globalement, et les paramètres du modèle pour l'itération suivante sont ensuite mis à jour en conséquence sur tous les GPU. Dans le parallélisme des données, une opération Allreduce est nécessaire pour agréger les gradients entre les GPU, et le volume de communication évolue avec la taille des paramètres du modèle, ce qui peut être substantiel pour les modèles à grande échelle comportant des milliards de paramètres.

La deuxième stratégie parallèle est le parallélisme des pipelines. Les modèles de réseaux neuronaux sont généralement composés de plusieurs couches de neurones, y compris les modèles Transformer profonds. Dans le parallélisme de pipeline, le modèle est partitionné par couche, avec différentes couches attribuées à différents GPU. Cette approche nécessite des transferts de données point à point entre les GPU pour passer les activations lors du passage avant et les gradients lors du passage arrière. Même si la communication a lieu plusieurs fois par itération, le volume de données transférées n'est généralement pas important et les exigences en matière de performances du réseau sont relativement modestes.

La troisième stratégie parallèle est le parallélisme tensoriel, qui implique l'utilisation conjointe de plusieurs GPU pour effectuer un seul calcul tensoriel, tel qu'une multiplication matricielle. Cette approche nécessite une opération Allreduce pour synchroniser les résultats du calcul du tenseur partiel sur les GPU. La taille des tenseurs calculés dépend à la fois de l'architecture du modèle et de la taille du lot utilisé pour la formation, et ces calculs de tenseurs se produisent fréquemment lors de chaque itération de formation. En conséquence, le parallélisme tensoriel est le plus exigeant.

trois parallèles

Compte tenu des caractéristiques des trois stratégies parallèles, une approche hybride est couramment adoptée lors de la formation de modèles à grande échelle.

Au sein d'une seule machine dotée de plusieurs GPU, le parallélisme tensoriel est utilisé pour exploiter pleinement les connexions NVLink à large bande passante entre les GPU.

Étant donné qu'une seule machine dotée de 8 GPU peut ne pas suffire pour accueillir l'ensemble du grand modèle, le parallélisme des pipelines est utilisé sur plusieurs machines pour construire une unité de formation minimale avec des pipelines parallèles.

Pour accélérer davantage la formation du modèle, le parallélisme des données est ensuite appliqué, où chaque groupe parallèle de données (DP) consiste en une combinaison de parallélisme tensoriel et de parallélisme pipeline.

Les opérations Allreduce de parallélisme des données se produisent au sein de chaque groupe DP, où les gradients sont synchronisés sur les GPU du même groupe DP. Par exemple, le diagramme montre une configuration avec 8 GPU en parallélisme tensoriel, 4 GPU en parallélisme pipeline et 3 groupes DP. Dans ce cas, il existe 32 groupes Allreduce, chacun avec 3 GPU effectuant une synchronisation de gradient.

La principale exigence réseau pour la formation de grands modèles est l'opération Allreduce dans la phase de parallélisme des données, où chaque GPU doit participer à Allreduce sur des volumes de données de l'ordre de 10 Go.

parallélisme hybride

Le besoin de formation de modèles à grande échelle nous a amenés à proposer trois objectifs clés pour les réseaux d’IA hautes performances : l’ultra-grande échelle, l’ultra-haute bande passante et l’ultra-longue stabilité.

Ultra-grande échelle

La taille du modèle détermine directement la vitesse de formation du modèle. Comme le montre la figure, pour un modèle de 175 milliards de paramètres, il faudrait plus de 100 jours pour s'entraîner à l'aide de 2,000 8,000 GPU. Cependant, en utilisant 30 XNUMX GPU, le temps de formation peut être réduit à environ XNUMX jours. Ceci est aujourd’hui crucial pour l’itération rapide de modèles à grande échelle.

Bande passante ultra-élevée

La bande passante AllReduce détermine directement l’efficacité globale de la formation distribuée à grande échelle. Comme le montre la figure, lorsque la bande passante moyenne d'un seul GPU AllReduce est de 5 Go/s, le taux d'accélération global dans la formation distribuée à grande échelle n'est que de 70 %. Pour atteindre un taux d'accélération de 90 %, la bande passante AllReduce d'un seul GPU doit atteindre 20 Go/s, ce qui équivaut à un seul GPU utilisant pleinement une carte réseau 400G.

Stabilité ultra-longue

Étant donné que la formation du modèle peut durer plusieurs semaines, la stabilité à long terme est de la plus haute importance. En prenant comme exemple la disponibilité des GPU, si la disponibilité mensuelle d'un seul GPU est de 99.9 %, la probabilité de rencontrer une panne et une interruption pendant un mois de formation avec 1,000 60 GPU est de 99.99 %. Même si la disponibilité des GPU s'améliore à 8,000 %, la probabilité d'interruption avec 50 XNUMX GPU est toujours d'environ XNUMX %. Pour minimiser les interruptions de formation et réduire le besoin de points de contrôle fréquents, le réseau doit garantir une disponibilité encore plus élevée.

exigence de réseau

Conception de réseau haute performance AIPod

Pour répondre à ces objectifs, nous avons conçu le réseau haute performance AIPod pour l'infrastructure d'IA.

Comme le montre le schéma, le réseau AIPod est une topologie entièrement connectée avec environ 400 commutateurs, 3,000 10,000 cartes réseau, 20,000 XNUMX câbles et XNUMX XNUMX modules optiques. La longueur totale du câble équivaut à la distance entre Pékin et Qingdao.

AIPod hautes performances

Conception rationnelle du réseau AIPod

Après la discussion précédente sur la compréhension conceptuelle, penchons-nous maintenant sur la conception rationnelle du réseau AIPod.

Pour prendre en charge l'échelle massive du réseau AIPod, une architecture de réseau CLOS non bloquante à 3 niveaux a été choisie. La topologie du réseau CLOS est similaire au diagramme présenté précédemment, où :

Les serveurs sont connectés aux commutateurs de couche Leaf (LF).

Les commutateurs Leaf s'interconnectent avec les commutateurs Spine (SP).

Les commutateurs Spine sont en outre connectés à la couche SuperSpine (SSP).

Comme mentionné précédemment, lors de la formation de grands modèles, la communication principale a lieu entre les GPU du même serveur, c'est-à-dire GPU 1 vers GPU 1, GPU 2 vers GPU 2, et ainsi de suite. La communication entre GPU est moins fréquente.

Pour s'adapter à ce modèle de communication, le réseau AIPod adopte une architecture à 8 canaux. Chaque serveur dispose de 8 ports réseau, chacun connecté à un commutateur Leaf différent. Ces 8 commutateurs Leaf forment un groupe d'agrégation, prenant en charge jusqu'à 512 GPU.

De plus, les 8 commutateurs Leaf sont connectés à différents canaux, et au sein de chaque canal, les commutateurs Leaf et Spine sont dans une topologie entièrement maillée. Cette conception permet au cluster d'évoluer pour prendre en charge plus de 16 XNUMX GPU.

Même si la majorité des communications s’effectuent au sein du même canal, une communication cross-canal reste nécessaire. Pour résoudre ce problème, le réseau AIPod utilise la couche SuperSpine pour interconnecter les commutateurs Spine de différents canaux, offrant ainsi un chemin de communication transparent sur l'ensemble du réseau.

Le réseau AIPod utilise une conception non bloquante ou à rapport de surabonnement de 1:1, dans laquelle la bande passante des liaisons montante et descendante des commutateurs est égale, garantissant une bande passante intra-cluster suffisante.

Pour prendre en charge la plus grande échelle possible, le réseau AIPod utilise les dernières puces de commutation haute capacité, telles que le commutateur 51.2T, qui ont évolué à partir des générations précédentes 12.8T et 25.6T.

Cette conception rationnelle du réseau AIPod, avec son architecture CLOS à plusieurs niveaux, sa communication basée sur les canaux et ses composants de commutation haute capacité, permet de prendre en charge des charges de travail de formation d'IA à grande échelle.

3 niveaux non convergents

Dans la discussion précédente, nous avons abordé la construction de réseaux AIPod à grande échelle. Tournons maintenant notre attention vers les défis liés à la bande passante du réseau.

L'infrastructure cloud intelligente de FiberMall a choisi une spécification d'accès au serveur maximale de 8x400G, et le réseau utilise une architecture CLOS non bloquante, prenant en charge RDMA et GDR. Théoriquement, cela devrait offrir des capacités de bande passante très élevées. Cependant, à mesure que l'échelle du réseau augmente, divers problèmes peuvent survenir, l'un des plus importants étant les conflits de sélection de chemin entre les commutateurs.

Techniquement, presque toutes les transmissions réseau présentent un problème inhérent : pour éviter la réorganisation des paquets au sein d'une connexion, qui peut déclencher une retransmission et une dégradation des performances à la réception, les commutateurs doivent transmettre les paquets de la même connexion via un seul chemin. La sélection de ce chemin dépend de l'algorithme de hachage utilisé.

Les algorithmes de hachage sont connus pour avoir des collisions, comme illustré dans le diagramme. Si deux connexions de commutateur croisé choisissent simultanément la même liaison du côté gauche, celle-ci deviendra encombrée, tandis que la liaison du côté droit restera sous-utilisée, réduisant ainsi de moitié la bande passante des deux connexions. Ce problème est assez courant dans les environnements de formation à grande échelle.

Pour atténuer l'impact de ce problème, nous configurons généralement la bibliothèque de communication NCCL pour utiliser plusieurs connexions entre les GPU, comme indiqué dans le diagramme de droite. Plus il y a de connexions, plus la probabilité d’un déséquilibre grave est faible. Cette approche augmente l’entropie de routage dans le réseau et réduit l’impact des conflits de sélection de chemin basés sur le hachage, mais elle ne résout pas complètement le problème.

une bande passante élevée

Nous pouvons observer que ces problèmes ne se produisent que dans les scénarios de communication entre commutateurs. Par conséquent, pour réduire davantage l’impact, nous devons nous efforcer de maintenir la communication au sein d’un seul commutateur autant que possible. La communication de groupe intra-agrégation entre les GPU du même numéro ne traverse pas les commutateurs et évite ainsi le conflit de sélection de chemin basé sur le hachage. C'est pourquoi nous visons à maximiser la taille de chaque groupe d'agrégation.

Pour réduire la communication entre commutateurs, le réseau AIPod propose une approche prenant en compte l'architecture du réseau. Cela permet aux systèmes de niveau supérieur de connaître la position actuelle du GPU dans l'architecture réseau, son groupe d'agrégation et son GroupID.

L'AIPod peut exposer ces informations au système de planification de tâches, lui permettant ainsi de planifier autant que possible des tâches au sein du même groupe d'agrégation, garantissant ainsi que la communication reste au sein d'un seul groupe d'agrégation.

Cependant, les grandes tâches de modèle sont souvent trop volumineuses pour être confinées au sein d’un seul groupe d’agrégation. Dans de tels cas, nous devons exploiter les informations du groupe d'agrégation pour effectuer un traitement ordonné des ressources GPU globales, permettant à la bibliothèque de communication de construire des topologies Allreduce plus efficaces qui minimisent le trafic entre commutateurs. Le diagramme en bas à droite illustre ce concept, où deux ordres de construction d'anneaux différents pour une opération Allreduce à 4 GPU peuvent entraîner une utilisation de la bande passante entre commutateurs très différente. L’approche du côté gauche est plus efficace, tandis que celle du côté droit est moins efficace. C’est l’avantage des capacités sensibles à l’architecture réseau de l’AIPod.

NCCL

L'approche basée sur l'architecture du réseau peut réduire considérablement la quantité de communication entre commutateurs, atténuant ainsi l'impact des conflits de sélection de chemin basés sur le hachage. Cependant, le problème n’est pas complètement résolu, car des conflits peuvent encore survenir.

Pour résoudre pleinement ce problème, nous devons exploiter les capacités de transfert multi-chemins du réseau, qui permettent une réception de paquets dans le désordre, rompant ainsi avec l'hypothèse selon laquelle les paquets d'une seule connexion ne peuvent être transmis que par un seul chemin. Les réseaux Infiniband ont introduit cette capacité de routage adaptatif, et dans l'AIPod, nous avons implémenté une fonctionnalité similaire en utilisant la technologie d'équilibrage de charge dynamique (DLB) au-dessus des commutateurs personnalisés de FiberMall.

Dans cette approche, comme illustré dans le diagramme, la carte d'interface réseau marque d'abord les paquets pour permettre un traitement dans le désordre. Les commutateurs calculent ensuite le chemin optimal pour chaque paquet en fonction de facteurs tels que la profondeur de la file d'attente et l'utilisation des liaisons. Cela introduit le défi de la réorganisation des paquets, qui est résolu par le récepteur via le traitement de réorganisation des paquets.

Cette combinaison de mécanismes peut résoudre efficacement le problème de conflit de sélection de chemin basé sur le hachage dans les communications entre commutateurs. Nous pensons que l’amélioration de ces capacités techniques sous-jacentes constitue la solution ultime pour une formation à grande échelle.

Assurer la stabilité des réseaux AIPod

Le maintien des tâches de longue durée sans interruption est crucial pour la formation de grands modèles, mais les pannes matérielles sont inévitables. Pour un cluster pouvant accueillir 16,000 100,000 GPU, il peut y avoir près de 10 4 modules optiques. En supposant un temps moyen entre pannes (MTBF) de XNUMX millions d'heures par module, avec une base aussi vaste, une panne peut survenir environ tous les XNUMX jours en moyenne, car les événements à faible probabilité deviennent des événements à forte probabilité à grande échelle.

Pour résoudre ce problème, le réseau AIPod est conçu pour permettre une récupération rapide après une panne matérielle. Par exemple, supposons qu’un lien du réseau connaisse une panne, entraînant une perte de paquets. Dans ce cas, l'AIPod doit garantir que la durée de cette perte de paquet est inférieure au délai d'attente typique défini par la bibliothèque de communication, empêchant ainsi l'interruption des tâches.

En cas de perte de paquets de liaison montante, la technologie d'équilibrage de charge dynamique de l'AIPod peut fournir une récupération à l'échelle de la milliseconde en sélectionnant une autre liaison disponible. Pour la perte de paquets de liaison descendante, l'AIPod déclenche des mises à jour et une convergence du routage du réseau, optimisant ainsi la stratégie de mise à jour du routage et l'efficacité de la distribution pour maintenir la durée de perte de paquets de liaison descendante au deuxième niveau.

récupérer

De plus, le réseau AIPod comprend un mécanisme de détection de boîte noire pour identifier de manière proactive les problèmes cachés, tels que les problèmes de retournement de bits causés par des défauts de puce de commutation, qui peuvent entraîner une corruption et une perte de paquets sans détection explicite des pannes. Ce mécanisme garantit que chaque lien est surveillé en permanence et que tout problème de connectivité déclenche une localisation et une isolation automatiques, ainsi que des alertes pour une intervention rapide de l'équipe opérationnelle.

Au-delà des pannes liées à la connectivité, la conception du réseau sans perte de l'AIPod, rendue possible par la technologie PFC, peut également rencontrer des anomalies, telles que des blocages PFC ou des tempêtes PFC persistantes dues à des pannes de puces. L'AIPod relève ces défis grâce à une plate-forme de télémétrie de performance, construite sur les commutateurs personnalisés de FiberMall, qui offre une visibilité sur toute perte de paquet, PFC ou anomalie de tampon, permettant une détection et une résolution rapides avant d'avoir un impact sur la stabilité de la formation de grands modèles.

Atteindre une latence ultra-faible dans les réseaux AIPod

Bien que la faible latence ne soit pas un facteur essentiel pour la formation de grands modèles, où la bande passante est la principale préoccupation, le réseau AIPod est également conçu pour prendre en charge les charges de travail d'IA sensibles à la latence.

Les facteurs clés qui peuvent être optimisés pour une faible latence sont le délai de la fibre et le délai de mise en file d'attente du commutateur. Le réseau AIPod optimise la disposition physique du cluster pour minimiser la distance entre les serveurs, les commutateurs et les commutateurs, permettant ainsi l'utilisation de connexions fibre plus courtes pour réduire le délai de propagation de la fibre.

De plus, le réseau AIPod optimise les paramètres de contrôle de congestion pour minimiser l'occupation du tampon de commutation, ce qui a un impact direct sur le délai de file d'attente. Grâce à ces optimisations, l'AIPod peut atteindre une latence réseau de l'ordre de la microseconde, ce qui est négligeable dans le contexte des performances de formation de bout en bout de grands modèles.

Tirer parti du stockage haute performance dans AIPod

En plus du réseau de formation hautes performances, l'AIPod exploite également les capacités de stockage hautes performances de FiberMall, telles que le système de fichiers parallèle (PFS) élastique basé sur RDMA qui peut fournir jusqu'à 200 Gbit/s par client, et la charge matérielle hautes performances. équilibrage des instances pour accéder au stockage de fichiers dans le cloud (CFS) ou au stockage d'objets (BOS), fournissant plus de 10 Gbit/s de bande passante stable par client.

Ces technologies de stockage hautes performances contribuent de manière significative à l’efficacité informatique globale de la formation de grands modèles.

Formation sur les grands modèles AIPod en pratique

FiberMall a démontré l'application pratique du réseau AIPod dans la formation de modèles à grande échelle, démontrant un fonctionnement stable avec une bande passante de communication par GPU dépassant 100 Gbit/s sur les clusters RoCE et Infiniband.

Pour soutenir ces efforts de formation à grande échelle, FiberMall a développé des outils spécialisés, notamment un outil de visualisation des tâches de haute précision capable de regrouper et d'analyser les données de trafic réseau de milliers d'instances parallèles, ainsi qu'un outil de diagnostic des pannes capable d'identifier rapidement le cause première de diverses anomalies, telles que des pannes de GPU ou des nœuds lents, qui peuvent autrement entraver les performances globales de l'entraînement.

Le réseau haute performance AIPod, les outils de support et les capacités de stockage permettent aux clients de FiberMall de former de grands modèles de manière efficace et rentable, conservant ainsi une position de leader à l'ère des modèles d'IA à grande échelle.

Laisser un commentaire

Remonter en haut