La plupart des applications peuvent rester sur un seul GPU plus longtemps que vous ne le pensez. Passez à plusieurs GPU lorsque les objectifs de mémoire ou de débit l'exigent, ou lorsque la taille de votre modèle dépasse la mémoire GPU disponible. Le parallélisme augmente les coûts de communication et crée de nouveaux modes de défaillance : planifiez-le, testez-le et limitez vos limites.
Essayez Compute dès aujourd'hui : Lancez un VllM serveur d'inférence activé Calculer avec 2×, 4× ou 8× Préréglages du GPU. Choisissez la France ou les Émirats arabes unis, diffusez par défaut et veillez à ce que les max_tokens et les majuscules de contexte soient sensibles lorsque vous testez des formes par lots.
Quand le multiprocesseur graphique est réellement rentable
- Le modèle ne convient pas. Même avec int8, la taille du modèle (poids + k‑cache) peut dépasser la VRAM d'une seule carte.
- Le contexte est long. Une simultanéité élevée + de longues invites/sorties (longueur de séquence accrue) poussent le cache au-delà de la marge de sécurité.
- Plafond de débit. Vous avez besoin de plus de jetons/seconde pour un même objectif de latence que ce qu'une carte peut fournir.
Le réglage de la taille globale des lots est important pour optimiser le débit et l'utilisation du GPU dans les configurations multi-GPU.
Si votre problème est principalement lié à la file d'attente ou à des majuscules surdimensionnées, corrigez-les d'abord. Le multiprocesseur graphique n'enregistre pas un mauvais planificateur.
Start in seconds with the fastest, most affordable cloud GPU clusters.
Launch an instance in under a minute. Enjoy flexible pricing, powerful hardware, and 24/7 support. Scale as you grow—no long-term commitment needed.

