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 ?

ApprocheRépartition du modèleCommunications à prendre en compte
Parallélisme tensoriel, TPParties des matrices de poidsOpérations collectives fréquentes pendant l’exécution du modèle
Parallélisme de pipeline, PPGroupes de couches consécutivesActivations transmises entre les étapes
Parallélisme de données, DPRépliques complètes de servingAucun calcul du modèle entre répliques pour les requêtes indépendantes
Parallélisme d’experts, EPDifférents experts MoETokens 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.