Ottimizza il networking del cluster utilizzando NCCL/gIB

I moderni framework di machine learning spesso utilizzano la NVIDIA Collective Communications Library (NCCL) per le primitive di comunicazione da GPU a GPU.

La versione avanzata di NCCL di Google si chiama NCCL/gIB ed è disponibile sulle VM A3 Ultra, A4 e A4X di Google Cloud. NCCL/gIB è spesso più performante di NCCL upstream sull'infrastruttura di Google. Poiché le prestazioni di NCCL possono influire sulle prestazioni complessive del carico di lavoro, ti consigliamo di utilizzare NCCL/gIB.

NCCL/gIB contiene funzionalità e ottimizzazioni specifiche di Google, ad esempio:

  • Il plug-in di rete gIB offre un bilanciamento del carico migliorato sulle reti di Google, con conseguente throughput elevato e bassa latenza in modo più coerente durante le operazioni collettive.
  • Un plug-in di ottimizzazione personalizzato, che seleziona le opzioni di ottimizzazione migliori sulle Google Cloud VM.
  • Il plug-in del profiler CoMMA fornisce metriche di rendimento dettagliate e dati di diagnostica per il carico di lavoro.
  • Il plug-in env fornisce configurazioni di variabili specifiche della piattaforma sulle Google Cloud VM.

Architettura NCCL/gIB

NCCL/gIB interagisce con il framework di machine learning e le GPU NVIDIA sui cluster per ottimizzare le prestazioni e raccogliere la telemetria, come mostrato in questo diagramma:

Il carico di lavoro ML è gestito da un framework ML che si connette sia alle GPU NVIDIA sia a NCCL, mentre NCCL si connette a vari plug-in e strumenti Google.

Vantaggi dell'utilizzo di NCCL/gIB

Sebbene sia possibile utilizzare la NVIDIA Collective Communications Library upstream sulle Google Cloud VM senza problemi di stabilità, NCCL/gIB è meglio ottimizzato per Google Cloud e la disparità di prestazioni può essere molto significativa per determinati pattern di comunicazione, anche con gli stessi parametri NCCL.

Ad esempio, il seguente grafico mostra un confronto tra NCCL/gIB e NCCL upstream sulle prestazioni di AllReduce. NCCL/gIB supera NCCL upstream fino a 12 volte per determinate dimensioni dei messaggi.

Un grafico che mostra che NCCL/gIB supera NCCL upstream nelle attività AllReduce.

Prestazioni di NCCL AllReduce a 32 nodi utilizzando A3 Ultra (H200) senza traffico in background.

Allo stesso modo, in un confronto tra NCCL/gIB e NCCL upstream sulle prestazioni di AllGather con traffico in background, NCCL/gIB supera NCCL upstream di circa il 50% per le dimensioni dei messaggi più grandi, come mostrato in questo grafico.

Un grafico che mostra che NCCL/gIB supera NCCL upstream nelle attività AllGather.

Prestazioni di NCCL AllGather a 32 nodi utilizzando A3 Ultra (H200) su una struttura condivisa con un background rumoroso.

Inoltre, il plug-in del profiler CoMMA fornisce a Google una telemetria personalizzata migliorata, che ci consente di aiutarti meglio in caso di problemi a livello di carico di lavoro.

Utilizzo di NCCL/gIB

Per eseguire i test NCCL/gIB sul cluster, scegli la pagina dal seguente elenco che soddisfa al meglio i tuoi requisiti:

Per scoprire come risolvere eventuali problemi con il cluster dopo aver eseguito i test, consulta Raccogliere e comprendere i log NCCL/gIB per la risoluzione dei problemi.