La nouvelle génération de solution réseau AIGC : technologie DDC pour les réseaux

L'année 2023 a vu le plein essor de la technologie de l'intelligence artificielle IA, représentée par de grands modèles AIGC tels que ChatGPT, GPT-4, Ernie Bot, etc. Ils intégraient de multiples fonctions telles que l'écriture de textes, le développement de code, la création de poésie, etc., et ont démontré de manière impressionnante leurs excellentes capacités de production de contenu, provoquant un profond choc chez les gens. En tant que professionnel de l'informatique, la technologie de communication derrière les grands modèles AIGC devrait également susciter une réflexion approfondie. Sans un bon réseau, il n’est pas possible de parler de formation sur grands modèles. Pour construire un cluster de modèles de formation à grande échelle, non seulement des composants de base tels que des serveurs GPU, des cartes réseau, etc. sont nécessaires, mais il faut également résoudre de toute urgence le problème de la construction du réseau. Quel type de réseau puissant soutient le fonctionnement de l’AIGC ? Comment l’arrivée de la vague de l’IA apportera-t-elle des changements révolutionnaires au réseau traditionnel ?

AIGC

La raison pour laquelle les grands modèles AIGC mentionnés précédemment sont si puissants n’est pas seulement parce qu’ils contiennent une énorme quantité de données, mais également parce que les algorithmes évoluent et se mettent à niveau constamment. Plus important encore, la puissance de calcul humaine s’est développée dans une certaine mesure. La puissante infrastructure de puissance de calcul peut pleinement répondre aux besoins informatiques de l'AIGC. Lors de la formation de grands modèles, étant donné que la taille du modèle dépasse généralement la mémoire et la puissance de calcul d'un seul GPU, plusieurs GPU sont nécessaires pour partager la charge. Dans le processus de formation de grands modèles, il existe trois méthodes de partage de charge GPU, à savoir le parallélisme tenseur, le parallélisme pipeline et le parallélisme données.

Parallélisme des données :

Le parallélisme des données est une technique de parallélisation simple et directe, dans laquelle des copies complètes du modèle sont répliquées sur plusieurs processeurs (tels que des GPU). Chaque processeur ou GPU obtient une copie de l'intégralité du modèle et effectue indépendamment une propagation vers l'avant et vers l'arrière sur différents sous-ensembles de données. Après chaque étape de formation, les mises à jour de poids du modèle de tous les processeurs doivent être fusionnées ou synchronisées, ce qui est généralement effectué par une forme d'opération de communication collective (telle que all-reduce). Le parallélisme des données permet au modèle d'être entraîné sur des ensembles de données plus volumineux, car les données sont divisées en plusieurs petits lots, chacun traité sur un processeur différent.

Imaginez une grande bibliothèque dans laquelle vous devez classer tous les livres par catégories. Le parallélisme des données revient à embaucher plusieurs bibliothécaires, chacun étant chargé de catégoriser une partie des livres. Dans le cas de la formation de modèles, chaque GPU obtient une copie de l'intégralité du modèle mais ne traite qu'une partie de l'ensemble des données. Une fois que tous les GPU ont terminé leurs tâches respectives, ils échangent des informations pour mettre à jour les pondérations du modèle de manière synchrone.

Parallélisme tensoriel :

Le parallélisme tensoriel est généralement utilisé lorsque le modèle est trop volumineux pour tenir dans la mémoire d'un seul processeur. Dans cette stratégie de parallélisation, différentes parties du modèle (telles que différents tenseurs ou groupes de paramètres dans les couches de réseau neuronal) sont affectées à différents processeurs. Cela signifie que chaque processeur n'est responsable que du calcul d'une partie du modèle. Pour compléter la propagation vers l'avant et vers l'arrière de l'ensemble du modèle, les processeurs doivent fréquemment échanger leurs résultats intermédiaires, ce qui peut entraîner une surcharge de communication élevée. Le parallélisme tensoriel nécessite des connexions à haut débit entre processeurs, pour minimiser la latence de ces échanges.

Supposons que le parallélisme des données implique plusieurs bibliothécaires gérant chacun une partie des livres. Dans ce cas, le parallélisme tensoriel revient à ce que chaque bibliothécaire soit responsable d'une partie des étapes du travail de catégorisation. Dans la formation de modèles, chaque GPU est responsable d'une partie du calcul dans le modèle. Par exemple, un GPU est responsable du calcul de la première moitié des couches du modèle et un autre GPU est responsable de la seconde moitié. De cette manière, chaque couche du modèle peut être calculée sur plusieurs GPU.

Parallélisme des pipelines :

