Parallélisme des LLM : quelles différences entre TP, PP, DP et EP ?
Traduction automatique
Cet article a été traduit automatiquement depuis la version originale en anglais.
Le parallélisme tensoriel répartit les opérations sur les poids. Le parallélisme de pipeline répartit les couches. Le parallélisme de données en serving exécute des répliques indépendantes du modèle. Le parallélisme d’experts répartit les experts d’un modèle à mélange d’experts. Choisissez selon la mémoire nécessaire au modèle, le trafic et les liaisons entre GPUs.
Ce sont quatre approches courantes. Les grands déploiements peuvent les combiner, et l’entraînement avec un contexte long peut aussi utiliser le parallélisme de séquence ou de contexte.
Que stocke chaque GPU ?
| Approche | Répartition du modèle | Communications à prendre en compte |
|---|---|---|
| Parallélisme tensoriel, TP | Parties des matrices de poids | Opérations collectives fréquentes pendant l’exécution du modèle |
| Parallélisme de pipeline, PP | Groupes de couches consécutives | Activations transmises entre les étapes |
| Parallélisme de données, DP | Répliques complètes de serving | Aucun calcul du modèle entre répliques pour les requêtes indépendantes |
| Parallélisme d’experts, EP | Différents experts MoE | Tokens acheminés vers les experts, souvent par un échange tous-à-tous |
Le DP d’entraînement diffère des répliques de serving : l’entraînement combine les gradients, et ZeRO ou FSDP peuvent répartir l’état d’entraînement. Les systèmes MoE peuvent aussi coordonner des composants partagés, même lorsqu’une partie du travail utilise le parallélisme de données.
Le rapport Llama 3 décrit le parallélisme combiné pour entraîner de grands modèles et l’inférence avec parallélisme de pipeline. Son déploiement montre pourquoi il faut considérer ensemble la répartition du modèle et la topologie ; il ne définit pas de configuration universelle.
Choisissez le plus petit groupe capable de traiter la charge
Si un modèle de serving tient sur un GPU avec une capacité suffisante pour le KV cache, commencez par tester des répliques indépendantes. Elles peuvent augmenter le débit total sans ajouter d’opérations collectives à chaque requête.
Si le modèle nécessite plusieurs GPUs, testez TP au sein d’un nœud doté de liaisons rapides entre GPU. Davantage de partitions peuvent réduire la mémoire par GPU, mais ajoutent des communications. Si le modèle s’étend sur plusieurs nœuds, comparez PP et les combinaisons de TP et PP ; des durées inégales entre étapes et des périodes d’inactivité du pipeline peuvent réduire l’utilisation.
Pour un modèle MoE, mesurez la répartition des experts, l’équilibre des tokens et le trafic d’interconnexion avant d’ajouter EP. La mémoire disponible pour les experts n’est qu’un aspect de la décision.
Gardez les prompts, les longueurs de sortie, la précision et les seuils de latence constants dans la comparaison. Indiquez le débit du groupe complet de serving ; le diviser par le nombre de GPU ne permet pas de prévoir comment une autre topologie évoluera avec davantage de ressources.
La section sur le parallélisme du LLM Engineering Guide illustre les quatre répartitions.