FiberMall fournit des solutions InfiniBand de bout en bout

Après l'explosion de ChatGPT dans le domaine de la technologie, les gens ont discuté de ce que sera la "prochaine étape" de l'IA, et de nombreux universitaires ont mentionné la multimodalité. Récemment, OpenAI a publié le grand modèle multimodal pré-formé GPT-4. GPT-4 fait des pas de géant dans les aspects suivants : reconnaissance puissante des graphiques, limite de saisie de texte portée à 25,000 XNUMX mots, amélioration significative de la précision des réponses, capacité à générer des paroles, du texte créatif et à réaliser des changements de style.

De telles itérations efficaces sont indissociables de la formation de modèles d'IA à grande échelle, qui nécessite de grandes ressources de calcul et des réseaux de transmission de données à haut débit. Parmi eux, le réseau IB (InfiniBand) de bout en bout est un réseau de calcul haute performance particulièrement adapté au calcul haute performance et à la formation de modèles d'IA. Dans cet article, nous présenterons ce qu'est la formation au modèle AIGC, pourquoi un réseau IB de bout en bout est nécessaire et comment utiliser le modèle ChatGPT pour la formation AIGC.

Qu'est-ce qu'AIGC ?

AIGC, AI Generated Content, fait référence au contenu généré automatiquement par l'intelligence artificielle, qui peut être utilisé pour la peinture, l'écriture, la vidéo et de nombreux autres types de création de contenu. 2022 AIGC se développe à grande vitesse, que le modèle d'apprentissage en profondeur continue d'améliorer, la promotion du modèle open source, et la possibilité de commercialisation de l'exploration de grands modèles, qui devient le développement de l'AIGC "accélération". Prenez ChatGPT, un chatbot, par exemple, qui peut écrire des essais, créer des romans et coder, et qui est en ligne depuis seulement 2 mois, avec 100 millions d'utilisateurs mensuels. Du fait de son caractère « intelligent » inattendu, l'AIGC est considéré comme « le prochain perturbateur de l'industrie technologique », « une révolution majeure dans la productivité des contenus ».

AIGC

Modèle de grand langage (LLM) et ChatGPT

Large Language Model est une technologie d'intelligence artificielle qui peut acquérir et comprendre le langage naturel. Il est généralement basé sur des algorithmes d'apprentissage en profondeur qui apprennent de grandes quantités de données textuelles pour acquérir des connaissances linguistiques et peuvent générer du texte en langage naturel, comme des conversations, des articles, etc. ChatGPT est un grand chatbot basé sur un modèle de langage qui utilise le GPT (Generative Pre -Trained Transformer) développé par OpenAI pour générer du texte en langage naturel linguistiquement expressif et interagir avec les utilisateurs en préformant et en affinant de grandes quantités de données textuelles. Ainsi, on peut dire que ChatGPT est un chatbot basé sur une technologie de modélisation de grande langue. Il exploite les puissantes capacités de compréhension et de génération du langage de grands modèles de langage, permettant ainsi la génération et la compréhension de texte en langage naturel dans les conversations. Avec le développement des techniques d'apprentissage en profondeur, les capacités et l'échelle des grands modèles de langage continuent d'augmenter. Alors que les modèles de langage d'origine (par exemple, les modèles N-gram) ne pouvaient prendre en compte que des informations contextuelles limitées, les grands modèles de langage modernes (par exemple, BERT, GPT-3, etc.) sont capables de prendre en compte des informations contextuelles beaucoup plus longues et ont des capacités de généralisation et de génération plus fortes. Les grands modèles de langage sont généralement formés à l'aide de réseaux de neurones profonds, tels que les réseaux de neurones récurrents (RNN), la mémoire à long et à court terme (LSTM), les unités récurrentes fermées (GRU) et le transformateur. Lors de la formation, les modèles sont formés de manière non supervisée ou semi-supervisée à l'aide d'un ensemble de données textuelles à grande échelle. Par exemple, les modèles BERT sont entraînés par des tâches telles que les masques de prédiction, les phrases suivantes, etc., tandis que GPT-3 utilise une approche d'apprentissage auto-supervisé à grande échelle. Les modèles de langage à grande échelle ont un large éventail d'applications dans le domaine du traitement du langage naturel, telles que la traduction automatique, la génération de langage naturel, les systèmes de questions et réponses, la classification de texte, l'analyse des sentiments, etc.