Le parallélisme de pipeline est une stratégie de parallélisation qui attribue différentes couches ou parties du modèle à différents processeurs et effectue les calculs de manière pipeline. Dans le parallélisme pipeline, les données d'entrée sont divisées en plusieurs micro-lots, dont chacun traverse séquentiellement chaque couche du modèle. Lorsqu'un micro-lot termine le calcul de la première couche, il est immédiatement transmis à la couche suivante, tandis que la première couche commence à traiter le micro-lot suivant. Cette méthode peut réduire le temps d'inactivité des processeurs, mais nécessite une gestion minutieuse du pipeline, pour éviter de créer des blocages trop importants, où certains processeurs peuvent suspendre leur travail en raison de l'attente de résultats de calcul dépendants.

Le parallélisme des pipelines est comme les ouvriers sur une chaîne de montage en usine, chacun effectuant une tâche spécifique puis passant le produit semi-fini au travailleur suivant. Lors de la formation du modèle, le modèle est divisé en plusieurs parties, chacune étant exécutée séquentiellement sur différents GPU. Lorsqu'un GPU termine sa partie du calcul, il transmet le résultat intermédiaire au GPU suivant pour poursuivre le calcul.

Dans le déploiement pratique, la conception du réseau doit prendre en compte les exigences de bande passante et de latence de ces stratégies parallèles pour garantir l'efficience et l'efficacité de la formation des modèles. Parfois, ces trois stratégies parallèles sont combinées pour optimiser davantage le processus de formation. Par exemple, un modèle volumineux peut utiliser le parallélisme des données sur plusieurs GPU pour traiter différents sous-ensembles de données, tout en utilisant le parallélisme tensoriel au sein de chaque GPU pour gérer différentes parties du modèle.

AIGC intelligent

Examinons la demande de puissance de calcul de l'IA pour la formation de grands modèles. Avec la mise à niveau continue des grands modèles, la demande de puissance de calcul pour la formation des modèles augmente également, doublant tous les trois mois. Le modèle GPT-3 (175 milliards de paramètres, corpus de formation de 45 To, consommant 3640 3 PFlops/s-jours de puissance de calcul), ChatGPT128, utilise 100 serveurs A1024, soit un total de 100 4 cartes A100 pour la formation, donc un seul nœud de serveur nécessite 4 réseaux 5G. canaux ; tandis que ChatGPTXNUMX, ChatGPTXNUMX et autres grands modèles, les exigences réseau seront plus élevées.

L'AIGC s'est développé jusqu'à présent et les paramètres du modèle pour la formation sont passés de 100 milliards à 10 10,000 milliards. Pour réaliser une formation à si grande échelle, le nombre de GPU prenant en charge la couche sous-jacente a également atteint l'échelle de XNUMX XNUMX cartes.

La question est donc la suivante : quel est le facteur le plus important affectant l’utilisation du GPU ?

La réponse est le réseau.

En tant que cluster informatique doté de dizaines de milliers de GPU, l’interaction des données avec le cluster de stockage nécessite une énorme bande passante. De plus, les GPU ne sont pas indépendants lors des calculs d’entraînement, mais utilisent un parallélisme mixte. Il y a beaucoup d’échanges de données entre les GPU, ce qui nécessite également une énorme bande passante.

Si le réseau n'est pas puissant, la transmission des données est lente et le GPU doit attendre les données, ce qui diminue l'utilisation. La diminution de l'utilisation augmentera le temps de formation, le coût et l'expérience utilisateur se détériorera.

L'industrie a créé un modèle pour calculer la relation entre le débit de la bande passante du réseau, la latence de communication et l'utilisation du GPU, comme le montre la figure suivante :

Utilisation du processeur graphique

Débit de bande passante et utilisation du GPU

Latence dynamique et utilisation du GPU

Vous pouvez constater que plus le débit du réseau est élevé, plus l'utilisation du GPU est élevée ; plus la latence dynamique de communication est élevée, plus l'utilisation du GPU est faible.

Quel type de réseau peut soutenir le fonctionnement de l’AIGC ?

Pour faire face aux exigences élevées du cluster computing IA sur le réseau, l’industrie a proposé diverses solutions. Dans les stratégies traditionnelles, nous voyons généralement trois technologies : Infiniband, RDMA et frameswitches.

Réseau Infiniband

Pour les professionnels familiarisés avec la communication de données, Infinibande le réseautage n’est pas inconnu. Il est considéré comme le meilleur moyen de construire un réseau hautes performances, garantissant une bande passante extrêmement élevée, aucune congestion et une faible latence. Le réseau utilisé par ChatGPT et GPT-4 est le réseau Infiniband. Cependant, l’inconvénient de cette technologie est qu’elle est coûteuse et coûte plusieurs fois plus cher qu’un réseau Ethernet traditionnel. De plus, cette technologie est relativement fermée et il n'existe qu'un seul fournisseur mature dans l'industrie, ce qui limite le choix de l'utilisateur.

RDMA dans Infiniband

Réseau RDMAingurgiter 

RDMA, qui signifie Remote Direct Memory Access, est un nouveau type de mécanisme de communication. Dans le schéma RDMA, les données peuvent communiquer directement avec la carte réseau, en contournant le processeur et le système d'exploitation complexe, ce qui non seulement améliore considérablement le débit, mais garantit également une latence plus faible.

