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.

2 minutes de lectureDernière mise à jour

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.

Aperçu technique

L'astuce, popularisée par Megatron-LM, consiste à choisir les dimensions des cloisons afin que la communication soit minimale. La division de la première matrice MLP par colonne permet à chaque GPU d'appliquer la non-linéarité localement sans synchronisation ; diviser la deuxième ligne par ligne signifie que les sorties n'ont besoin que d'une seule réduction totale pour additionner les résultats partiels. Chaque couche subit ainsi environ deux réductions complètes (en avant) et deux (en arrière). Étant donné que ces collectifs se produisent à chaque couche, la latence domine : le parallélisme tensoriel réside donc derrière des liaisons intra-nœuds rapides comme NVLink plutôt que des réseaux inter-nœuds plus lents.

Impact stratégique

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.

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.

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.

Risques et garde-fous

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.

Feuille de route de mise en œuvre

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

Free newsletter

Get the daily AI briefing

Three verified AI stories every weekday morning, written in plain English. Free forever, no ads.

One email each weekday. Unsubscribe in one click. We never sell or share your address.

Test yourself

Take the Tensor Parallelism for Large Models quiz

Instant feedback on every answer, and a shareable certificate with a verifiable ID once you pass a course.

Démarrer le quiz

Support free AI education. AI Understanding is a 501(c)(3) nonprofit — no ads, no paywall, ever. Make a donation

Guide suivant

Parallélisme des modèles et des pipelines

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.