GUIDE Technique

Parallélisme tensoriel pour les grands modèles

Un moyen de diviser les calculs au sein d'une seule couche de réseau neuronal sur plusieurs GPU afin qu'un modèle trop volumineux pour un seul appareil puisse toujours s'exécuter.

É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 tensoriel pour les grands modèles
  5. Le mettre en pratique
  6. Continuez à explorer
  7. Questions fréquemment posées

Aperçu

It matters because frontier models have hundreds of billions of parameters that no single GPU can hold or compute fast enough alone.

Plongée profonde

Le parallélisme tensoriel (également appelé parallélisme de modèle intra-couche) divise les matrices de poids individuelles sur les GPU plutôt que de placer des couches entières sur des appareils distincts. Dans un transformateur, les grandes multiplications matricielles (projections d'attention et MLP feed-forward) sont divisées : par exemple, la première matrice de poids du MLP est partitionnée par colonnes et la seconde par lignes, de sorte que chaque GPU calcule une tranche et une seule réduction totale combine les résultats. L’attention est répartie entre les têtes, chaque GPU gérant un sous-ensemble. Étant donné que chaque GPU effectue simultanément une partie de chaque couche, le parallélisme tensoriel réduit la mémoire par GPU et accélère le calcul, mais il nécessite une communication fréquente et à large bande passante entre les GPU de chaque couche. C'est pourquoi il est généralement confiné dans un nœud connecté par NVLink et combiné avec un pipeline et un parallélisme de données pour de très grandes tâches de formation et de service.

Mise en œuvre dans le monde réel

Entraînement d'un modèle de 175 B en partageant les matrices de poids de chaque couche sur 8 GPU dans un nœud connecté à NVLink à l'aide de Megatron-LM.

Servir un modèle de discussion de 70 B dans vLLM avec tensor_parallel_size=4 afin que les pondérations s'adaptent à quatre GPU et répondent en temps réel.

Diviser l'attention du transformateur entre les GPU afin que chaque appareil calcule un sous-ensemble, puis concaténer les sorties pour la couche suivante.

Combiner le parallélisme tensoriel au sein des nœuds et le parallélisme pipeline entre les nœuds pour former des modèles comportant des milliards de paramètres sur de grands clusters GPU.

L'avenir du parallélisme tensoriel pour les grands modèles

Le parallélisme tensoriel reste fondamental mais est de plus en plus intégré au « parallélisme 3D » (tenseur + pipeline + données) et combiné au parallélisme expert pour les modèles de mélange d'experts. Des frameworks comme Megatron-LM, DeepSpeed ​​et vLLM automatisent le partitionnement. À mesure que les interconnexions GPU (NVLink, NVSwitch) et les structures optiques deviennent plus rapides, la limite des limites des nœuds s'assouplit, permettant des groupes tensoriels parallèles plus larges. Attendez-vous à une parallélisation automatique plus intelligente qui sélectionne les dimensions des partitions et la taille des groupes afin de minimiser la communication pour une topologie de cluster donnée.

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 Tensor Parallelism for Large Models 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

What is Tensor Parallelism for Large Models?

Un moyen de diviser les calculs au sein d'une seule couche de réseau neuronal sur plusieurs GPU afin qu'un modèle trop volumineux pour un seul appareil puisse toujours s'exécuter. C’est important car les modèles frontières comportent des centaines de milliards de paramètres qu’aucun GPU ne peut contenir ou calculer assez rapidement à lui seul.

Qu'est-ce qui divise le parallélisme tensoriel entre les GPU ?

Le parallélisme tenseur (intra-couche) fragmente les matrices de poids à l'intérieur d'une couche, de sorte que chaque GPU calcule une partie de la même couche, à la différence du parallélisme de pipeline, qui place des couches entières sur différents GPU.

Dans la division MLP de style Megatron, comment les deux matrices de poids sont-elles partitionnées pour minimiser la communication ?

Le fractionnement de la première matrice par colonnes permet à chaque GPU d'appliquer la non-linéarité localement ; diviser la seconde en lignes signifie qu'une seule réduction totale additionne les sorties partielles, minimisant ainsi la synchronisation.

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

Chaque couche déclenche une communication collective (tout réduit), de sorte que le trafic lourd et sensible à la latence exige des liaisons intra-nœuds rapides comme NVLink plutôt que des réseaux inter-nœuds plus lents.

Comment le mécanisme d'attention est-il généralement parallélisé sous le parallélisme tensoriel ?

Les têtes d'attention sont indépendantes, elles sont donc réparties sur les GPU : chaque appareil calcule certaines têtes et les sorties sont combinées.

Quelle opération collective combine généralement des résultats partiels dans le parallélisme tensoriel ?

All-reduce additionne les sorties partielles calculées sur chaque GPU afin qu'elles soient d'accord sur le résultat de la couche ; cela se produit plusieurs fois par couche lors des passes avant et arrière.