Optimiza las redes de clústeres con SNCCL/gIB

Los frameworks de aprendizaje automático modernos suelen utilizar la biblioteca de comunicaciones colectivas de NVIDIA (NCCL) para las primitivas de comunicación de GPU a GPU.

La versión mejorada de NCCL de Google se llama NCCL/gIB y está disponible en las VMs A3 Ultra, A4 y A4X de Google Cloud. NCCL/gIB suele tener un mejor rendimiento que la NCCL ascendente en la infraestructura de Google. Debido a que el rendimiento de NCCL puede afectar el rendimiento general de la carga de trabajo, te recomendamos que uses NCCL/gIB.

NCCL/gIB contiene funciones y optimizaciones específicas de Google, como las siguientes:

  • El complemento de red gIB ofrece un mejor balanceo de cargas en las redes de Google, lo que genera un alto rendimiento y una baja latencia de manera más coherente durante las operaciones colectivas.
  • Un complemento de ajuste personalizado, que selecciona las mejores opciones de ajuste en las Google Cloud VMs.
  • El complemento de CoMMA profiler proporciona métricas de rendimiento detalladas y datos de diagnóstico para tu carga de trabajo.
  • El complemento env proporciona configuraciones de variables específicas de la plataforma en las Google Cloud VMs.

Arquitectura de NCCL/gIB

NCCL/gIB interactúa con tu framework de aprendizaje automático y las GPU de NVIDIA en tus clústeres para optimizar el rendimiento y recopilar telemetría, como se muestra en este diagrama:

La carga de trabajo de AA se administra con un framework de AA que se conecta a las GPU de NVIDIA y a NCCL, mientras que NCCL se conecta a varios complementos y herramientas de Google.

Beneficios de usar NCCL/gIB

Si bien es posible usar la biblioteca de comunicaciones colectivas de NVIDIA ascendente en las Google Cloud VMs sin problemas de estabilidad, NCCC/gIB está mejor optimizada para Google Cloud y la disparidad de rendimiento puede ser muy significativa para ciertos patrones de comunicación, incluso con los mismos parámetros de NCCL.

Por ejemplo, el siguiente gráfico muestra una comparación de NCCL/gIB con la NCCL ascendente en el rendimiento de AllReduce. NCCL/gIB supera a la NCCL ascendente hasta 12 veces en ciertos tamaños de mensajes.

Un gráfico que muestra que NCCL/gIB supera a NCCL upstream en las tareas de AllReduce.

Rendimiento de NCCL AllReduce de 32 nodos con A3 Ultra (H200) sin tráfico en segundo plano

Del mismo modo, en una comparación de NCCL/gIB con la NCCL ascendente en el rendimiento de AllGather con tráfico en segundo plano, NCCL/gIB supera a la NCCL ascendente en aproximadamente un 50% en tamaños de mensajes más grandes, como se muestra en este gráfico.

Un gráfico que muestra que NCCL/gIB supera a NCCL upstream en las tareas de AllGather.

Rendimiento de NCCL AllGather de 32 nodos con A3 Ultra (H200) en una estructura compartida con un segundo plano ruidoso

Además, el complemento de CoMMA profiler proporciona a Google una telemetría personalizada mejorada, lo que nos permite ayudarte mejor en caso de que surja un problema a nivel de la carga de trabajo.

Usa NCCL/gIB

Para ejecutar pruebas de NCCL/gIB en tu clúster, elige la página de la siguiente lista que mejor se adapte a tus requisitos:

Para obtener información sobre cómo abordar cualquier problema con tu clúster después de ejecutar las pruebas, consulta Recopila y comprende los registros de NCCL/gIB para solucionar problemas.