Modes de parallélisme (anglais clair)
Parallélisme tensoriel. Divisez les multiplications de matrices individuelles sur les GPU. Le modèle est divisé en partitions, et ces partitions sont partitionnées en fonction du nombre de GPU (nombre de GPU) disponibles. Le paramètre de taille parallèle du tenseur détermine la part du calcul distribuée sur les GPU. Idéal pour les grands modèles ; nécessite des liens rapides entre les cartes.
Parallélisme des pipelines. Divisez les couches en étapes sur les GPU. Le modèle est divisé en partitions, et chaque partition est attribuée à un GPU différent. Les microlots s'écoulent d'une étape à l'autre ; c'est bien lorsque les couches sont équilibrées. Le paramètre de taille parallèle du pipeline contrôle le nombre d'étages de pipeline (partitions) répartis sur le nombre de GPU.
Parallélisme des données. De nombreuses répliques traitent différentes demandes. Simple et robuste ; aucune demande ne concerne les GPU. Pour vous aider à choisir entre instances ponctuelles et à la demande, consultez cet aperçu.
Ces approches s'inscrivent dans le cadre de parallélisme des modèles, qui consiste à diviser un modèle sur plusieurs GPU afin d'améliorer l'efficacité de la mémoire et la vitesse d'entraînement pour les très grands modèles. Le parallèle au pipeline et le parallèle aux tenseurs sont des types spécifiques de parallélisme de modèle, chacun utilisant des stratégies différentes pour partitionner et distribuer les calculs du modèle sur les GPU disponibles.
Pour inférer, commencez par parallélisme des données (plusieurs nœuds) avant de croiser une seule requête sur plusieurs GPU.
Architecture du pipeline
L'architecture Pipeline vous permet de faire évoluer de grands modèles de langage sur plusieurs GPU. Voici ce qu'il fait : il divise votre modèle en étapes de pipeline, chaque étape s'exécutant sur un GPU différent. Au lieu de regrouper l'ensemble de votre modèle sur un seul GPU, vous partitionnez les couches de manière à ce que chaque étape gère une partie des données d'entrée, puis vous transmettez les résultats à l'étape suivante. Cela vous permet d'entraîner ou de servir des modèles bien trop volumineux pour la mémoire d'un seul GPU.
Voici le processus : vos données d'entrée sont divisées en micro-lots qui circulent dans le pipeline. Chaque étape du pipeline traite son micro-lot, puis transmet les résultats à l'étape suivante. Cela permet de garder tous vos GPU occupés : l'un peut travailler sur la passe avant pour un microlot tandis qu'un autre gère la passe arrière pour un autre lot. Vous voulez garder le pipeline plein et réduire la « bulle du pipeline », c'est-à-dire la période d'inactivité pendant laquelle les GPU attendent les données des autres.
Le parallélisme des pipelines fonctionne bien pour les modèles à grande échelle où les paramètres du modèle et la mémoire d'activation écraseraient un seul GPU. En divisant le modèle, chaque GPU ne stocke et ne traite qu'un sous-ensemble de paramètres et d'activations. Cela permet de travailler avec des modèles beaucoup plus grands et d'équilibrer l'utilisation de la mémoire et les calculs sur l'ensemble de vos GPU.
Pour configurer le parallélisme des pipelines, de nombreux frameworks vous fournissent une API de pipeline, un moyen simple de diviser votre modèle en étapes, de gérer des micro-lots et de gérer les communications entre les GPU. Ces API prennent souvent en charge le partitionnement automatique des couches du modèle, des calendriers de pipeline flexibles et fonctionnent conjointement avec d'autres stratégies de parallélisme telles que le parallélisme des tenseurs et le parallélisme des données. Vous pouvez combiner le parallélisme du pipeline (division des couches du modèle entre les GPU) avec le parallélisme tensoriel (division des multiplications matricielles au sein d'une couche entre les GPU) pour obtenir un débit et une efficacité optimaux.
Une bonne architecture de pipeline vise à réduire les frais de communication et à maintenir toutes les étapes du pipeline occupées. Moins vos GPU passent de temps à attendre les données, plus votre débit est élevé et votre latence diminue. En divisant soigneusement votre modèle et en ajustant la taille de votre micro-lot, vous pouvez réduire la bulle du pipeline et tirer le meilleur parti de votre matériel.
L'architecture Pipeline vous offre un moyen efficace de faire évoluer les LLM sur plusieurs GPU. En divisant votre modèle en étapes et en traitant les données d'entrée sous forme de micro-lots, vous pouvez entraîner et diffuser des modèles qui seraient trop volumineux pour un seul GPU. Combiné au parallélisme des tenseurs et au parallélisme des données, le parallélisme des pipelines permet de servir des modèles à grande échelle et de manière efficace, ce qui en fait un outil essentiel pour tous ceux qui travaillent avec des modèles volumineux et des données volumineuses.
Mathématiques de la mémoire et KV‑cache
- Poids du modèle: environ 2 octets/paramètre au FP16 ; les moitiés à int8 ; les quarts à int4. Les poids des modèles contribuent largement à l'utilisation de la mémoire pendant l'entraînement et l'inférence.
- KV-Cache: grandit avec context × batch. Même si les poids correspondent, il se peut que le cache ne soit pas le cas.
- Shard ou réplication: le tenseur/le pipeline peut afficher l'état d'une partition ; Data Parallel le réplique par réplique. Le sharding permet d'économiser de la mémoire mais améliore la coordination.
Le partitionnement des états et des gradients des optimiseurs entre les GPU, comme dans Zero et dans des stratégies similaires, peut réduire davantage les besoins en mémoire dans le cadre de l'entraînement distribué. Le déchargement de parties du modèle ou du cache vers la mémoire du processeur ou la mémoire système peut également aider à gérer les contraintes de mémoire dans les configurations à grande échelle.
Règle de base : conserver Hauteur libre de la VRAM > 10 à 20 % au pic ou TTFT augmentera.
Formes de lots et planification
- Préférez de nombreux petits décodages sur quelques générations énormes.
- Divisez les entrées ou les tenseurs d'entrée en micro-lots pour le traitement.
- Limitez le nombre maximum de jetons par demande afin que les emplacements de décodage soient inversés.
- Mélangez les instructions courtes et longues de manière équitable à chaque étape (traitement par lots continu).
- Mesurez le TTFT/TPS pour chaque forme de lot ; la meilleure forme est empirique et non théorique.
Chaque micro-lot est traité de manière séquentielle dans le pipeline. Par exemple, des formes de lots ou des stratégies de planification efficaces peuvent inclure la planification circulaire de micro-lots ou le partitionnement des tenseurs d'entrée le long de la dimension de la séquence afin d'optimiser le parallélisme.
Topologie et interconnexions
- Même hôte, même commutateur bat le houblon croisé.
- Interconnexion NVLINK de NVIDIA optimise les communications entre les GPU en fournissant des liens à bande passante élevée et à faible latence, ce qui est particulièrement bénéfique pour les modes de parallélisme tenseur et pipeline. Lorsque l'interconnexion NVLINK n'est pas disponible, le parallélisme des pipelines peut contribuer à réduire les frais de communication et à améliorer le débit.
- La technologie NVIDIA telle que GPUDirect RDMA permet un accès direct à la mémoire entre les GPU, améliorant ainsi l'efficacité du transfert de données, réduisant la latence et optimisant les performances dans les configurations GPU multi-nœuds.
- Épinglez les processus aux GPU ; évitez les goulots d'étranglement PCIe partagés ; maintenez les horloges stables (problèmes thermiques).
Modes de défaillance et redondance
- Requête unique sur tous les GPU veux dire une panne de processeur graphique peut annuler la requête. Ajoutez de nouvelles tentatives ou préférez des répliques parallèles de données pour les chemins critiques.
- Rechargements à chaud: vidangez les cours d'eau avant de changer de modèle.
- Cascades OOM: appliquez des limites et éliminez rapidement les cours d'eau bloqués.
Un plan de test qui permet de détecter les problèmes réels
- Simultanéité des rampes jusqu'à ce que TTFT p95 atteigne votre cible ; comparez 1×, 2× et 4×, et suivez le nombre total de GPU utilisés lors des tests de dimensionnement.
- Ensemble d'instructions mixte (court + long) pour mettre en lumière les problèmes d'équité.
- Annulez les tempêtes pour tester la réutilisation et le nettoyage du cache KV.
- Perte de nœuds: supprimez un processus/GPU ; testez avec différents GPU pour vérifier leur comportement en vol et leur robustesse en cas de basculement.
- Échange à chaud modèle ou quantification ; comparer le TTFT/TPS et la qualité.
Une surveillance qui compte
- TTFT p50/p95, TPS p50/p95
- Taille du lot actif, longueur de la file d'attente
- Espace mémoire GPU par GPU, cache hit/miss
- Utilisation des liaisons inter-GPU (si disponible)
- Taux d'erreur par type (OOM, délais d'attente, 5xx)
- Distribution des paramètres du modèle et des partitions entre les GPU pour l'équilibrage de charge
Essayez Compute dès aujourd'hui: Répartissez-vous sur Calculer avec Plusieurs processeurs graphiques préréglages et compatibilité avec OpenAI VllM serveur. Gardez les terminaux à proximité des utilisateurs et mesurez-les avant de procéder à la mise à niveau du matériel.
Évoluez au-delà d'un seul GPU sans interrompre la latence
Utilisez le multiprocesseur graphique lorsque le modèle ou le cache ne conviennent pas, ou lorsque vous avez besoin de plus de jetons par seconde avec la même latence. Préférez d'abord les répliques parallèles aux données ; n'utilisez le tenseur/pipeline que lorsque vous le devez. Limitez les majuscules, diffusez, placez les nœuds à proximité des utilisateurs et laissez le TTFT/TPS vous guider dans votre prochaine étape.
FAQ
Ai-je besoin de NVLink pour le parallélisme des tenseurs ?
Cela m'aide beaucoup. Sans interconnexion rapide, la communication peut effacer les gains résultant de la division des couches.
Que dois-je essayer en premier : plus de GPU ou plus de nœuds ?
Essayez-en plus nœuds (données parallèles) premier. Il est plus simple, isole les défaillances et s'adapte parfaitement à de nombreuses charges de travail.
Pourquoi la latence s'est-elle aggravée après le passage au multiprocesseur graphique ?
Surcharge de communication probable ou forme de lot qui déclenche une pression sur le cache. Vérifiez la bande passante d'interconnexion, réduisez les limites et remesurez.
Le multiprocesseur graphique peut-il aider à gérer un contexte long ?
Oui, en répartissant la mémoire entre les cartes. Mais considérez également le RAG et la quantification avant d'ajouter de la complexité.
Comment savoir s'il est temps de passer à la version supérieure ?
Lorsque le TTFT p95 augmente et que le TPS s'aplatit à un trafic constant malgré des plafonds nets et une marge de mémoire suffisante sur un seul GPU.
Quel est le rôle de la couche d'intégration dans le parallélisme des pipelines ?
La couche d'intégration met en correspondance le vocabulaire d'entrée avec les états cachés. Dans le parallélisme du pipeline, la couche d'intégration est souvent placée au début du pipeline et peut être liée ou partagée entre les étapes du modèle pour garantir cohérence et efficacité.
Comment les blocs de transformateurs et les couches de transformateurs sont-ils répartis sur les GPU ?
Les blocs de transformateurs et les couches de transformateurs sont répartis sur les GPU selon un parallélisme de pipeline et de tenseur. Chaque GPU traite un sous-ensemble de ces couches, ce qui permet au modèle de s'adapter efficacement et de gérer des architectures plus importantes.
Comment les couches d'experts sont-elles réparties dans les modèles de mélange d'experts (MoE) ?
Les couches expertes des architectures MoE sont réparties sur plusieurs GPU. Cette distribution permet le calcul parallèle de différents experts, améliorant ainsi l'évolutivité et l'efficacité des calculs lors de la formation et de l'inférence.
Quels sont les défis liés à la formation de LLM avec une grande mémoire d'activation ?
La formation des LLM (grands modèles linguistiques) nécessite de gérer une mémoire d'activation importante. Des frameworks spécialisés tels que NeMo permettent de distribuer les données d'activation et d'optimiser l'utilisation de la mémoire, ce qui est essentiel pour un entraînement multi-GPU efficace.
Comment la séquence et la dimension de séquence affectent-elles les stratégies de parallélisme ?
Les stratégies de parallélisme telles que le parallélisme des séquences partitionnent et distribuent les données d'activation le long de la dimension de la séquence. Cela permet une gestion efficace de longues séquences d'entrée et une meilleure utilisation de la mémoire et des ressources de calcul du GPU.
Que signifie la propagation linéaire des données à travers les étapes du pipeline ?
La propagation linéaire signifie que les données se déplacent de manière séquentielle à travers chaque étage du pipeline, chaque étage déduisant des formes et traitant les sorties dans l'ordre, sans saut de connexions ni routage complexe.
Comment le parallélisme des pipelines est-il mis en œuvre dans les frameworks populaires ?
Le parallélisme des pipelines est implémenté dans des frameworks tels que Megatron-LM et DeepSpeed en s'intégrant au parallélisme des données (DP), au parallélisme tenseur (TP), à ZeRo et à divers calendriers de pipelines. Ces frameworks fournissent des configurations et des bases de code pratiques pour déployer efficacement le parallélisme des pipelines.