Panoramica

Questo documento descrive Collective Communication Analyzer (CoMMA), una libreria per la raccolta della telemetria NCCL per i servizi Google Cloud . La telemetria NCCL raccoglie le metriche sul rendimento e gli eventi operativi generati da NCCL durante l'esecuzione. La NVIDIA Collective Communication Library (NCCL) accelera la comunicazione ad alte prestazioni tra le GPU in esecuzione in parallelo e i sistemi di computing distribuito. Questa comunicazione ad alte prestazioni è particolarmente utile per il deep learning e l'high performance computing (HPC).

Per le versioni NCCL 2.23 e successive, NVIDIA ha introdotto l'API del plug-in del profiler NCCL, che consente agli sviluppatori di registrare i callback delle funzioni per raccogliere la telemetria durante le operazioni collettive NCCL. Google fornisce il Collective Communication Analyzer (CoMMA), una libreria che utilizza l'API del plug-in del profiler NCCL di NVIDIA per raccogliere la telemetria NCCL per i servizi Google Cloud . CoMMA viene installato e attivato automaticamente per alcune immagini, ma puoi anche disattivarlo, riattivarlo o installarlo e attivarlo manualmente per controllare la raccolta dei dati.

Immagini con CoMMA abilitato

Per i tipi di macchina A5X, A4X Max, A4X, A4, A3 Ultra, A3 Mega e A3 High (8 GPU), CoMMA viene installato e attivato automaticamente quando utilizzi immagini che pacchettizzano il plug-in gIB NCCL. Le seguenti immagini contengono il plug-in NCCL gIB:

Se utilizzi una di queste immagini e vuoi disattivare la raccolta della telemetria NCCL da parte di CoMMA, consulta Disattiva CoMMA. Tuttavia, CoMMA deve essere abilitato per il funzionamento di funzionalità come il rilevamento di straggler o il rilevamento di workload che non rispondono. Se non utilizzi queste immagini e vuoi attivare CoMMA per raccogliere la telemetria NCCL, consulta Installa CoMMA.

Vantaggi

La telemetria NCCL raccolta da CoMMA aiuta a identificare i colli di bottiglia delle prestazioni, in particolare i ritardatari, nella comunicazione della GPU. CoMMA raccoglie dati granulari, come gli istogrammi di latenza per le operazioni di comunicazione collettiva. Un servizio di diagnostica può quindi elaborare e utilizzare questi dati per individuare gli elementi lenti.

L'utilizzo di CoMMA per raccogliere i dati di telemetria offre i seguenti vantaggi:

  • Obbligatorio per il rilevamento di straggler e workload che non rispondono: CoMMA raccoglie la telemetria NCCL granulare per identificare i colli di bottiglia delle prestazioni o gli straggler nella comunicazione tra GPU. CoMMA fornisce una telemetria NCCL dettagliata che aiuta a identificare e risolvere i problemi nei workload di addestramento di AI e ML su larga scala.

    Ad esempio, CoMMA acquisisce l'algoritmo utilizzato nelle operazioni NCCL. Queste informazioni sono utili per l'analisi e l'ottimizzazione delle prestazioni, poiché algoritmi diversi possono avere caratteristiche di prestazioni notevolmente diverse in base al workload e alla configurazione del sistema.

    CoMMA aiuta anche a risolvere i problemi relativi a prestazioni non ottimali ed errori. Traccia gli errori provenienti da livelli di trasporto di livello inferiore, come TCP, RDMA o fabric di switch, fino a collettivi NCCL specifici e nodi di avvio. Può riconoscere quando un segnale di telemetria heartbeat smette di rispondere e individuare le potenziali cause dei workload che non rispondono.

  • Tracciamento a basso overhead: CoMMA utilizza risorse di computing minime durante la raccolta attiva della telemetria NCCL, il che lo rende ideale per workload di machine learning sensibili alle prestazioni e a lunga esecuzione, come l'addestramento di modelli linguistici di grandi dimensioni (LLM).

  • Amplia l'ambito della telemetria NCCL: CoMMA utilizza l'API del plug-in del profiler NCCL. Questa API raccoglie un ambito più ampio di dati di telemetria NCCL rispetto ai plug-in basati sul trasporto. I plug-in basati sul trasporto raccolgono principalmente dati di telemetria sul trasporto di rete sottostante, inclusi i trasferimenti di dati su hardware di rete e protocolli di rete. Il plug-in del profiler raccoglie la telemetria per le operazioni di comunicazione di NCCL, tra cui la tempistica delle comunicazioni collettive, le operazioni proxy e i trasferimenti di dati.

Scopri come funziona CoMMA

Durante il runtime dell'applicazione, NCCL carica automaticamente le librerie CoMMA installate nella posizione specificata dalla variabile di ambiente LD_LIBRARY_PATH. CoMMA raccoglie quindi la telemetria NCCL, che può essere utilizzata da altri servizi Google. Se vuoi, puoi anche esportare questi dati nel tuo file system locale.

Passaggi successivi