GUIDE Technique

Parallélisme des modèles et des pipelines

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

Sur cette page2 minutes de lecture
  1. Aperçu
  2. Plongée profonde
  3. Mise en œuvre dans le monde réel
  4. L’avenir du parallélisme des modèles et des pipelines
  5. Le mettre en pratique
  6. Continuez à explorer
  7. Questions fréquemment posées

Aperçu

C’est ce qui rend physiquement possible la formation de modèles de langage géants avec des centaines de milliards de paramètres.

Plongée profonde

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.

Mise en œuvre dans le monde réel

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.

L’avenir du parallélisme des modèles et des pipelines

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.

Le mettre en pratique

Pourquoi c'est important

  • Coût et budget. Les décisions en matière d'architecture déterminent les performances et les coûts d'exploitation pendant des années.
  • Décisions plus claires. La formation technique aide les équipes à choisir la bonne pile, pas seulement la plus récente.
  • Contrôle qualité. De meilleurs choix d’ingénierie réduisent les incidents de fiabilité en production.

Attention à

  • L’optimisation d’un benchmark peut masquer des faiblesses plus larges du système.
  • Les coûts d’infrastructure et de maintenance sont souvent sous-estimés.
  • Les lacunes en matière de sécurité et d’observabilité peuvent se creuser à mesure que les systèmes deviennent plus complexes.

Prochaines étapes

  1. Définissez les objectifs de latence, de qualité et de coût avant la mise en œuvre.
  2. Benchmark dans des conditions de charge et de données réalistes.
  3. Surveillance des instruments pour détecter les erreurs, la dérive et l'impact sur l'utilisateur.
  4. Préparez les chemins de restauration et de réponse aux incidents avant la mise à l’échelle.

Continuez à explorer

Newsletter gratuite

Recevez le briefing quotidien sur l'IA

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

Take the Model and Pipeline Parallelism quiz

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.

Démarrer le quiz

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

Questions fréquemment posées

Qu’est-ce que le parallélisme de modèles et de pipelines ?

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.

Quel problème fondamental le parallélisme des modèles et des pipelines résout-il ?

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.

Comment fonctionne la division du parallélisme tenseur (intra-couche) ?

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.

Qu'est-ce que la « bulle » dans le parallélisme naïf des pipelines ?

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.

Comment le parallélisme des pipelines réduit-il 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é.

Pourquoi le parallélisme tensoriel est-il généralement conservé au sein d'un seul nœud ?

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.