Quels sont les goulots d'étranglement actuels dans la formation LLM ?

Lors de la formation de grands modèles de langage, des réseaux rapides et fiables sont nécessaires pour transférer de grandes quantités de données. Par exemple, OpenAI a publié la première version du modèle GPT (GPT-1), qui avait une taille de modèle de 117 millions de paramètres. Après cela, OpenAI a successivement publié des modèles plus grands tels que GPT-2 et GPT-3 avec respectivement 150 millions et 1.75 billion de paramètres. Des paramètres aussi importants sont totalement impossibles à former sur une seule machine et nécessitent une forte dépendance aux clusters de calcul GPU. Le goulot d'étranglement actuel réside dans la manière de résoudre le problème d'une communication efficace entre les nœuds du cluster de formation.

Goulots d'étranglement actuels dans la formation LLM

L'un des algorithmes de communication GPU les plus couramment utilisés est Ring-Allreduce, dont l'idée de base est que les GPU forment un anneau et laissent les données circuler dans l'anneau. Les GPU de l'anneau sont disposés dans une logique où chaque GPU a un voisin gauche et un voisin droit, et il n'enverra des données qu'à son voisin droit et recevra des données de son voisin gauche. L'algorithme procède en deux étapes : d'abord la dispersion-réduction, puis l'ensemble. Dans l'étape de réduction de dispersion, les GPU échangeront des données afin que chaque GPU puisse obtenir un bloc du résultat final. Dans l'étape allgather, les GPU échangeront ces blocs afin que tous les GPU obtiennent le résultat final complet.

Ring-Allréduire

Au début, il n'y avait pas de NVLink à l'intérieur de la machine unique, pas de RDMA sur le réseau et la bande passante était relativement faible. Il n'y avait pas beaucoup de différence de bande passante entre la distribution sur une seule machine et la distribution sur plusieurs machines, il suffisait donc de construire un grand anneau. Mais maintenant que nous avons NVLink à l'intérieur de la machine unique, il n'est pas approprié d'utiliser la même méthode. Étant donné que la bande passante du réseau est bien inférieure à celle de NVLink, si nous utilisons à nouveau un grand anneau, la bande passante élevée de NVLink sera sérieusement réduite au niveau du réseau. Deuxièmement, il s'agit désormais d'un environnement multi-NIC. Il est également impossible de profiter pleinement de plusieurs NIC si un seul anneau est utilisé. Par conséquent, un anneau à deux étages est recommandé dans un tel scénario. Tout d'abord, la synchronisation des données est effectuée entre les GPU au sein d'une même machine en utilisant l'avantage de la bande passante élevée de NVLink. Ensuite, les GPU entre plusieurs machines utilisent plusieurs cartes réseau pour établir plusieurs anneaux afin de synchroniser les données de différents segments. Enfin, les GPU à l'intérieur de la machine unique sont à nouveau synchronisés, complétant enfin la synchronisation des données de tous les GPU, et ici nous devons mentionner NCCL.

NCCL

La bibliothèque de communication collective NVIDIA (NCCL) implémente des primitives de communication multi-GPU et multi-nœuds optimisées pour les GPU et les réseaux NVIDIA.

multi-GPU multi-nœuds

1 GPU -> multi-GPU multi nœud

NCCL fournit des routines pour la collecte totale, la diminution totale, la diffusion, la réduction, la réduction de la dispersion et l'envoi et la réception point à point. Ces routines sont optimisées pour une bande passante élevée et une faible latence via des réseaux in-node et NVIDIA Mellanox sur des interconnexions à haut débit PCIe et NVLink.

Pourquoi utiliser un réseau InfiniBand de bout en bout ?

