À suivreGuide suivant
Parallélisme tensoriel pour les grands modèles
Technique
GUIDE Technique
Lorsqu'un modèle est trop volumineux pour tenir sur un seul GPU, le parallélisme du modèle et du pipeline divise le modèle lui-même entre les appareils.
Écoutez ce guideNarré par l'IA · ~2 min
C’est ce qui rend physiquement possible la formation de modèles de langage géants avec des centaines de milliards de paramètres.
Le parallélisme des modèles divise un modèle unique sur plusieurs GPU afin qu'aucun appareil n'ait besoin de supporter tous les poids. Il existe deux saveurs principales. Le parallélisme tensoriel (intra-couche) divise les calculs à l'intérieur d'une couche, par exemple en découpant une grande multiplication matricielle sur des GPU qui calculent chacun une partie de la sortie. Le parallélisme des pipelines (inter-couches) attribue différentes couches consécutives à différents GPU, de sorte que le bloc de couche 1 réside sur le GPU 0, le bloc 2 sur le GPU 1, et ainsi de suite, les activations étant transmises comme une chaîne d'assemblage. Le défi du pipeline naïf est la « bulle » : pendant que le GPU 0 fonctionne sur le premier lot, les GPU en aval restent inactifs. Le pipeline divise chaque lot en micro-lots afin que toutes les étapes restent occupées, améliorant ainsi considérablement l'utilisation.
Entraînement de modèles de style GPT avec NVIDIA Megatron-LM, qui répartit l'attention de chaque couche de transformateur et les matrices de rétroaction entre les GPU via le parallélisme tensoriel.
Utiliser GPipe pour placer différentes couches d'une vision géante ou d'un modèle de langage sur des accélérateurs distincts tandis que le micro-batching les occupe.
Le moteur de pipeline de DeepSpeed divise un modèle de plusieurs centaines de milliards de paramètres en étapes sur de nombreux nœuds.
Combiner le parallélisme tensoriel au sein d'un seul serveur à 8 GPU avec le parallélisme de pipeline couvrant plusieurs serveurs pour former un modèle beaucoup trop volumineux pour une seule machine.
Les frameworks automatisent de plus en plus le problème difficile de décider comment partitionner un modèle sur plusieurs appareils, en utilisant le profilage et la recherche pour équilibrer le calcul et la communication. Attendez-vous à une intégration plus étroite du tenseur, du pipeline et du parallélisme des données (parallélisme 3D), à une planification de micro-lots plus intelligente pour éliminer presque les bulles de pipeline et à un matériel avec des interconnexions plus rapides, de sorte que la division d'une seule couche entre les puces devient moins chère et plus courante pour des modèles toujours plus grands.
Newsletter gratuite
Trois histoires d'IA vérifiées chaque matin de la semaine, écrites dans un anglais simple. Gratuit pour toujours, sans publicité.
Un e-mail chaque jour de la semaine. Désabonnez-vous en un clic. Nous ne vendons ni ne partageons jamais votre adresse.
Testez-vous
Commentaires instantanés sur chaque réponse et un certificat partageable avec une pièce d'identité vérifiable une fois que vous avez réussi un cours.
Soutenez l’enseignement gratuit de l’IA. AI Understanding est une organisation à but non lucratif 501(c)(3) : pas de publicité, pas de paywall, jamais. Faire un don
Lorsqu'un modèle est trop volumineux pour tenir sur un seul GPU, le parallélisme du modèle et du pipeline divise le modèle lui-même entre les appareils. C’est ce qui rend physiquement possible la formation de modèles de langage géants avec des centaines de milliards de paramètres.
Le parallélisme des modèles et des pipelines divise le modèle lui-même entre les appareils, permettant ainsi la formation de réseaux bien plus grands que ce qu'un seul GPU pourrait contenir.
Le parallélisme tensoriel divise le calcul au sein d'une seule couche, par exemple en divisant une grande matrice de poids afin que chaque GPU calcule une partie de la sortie.
Au début d'une étape de pipeline, les étapes en aval n'ont pas encore d'entrée et restent inactives, ce qui fait perdre du temps au GPU ; cet espace vide est appelé la bulle.
La division d'un lot en micro-lots permet à plusieurs micro-lots d'occuper différentes étapes simultanément, gardant tous les GPU occupés et réduisant le temps d'inactivité.
Le parallélisme tensoriel communique fréquemment pour recombiner les résultats de matrice partielle, il est donc placé là où la bande passante d'interconnexion est la plus élevée, à l'intérieur d'un nœud sur NVLink.
Continuez à apprendre
Plus de guides sélectionnés pour ce sujet
À suivreGuide suivant
Parallélisme tensoriel pour les grands modèles
Technique