Auparavant, RDMA était principalement diffusé sur le réseau InfiniBand. Aujourd’hui, il a été progressivement porté sur Ethernet. Le schéma de réseau actuel est basé sur le protocole RoCE v2 pour construire un réseau prenant en charge RDMA. Cependant, les technologies PFC et ECN de ce schéma, bien qu'elles soient générées pour éviter la congestion des liaisons, peuvent provoquer une pause ou un ralentissement de l'expéditeur lorsqu'elles sont déclenchées fréquemment, affectant ainsi la bande passante de communication.

Réseau RDMA

Changement de cadre

Certaines sociétés Internet espéraient utiliser des commutateurs de trame pour répondre aux besoins des réseaux hautes performances. Cependant, ce système présente des défis tels qu'une évolutivité insuffisante, une consommation électrique élevée des appareils et de vastes domaines de pannes. Il ne convient donc qu'au déploiement de clusters informatiques d'IA à petite échelle.

Nouvelle génération de réseau AIGC : technologie DDC

Compte tenu des diverses limites des systèmes traditionnels, une nouvelle solution – le DDC (Distributed Disaggregated Chassis) a vu le jour. DDC « démonte » le commutateur de trame traditionnel, améliore son évolutivité et conçoit de manière flexible l'échelle du réseau en fonction de la taille du cluster d'IA. Grâce à cette méthode innovante, DDC surmonte les limites des schémas traditionnels et fournit une architecture réseau plus efficace et plus flexible pour l'informatique IA.

Changement de cadre

Du point de vue de l'échelle et du débit de bande passante, DDC a pleinement répondu aux exigences du réseau pour la formation de modèles d'IA à grande échelle. Cependant, l’exploitation du réseau ne concerne pas seulement ces deux aspects, elle doit également être optimisée en termes de latence, d’équilibrage de charge, d’efficacité de gestion, etc. À cette fin, DDC adopte les stratégies techniques suivantes :

  • Mécanisme de transfert basé sur VOQ+Cell, luttant efficacement contre la perte de paquets

Lorsque le réseau rencontre du trafic en rafale, le récepteur peut ralentir le traitement, ce qui entraîne une congestion et une perte de paquets. Le mécanisme de transfert basé sur VOQ+Cell adopté par DDC peut bien résoudre ce problème. Le processus spécifique est le suivant :

L'expéditeur classera et stockera d'abord les paquets dans des VOQ après les avoir reçus. Avant d'envoyer les paquets, le NCP enverra d'abord un message de crédit pour confirmer si le destinataire dispose de suffisamment d'espace tampon. Ce n'est que lorsque le récepteur confirme qu'il dispose d'une capacité de traitement que les paquets seront découpés en cellules et équilibrés dynamiquement en charge sur les nœuds Fabric. Si le destinataire est temporairement incapable de traiter, les paquets seront temporairement stockés dans les VOQ de l'expéditeur et ne seront pas directement transmis. Ce mécanisme utilise pleinement le cache, ce qui peut réduire considérablement, voire éviter la perte de paquets, améliorant ainsi la stabilité globale des communications, réduisant la latence et augmentant l'utilisation de la bande passante et l'efficacité du débit de l'entreprise.

Mécanisme de transfert basé sur VOQ+Cell
  • Déploiement PFC en un seul saut, évitant complètement les blocages

La technologie PFC est utilisée pour le contrôle du trafic dans les réseaux RDMA sans perte, qui peuvent créer plusieurs canaux virtuels pour les liaisons Ethernet et définir des priorités pour chaque canal. Cependant, PFC a également des problèmes de blocage.

Dans le réseau DDC, puisque tous les NCP et NCF sont considérés comme des appareils entiers, il n'y a pas de commutateur multi-niveau, évitant ainsi complètement le problème de blocage du PFC.

Diagramme schématique du mécanisme de travail du PFC

Diagramme schématique du mécanisme de travail du PFC

40 200G
  • Système d'exploitation distribué, améliorant la fiabilité

Dans l'architecture DDC, la fonction de gestion est contrôlée de manière centralisée par le NCC, mais cela peut présenter un risque de défaillance unique. Pour éviter ce problème, DDC utilise un système d'exploitation distribué, qui permet à chaque NCP et NCF de se gérer indépendamment, et dispose d'un plan de contrôle et d'un plan de gestion indépendants. Cela améliore non seulement considérablement la fiabilité du système, mais facilite également son déploiement.

Conclusion : DDC répond aux exigences réseau de la formation de modèles d'IA à grande échelle grâce à ses stratégies techniques uniques, et optimise également de nombreux détails, garantissant que le réseau peut fonctionner de manière stable et efficace dans diverses conditions complexes.

Laisser un commentaire

Remonter en haut