Ethernet est un protocole réseau largement utilisé, mais son débit de transmission et sa latence ne répondent pas aux exigences de la formation de grands modèles. En revanche, le réseau InfiniBand de bout en bout est un réseau informatique hautes performances capable de fournir des débits de transmission allant jusqu'à 400 Gbit/s et une latence de l'ordre de la microseconde, bien au-dessus des performances d'Ethernet. Cela fait des réseaux InfiniBand la technologie réseau de choix pour la formation de modèles à grande échelle. De plus, le réseau InfiniBand de bout en bout prend en charge la redondance des données et les mécanismes de correction des erreurs qui garantissent une transmission fiable des données. Ceci est particulièrement important dans la formation de modèles à grande échelle, car lorsqu'il s'agit de traiter autant de données, les erreurs de transmission de données ou la perte de données peuvent entraîner l'interruption ou même l'échec du processus de formation. Avec l'augmentation spectaculaire du nombre de nœuds de réseau et l'augmentation de la puissance de calcul, il est plus important que jamais pour le calcul haute performance d'éliminer les goulots d'étranglement et d'améliorer la gestion du système. InfiniBand est considérée comme une technologie d'E/S très prometteuse qui peut améliorer le goulot d'étranglement des performances des architectures d'E/S actuelles, comme le montre la figure. infiniBand est un protocole de communication d'interconnexion omniprésent, à faible latence et à bande passante élevée avec une faible surcharge de traitement, idéal pour transporter plusieurs types de trafic (clustering, communication, stockage et gestion) sur une seule connexion. En 1999, l'IBTA (InfiniBand Trade Association) a développé les normes liées à InfiniBand, qui définissent l'architecture d'entrée/sortie pour les serveurs interconnectés, les dispositifs d'infrastructure de communication, le stockage et les systèmes embarqués dans la spécification InfiniBand™. InfiniBand est une technologie mature et éprouvée qui est largement utilisée dans les clusters de calcul hautes performances.

Schéma d'architecture de l'interconnexion InfiniBand

Schéma d'architecture de l'interconnexion InfiniBand

Selon le protocole d'interconnexion InfiniBand, chaque nœud doit disposer d'un adaptateur de canal hôte (HCA) pour établir et maintenir les liens avec les périphériques hôtes. Les commutateurs contiennent plusieurs ports et transfèrent les paquets de données d'un port à un autre, complétant ainsi la transmission des données au sein des sous-réseaux.

Le Subnet Manager (SM) est utilisé pour configurer son sous-réseau local et assurer son fonctionnement continu, à l'aide du Subnet Manager Packet (SMP) et du Subnet Manager Agent (SMA) sur chaque appareil InfiniBand. Le gestionnaire de sous-réseau découvre et initialise le réseau, attribue des identifiants uniques à tous les périphériques, détermine le MTU (unité de transmission minimale) et génère des tables de routage de commutateur basées sur des algorithmes de routage sélectionnés. Le SM effectue également des analyses optiques périodiques du sous-réseau pour détecter toute topologie. modifie et configure le réseau en conséquence. Réseaux InfiniBand offune bande passante plus élevée, une latence plus faible et une plus grande évolutivité que les autres protocoles de communication réseau. De plus, comme InfiniBand fournit un contrôle de flux basé sur le crédit (où le nœud expéditeur n'envoie pas plus de données que le nombre de crédits affichés dans le tampon de réception à l'autre extrémité du lien), la couche de transport ne nécessite pas de mécanisme de perte de paquets comme l'algorithme de fenêtre TCP pour déterminer le nombre optimal de paquets transmis. Cela permet aux réseaux InfiniBand de fournir des taux de transfert de données extrêmement élevés aux applications avec une très faible latence et une très faible utilisation du processeur. InfiniBand transfère les données d'une extrémité du canal à l'autre en utilisant RDMA (Remote Direct Memory Access), un protocole qui transfère les données directement entre les applications sur le réseau sans l'intervention du système d'exploitation, tout en consommant très peu de ressources CPU des deux côtés (zero-copy transfer). L'application à une extrémité lit simplement le message directement à partir de la mémoire et le message a été transféré avec succès. La charge CPU réduite augmente la capacité du réseau à transférer rapidement des données et permet aux applications de recevoir des données plus rapidement.

Solutions de mise en réseau InfiniBand de bout en bout FiberMall

FibreMall offers une solution de bout en bout basée sur les commutateurs NVIDIA Quantum-2, les cartes à puce ConnectX InfiniBand et flexible 400Gb / s InfiniBand, basé sur notre compréhension des tendances des réseaux à haut débit et notre vaste expérience dans la mise en œuvre de projets HPC et IA, pour réduire les coûts et la complexité tout en offrant des performances supérieures dans le calcul haute performance (HPC), l'IA et l'infrastructure cloud hyperscale tout en réduisant les coûts et la complexité.

Solutions réseau InfiniBand pour centres de données FiberMall

Solutions réseau InfiniBand pour centres de données FiberMall

Laisser un commentaire

Remonter en haut