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.

Aperçu

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 est un élément technique qui affecte la qualité du modèle, le coût de l'infrastructure, la latence et la fiabilité à grande échelle.

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.

Aperçu technique

Le parallélisme tensoriel (comme dans NVIDIA Megatron-LM) divise les matrices de poids par colonnes ou par lignes et utilise la réduction totale pour recombiner les résultats partiels, gardant ainsi la communication à l'intérieur d'un nœud NVLink rapide. Le parallélisme des pipelines (GPipe, PipeDream) divise le lot en micro-lots qui traversent les étapes selon un calendrier échelonné, réduisant ainsi le temps d'inactivité des « bulles ». Les deux sont souvent superposés, avec un parallélisme tensoriel au sein d’un nœud et un parallélisme pipeline entre les nœuds.

Maîtriser le modèle et le parallélisme 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. 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 est un élément technique qui affecte la qualité du modèle, le coût de l'infrastructure, la latence et la fiabilité à grande échelle. Pour acquérir une compréhension approfondie, traitez le parallélisme des modèles et des pipelines comme un modèle opérationnel et non comme une fonctionnalité unique : définissez les résultats souhaités, clarifiez les hypothèses et séparez ce que le système peut faire de manière fiable de ce qui nécessite encore un jugement d'expert.

Dans la pratique, des équipes solides utilisant le parallélisme de modèles et de pipelines optimisent les choix d'architecture, de données et d'infrastructure en fonction de la fiabilité et des coûts. Ils documentent des critères de réussite explicites, testent par rapport à des données et des flux de travail réalistes et itèrent en fonction des modèles d'échec observés plutôt que des victoires de référence ponctuelles. C’est là que la compréhension théorique se transforme en capacité durable au niveau des produits, des politiques et des opérations.

Les décisions en matière d'architecture déterminent les performances et les coûts d'exploitation pendant des années. Dans le même temps, l’optimisation d’un benchmark peut masquer des faiblesses plus larges du système. L'approche la plus résiliente consiste à combiner vitesse d'expérimentation et discipline de gouvernance : exécuter des projets pilotes, capturer des preuves, publier des journaux de décision et mettre à jour en permanence les protections à mesure que le comportement du modèle, les attentes des utilisateurs et les exigences réglementaires évoluent.

Impact stratégique

Les décisions en matière d'architecture déterminent les performances et les coûts d'exploitation pendant des années.

Les décisions en matière d'architecture déterminent les performances et les coûts d'exploitation pendant des années. Dans les déploiements de haute qualité, cela se traduit par des règles de fonctionnement mesurables, des limites de propriété et des rituels d'examen récurrents afin que les équipes puissent accroître la confiance au lieu de l'ambiguïté.

La formation technique aide les équipes à choisir la bonne pile, pas seulement la plus récente.

La formation technique aide les équipes à choisir la bonne pile, pas seulement la plus récente. Dans les déploiements de haute qualité, cela se traduit par des règles de fonctionnement mesurables, des limites de propriété et des rituels d'examen récurrents afin que les équipes puissent accroître la confiance au lieu de l'ambiguïté.

De meilleurs choix d’ingénierie réduisent les incidents de fiabilité en production.

De meilleurs choix d’ingénierie réduisent les incidents de fiabilité en production. Dans les déploiements de haute qualité, cela se traduit par des règles de fonctionnement mesurables, des limites de propriété et des rituels d'examen récurrents afin que les équipes puissent accroître la confiance au lieu de l'ambiguïté.

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.

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.

Modèles de mise en œuvre

Le parallélisme des modèles et des pipelines en pratique

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.

Entraînement de modèles de type 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. Les équipes obtiennent généralement de meilleurs résultats lorsqu'elles définissent des seuils de qualité à l'avance, gardent un chemin d'escalade humain pour les cas extrêmes et suivent à la fois les gains de productivité et les coûts d'erreur au fil du temps.

Le parallélisme des modèles et des pipelines en pratique

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.

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 tient occupés. Les équipes obtiennent généralement de meilleurs résultats lorsqu'elles définissent des seuils de qualité à l'avance, gardent un chemin d'escalade humain pour les cas extrêmes et suivent à la fois les gains de productivité et les coûts d'erreur au fil du temps.

Le parallélisme des modèles et des pipelines en pratique

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.

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. Les équipes obtiennent généralement de meilleurs résultats lorsqu'elles définissent des seuils de qualité à l'avance, maintiennent un chemin d'escalade humain pour les cas extrêmes et suivent à la fois les gains de productivité et les coûts d'erreur au fil du temps.

Le parallélisme des modèles et des pipelines en pratique

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.

En combinant 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 équipes obtiennent généralement de meilleurs résultats lorsqu'elles définissent des seuils de qualité à l'avance, gardent un chemin d'escalade humain pour les cas extrêmes et suivent à la fois les gains de productivité et les coûts d'erreur au fil du temps.

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.

Définissez les objectifs de latence, de qualité et de coût avant la mise en œuvre. Traitez chaque étape comme une porte de preuves : si les critères ne sont pas remplis, suspendez le déploiement, comblez l'écart, puis étendez l'utilisation.

2

Benchmark dans des conditions de charge et de données réalistes.

Benchmark dans des conditions de charge et de données réalistes. Traitez chaque étape comme une porte de preuves : si les critères ne sont pas remplis, suspendez le déploiement, comblez l'écart, puis étendez l'utilisation.

3

Surveillance des instruments pour détecter les erreurs, la dérive et l'impact sur l'utilisateur.

Surveillance des instruments pour détecter les erreurs, la dérive et l'impact sur l'utilisateur. Traitez chaque étape comme une porte de preuves : si les critères ne sont pas remplis, suspendez le déploiement, comblez l'écart, puis étendez l'utilisation.

4

Préparez les chemins de restauration et de réponse aux incidents avant la mise à l’échelle.

Préparez les chemins de restauration et de réponse aux incidents avant la mise à l’échelle. Traitez chaque étape comme une porte de preuves : si les critères ne sont pas remplis, suspendez le déploiement, comblez l'écart, puis étendez l'utilisation.

Continuez à explorer