GUIDE Technique

Communication collective et NCCL

La communication collective est la manière dont un groupe de GPU échange et combine des données, et NCCL est la bibliothèque de NVIDIA qui rend ces échanges incroyablement rapides.

2 minutes de lectureDernière mise à jour

Aperçu

Operations like all-reduce are the heartbeat of distributed training, synchronizing gradients across every GPU each step.

Plongée profonde

Entraîner un grand modèle signifie que chaque GPU calcule les gradients sur sa propre tranche de données, puis tous les GPU doivent se mettre d'accord sur un résultat combiné avant l'étape suivante. Cette coordination se fait avec des opérations collectives : réduire toutes les valeurs des sommes sur les GPU et donner le résultat à chacun ; all-gather rassemble les éléments de chaque GPU en une copie complète sur chacun d'eux ; la diffusion envoie les données d'un GPU au reste ; la réduction de la diffusion se combine puis se divise. NCCL (NVIDIA Collective Communications Library) les implémente efficacement sur les GPU d'un serveur et sur plusieurs serveurs, en utilisant des algorithmes tenant compte de la topologie comme la réduction totale en anneau et en arbre. Il exploite NVLink à l'intérieur d'un nœud et InfiniBand ou RoCE entre les nœuds, et constitue l'épine dorsale de communication sous PyTorch DDP, FSDP, DeepSpeed ​​et Megatron.

Aperçu technique

Ring all-reduce est l'algorithme classique : les GPU forment un anneau logique et les données sont divisées en morceaux qui circulent de sorte que chaque étape chevauche la communication, ce qui rend la bande passante de transfert totale optimale et à peu près indépendante du nombre de GPU. Pour de nombreux nœuds, les algorithmes arborescents réduisent la latence en combinant les résultats de manière hiérarchique. NCCL détecte automatiquement la topologie, sélectionne le meilleur algorithme et peut transférer les calculs de réduction dans le réseau avec NVIDIA SHARP, réduisant ainsi de moitié les données qui doivent traverser les liaisons.

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 de la communication collective et du NCCL

À mesure que les clusters s'étendent jusqu'à des centaines de milliers de GPU, la communication domine de plus en plus le temps de formation, les bibliothèques collectives constituent donc une frontière brûlante. Attendez-vous à une informatique en réseau plus profonde (les commutateurs effectuent la réduction), à un meilleur chevauchement du calcul et de la communication pour masquer la latence et à des collectifs de moindre précision qui réduisent les octets déplacés. La concurrence s'intensifie également, avec les efforts des différents fournisseurs et les alternatives RDMA basées sur Ethernet, tandis que NCCL continue de renforcer l'intégration avec NVLink, NVSwitch et les tissus optiques émergents.

Mise en œuvre dans le monde réel

Synchronisation des dégradés à chaque étape de formation sur tous les GPU à l'aide de all-reduce dans PyTorch DistributedDataParallel

Sharding des états de l'optimiseur et collecte des paramètres à la demande avec la collecte totale et la réduction de la diffusion dans FSDP ou DeepSpeed ZeRO

Diffusion des pondérations initiales du modèle d'un GPU à tous les autres au début d'une exécution d'entraînement

Utilisation de Ring All-Reduce sur NVLink et InfiniBand pour maintenir une bande passante élevée sur les clusters GPU multi-nœuds

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 Collective Communication and NCCL 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

Désalignement de la diffusion des fonctionnalités en ligne et hors ligne

Questions fréquemment posées

What is Collective Communication and NCCL?

La communication collective est la manière dont un groupe de GPU échange et combine des données, et NCCL est la bibliothèque de NVIDIA qui rend ces échanges incroyablement rapides. Les opérations telles que all-reduce sont au cœur de la formation distribuée, synchronisant les dégradés sur chaque GPU à chaque étape.

Qu'accomplit une opération de réduction totale dans une formation distribuée ?

All-reduce additionne (ou combine autrement) une valeur sur chaque GPU et distribue le résultat identique à chacun d'eux, ce qui correspond à la manière dont les dégradés sont synchronisés.

Que signifie l'acronyme NCCL ?

NCCL est la bibliothèque de communications collectives NVIDIA, qui implémente des opérations collectives multi-GPU et multi-nœuds rapides.

Pourquoi la réduction totale de l'anneau est-elle considérée comme une bande passante optimale ?

En regroupant les données et en les faisant passer autour d'un anneau logique, chaque lien est utilisé simultanément et le transfert total devient à peu près indépendant du nombre de GPU.

Quelle opération collective rassemble les données de chaque GPU dans une copie complète détenue par tous les GPU ?

All-gather collecte les éléments distincts de chaque GPU et assemble l'ensemble complet sur chacun d'eux, largement utilisé dans les formations fragmentées comme FSDP.

Que fait NVIDIA SHARP pour les opérations collectives ?

SHARP effectue du calcul en réseau, effectuant une partie de la réduction à l'intérieur du commutateur, de sorte que moins de données doivent traverser les liaisons, accélérant ainsi les collectifs.