El diseño y la práctica de redes de inteligencia artificial de alto rendimiento a gran escala

Requisitos de red para la formación de modelos grandes

Durante el último medio año, los modelos grandes han seguido siendo un tema candente. Aunque todavía hay mucho debate sobre el desarrollo y la aplicación de modelos grandes, las capacidades de los modelos grandes ciertamente se han convertido en la base para el desarrollo futuro de la inteligencia artificial. En comparación con los modelos pequeños anteriores, los modelos grandes tienen una mayor demanda de entrenamiento paralelo distribuido a gran escala.

Esto se debe a dos razones principales: Los modelos en sí son muy grandes. Debido a las limitaciones actuales de la memoria de la GPU, tenemos que dividir un modelo en muchas GPU para su almacenamiento. Por ejemplo, el modelo grande de FiberMall tiene 260 mil millones de parámetros, pero en realidad, una sola GPU A800 con 80 GB de memoria solo puede almacenar entre 1 y 2 mil millones de parámetros, incluidos los estados computacionales durante el entrenamiento. Solo almacenar un modelo de 260 mil millones de parámetros requeriría cientos de GPU, lo que ya es una escala relativamente grande.

Entrenar más parámetros requiere más potencia computacional, por lo que debemos introducir GPU de mayor escala para la aceleración, lo que significa que la cantidad de GPU requeridas también aumentará en un orden de magnitud.

En FiberMall, nombramos la escala de entrenamiento según la cantidad de GPU utilizadas para una tarea. Por ejemplo, lo llamamos pequeña escala si tiene menos de 100 tarjetas, mediana escala si tiene entre 100 y 1,000 tarjetas, gran escala si tiene más de 1,000 tarjetas y súper gran escala si tiene más de 10,000 1,000 tarjetas. De acuerdo con esta convención de nomenclatura, podemos decir que el entrenamiento paralelo a gran escala de más de XNUMX tarjetas es la base del éxito de los modelos grandes.

entrenamiento paralelo

Existen varias estrategias comunes para el entrenamiento paralelo distribuido de modelos de aprendizaje automático. Describiremos tres de los enfoques más utilizados.

La estrategia más adoptada es el paralelismo de datos. En el paralelismo de datos, cada GPU mantiene una copia idéntica del modelo y el conjunto de datos se divide y distribuye entre las GPU para su entrenamiento. Después de cada iteración de entrenamiento, los gradientes calculados en cada GPU se sincronizan globalmente y los parámetros del modelo para la siguiente iteración se actualizan en consecuencia en todas las GPU. En el paralelismo de datos, se requiere una operación Allreduce para agregar los gradientes entre las GPU, y el volumen de comunicación aumenta con el tamaño de los parámetros del modelo, lo que puede ser sustancial para modelos a gran escala con miles de millones de parámetros.

La segunda estrategia paralela es el paralelismo de tuberías. Los modelos de redes neuronales suelen estar compuestos por múltiples capas de neuronas, incluidos los modelos Transformer profundos. En el paralelismo de canalización, el modelo se divide por capas, con diferentes capas asignadas a diferentes GPU. Este enfoque requiere transferencias de datos punto a punto entre las GPU para pasar activaciones durante el paso hacia adelante y gradientes durante el paso hacia atrás. Si bien la comunicación se produce varias veces por iteración, el volumen de datos transferidos generalmente no es grande y los requisitos de rendimiento de la red son relativamente modestos.

La tercera estrategia paralela es el paralelismo tensorial, que implica la utilización conjunta de varias GPU para realizar un cálculo de tensor único, como la multiplicación de matrices. Este enfoque requiere una operación Allreduce para sincronizar los resultados del cálculo del tensor parcial en las GPU. El tamaño de los tensores que se calculan depende tanto de la arquitectura del modelo como del tamaño del lote utilizado para el entrenamiento, y estos cálculos de tensores ocurren con frecuencia durante cada iteración de entrenamiento. Como resultado, el paralelismo tensorial tiene la mayor demanda.

tres paralelos

Teniendo en cuenta las características de las tres estrategias paralelas, comúnmente se adopta un enfoque híbrido al entrenar modelos a gran escala.

Dentro de una sola máquina con múltiples GPU, se emplea el paralelismo tensorial para aprovechar al máximo las conexiones NVLink de gran ancho de banda entre las GPU.

Dado que una sola máquina con 8 GPU puede no ser suficiente para acomodar todo el modelo grande, el paralelismo de canalizaciones se utiliza en varias máquinas para construir una unidad de entrenamiento mínima con canalizaciones paralelas.

Para acelerar aún más el entrenamiento del modelo, luego se aplica el paralelismo de datos, donde cada grupo de datos paralelos (DP) consta de una combinación de paralelismo tensorial y paralelismo de canalización.

Las operaciones Allreduce en paralelismo de datos ocurren dentro de cada grupo de DP, donde los gradientes se sincronizan entre las GPU del mismo grupo de DP. Por ejemplo, el diagrama muestra una configuración con 8 GPU en paralelismo tensorial, 4 GPU en paralelismo de canalización y 3 grupos de DP. En este caso, hay 32 grupos Allreduce, cada uno con 3 GPU que realizan sincronización de gradiente.

El principal requisito de red para entrenar modelos grandes es la operación Allreduce en la etapa de paralelismo de datos, donde cada GPU debe participar en Allreduce en volúmenes de datos en el rango de 10 GB.

paralelismo híbrido

La necesidad de entrenamiento de modelos a gran escala nos ha llevado a proponer tres objetivos clave para las redes de IA de alto rendimiento: escala ultragrande, ancho de banda ultraalto y estabilidad ultralarga.

Escala ultragrande

El tamaño del modelo determina directamente la velocidad del entrenamiento del modelo. Como se muestra en la figura, para un modelo de 175 mil millones de parámetros, se necesitarían más de 100 días para entrenar con 2,000 GPU. Sin embargo, al utilizar 8,000 GPU, el tiempo de formación se puede reducir a unos 30 días. Esto es crucial para la rápida iteración de modelos a gran escala en la actualidad.

Ancho de banda ultraalto

El ancho de banda de AllReduce determina directamente la eficiencia general de la capacitación distribuida a gran escala. Como muestra la figura, cuando el ancho de banda promedio de AllReduce de una sola GPU es de 5 GB/s, la tasa de aceleración general en el entrenamiento distribuido a gran escala es solo del 70 %. Para lograr una relación de aceleración del 90%, el ancho de banda AllReduce de una sola GPU debe alcanzar los 20 GB/s, equivalente a que una sola GPU utilice completamente una tarjeta de red de 400G.

Estabilidad ultralarga

Dado que el entrenamiento del modelo puede durar varias semanas, la estabilidad a largo plazo es de suma importancia. Usando la disponibilidad de GPU como ejemplo, si la disponibilidad mensual de una sola GPU es del 99.9 %, la probabilidad de encontrar una falla e interrupción durante un mes de entrenamiento con 1,000 GPU es del 60 %. Incluso si la disponibilidad de la GPU se mejora al 99.99%, la probabilidad de interrupción con 8,000 GPU sigue siendo de alrededor del 50%. Para minimizar las interrupciones del entrenamiento y reducir la necesidad de puntos de control frecuentes, la red debe garantizar una disponibilidad aún mayor.

requisito de red

Diseño de red de alto rendimiento AIPod

Para abordar estos objetivos, hemos diseñado la red AIPod de alto rendimiento para infraestructura de IA.

Como se muestra en el diagrama, la red AIPod es una topología completamente conectada con aproximadamente 400 conmutadores, 3,000 tarjetas de red, 10,000 20,000 cables y XNUMX XNUMX módulos ópticos. La longitud total del cable equivale a la distancia de Beijing a Qingdao.

AIPod de alto rendimiento

Diseño racional de la red AIPod

Después de la discusión anterior sobre la comprensión conceptual, profundicemos ahora en el diseño racional de la red AIPod.

Para soportar la escala masiva de la red AIPod, se eligió una arquitectura de red CLOS sin bloqueo de 3 niveles. La topología de la red CLOS es similar al diagrama mostrado anteriormente, donde:

Los servidores están conectados a los conmutadores de capa Leaf (LF).

Los interruptores de hoja se interconectan con los interruptores de columna (SP).

Los interruptores Spine están además conectados a la capa SuperSpine (SSP).

Como se mencionó anteriormente, durante el entrenamiento de modelos grandes, la comunicación principal ocurre entre las GPU del mismo servidor, es decir, GPU 1 a GPU 1, GPU 2 a GPU 2, etc. La comunicación entre GPU es menos frecuente.

Para adaptarse a este patrón de comunicación, la red AIPod adopta una arquitectura de 8 canales. Cada servidor tiene 8 puertos de red, cada uno conectado a un conmutador Leaf diferente. Estos 8 conmutadores Leaf forman un grupo de agregación que admite hasta 512 GPU.

Además, los 8 conmutadores Leaf están conectados a diferentes canales y, dentro de cada canal, los conmutadores Leaf y Spine están en una topología de malla completa. Este diseño permite que el clúster se escale para admitir más de 16 XNUMX GPU.

Aunque la mayor parte de la comunicación se produce dentro del mismo canal, todavía existe la necesidad de comunicación entre canales. Para solucionar esto, la red AIPod utiliza la capa SuperSpine para interconectar los conmutadores Spine de diferentes canales, proporcionando una ruta de comunicación perfecta en toda la red.

La red AIPod emplea un diseño sin bloqueo o con una relación de sobresuscripción de 1:1, donde el ancho de banda de enlace ascendente y descendente de los conmutadores es igual, lo que garantiza suficiente ancho de banda dentro del clúster.

Para admitir la mayor escala posible, la red AIPod utiliza los últimos chips de conmutación de alta capacidad, como el conmutador 51.2T, que ha evolucionado a partir de las generaciones anteriores de 12.8T y 25.6T.

Este diseño racional de la red AIPod, con su arquitectura CLOS de múltiples niveles, comunicación basada en canales y componentes de conmutación de alta capacidad, permite el soporte de cargas de trabajo de capacitación de IA a gran escala.

3 niveles no convergentes

En la discusión anterior, cubrimos la construcción de redes AIPod a gran escala. Ahora, dirijamos nuestra atención a los desafíos relacionados con el ancho de banda de la red.

La infraestructura de nube inteligente de FiberMall ha elegido una especificación máxima de acceso al servidor de 8x400G, y la red utiliza una arquitectura CLOS sin bloqueo, compatible con RDMA y GDR. En teoría, esto debería proporcionar capacidades de ancho de banda muy altas. Sin embargo, a medida que aumenta la escala de la red, pueden surgir varios problemas, uno de los más importantes son los conflictos de selección de ruta entre conmutadores.

Técnicamente, casi todas las transmisiones de red tienen un problema inherente: para evitar la reordenación de paquetes dentro de una conexión, lo que puede desencadenar la retransmisión y la degradación del rendimiento en el extremo receptor, los conmutadores deben reenviar paquetes de la misma conexión a lo largo de una única ruta. La selección de esta ruta depende del algoritmo hash utilizado.

Se sabe que los algoritmos hash tienen colisiones, como se ilustra en el diagrama. Si dos conexiones de conmutador cruzado eligen simultáneamente el mismo enlace del lado izquierdo, éste se congestionará, mientras que el enlace del lado derecho permanecerá infrautilizado, lo que efectivamente reducirá a la mitad el ancho de banda de ambas conexiones. Este problema es bastante común en entornos de formación a gran escala.

Para mitigar el impacto de este problema, normalmente configuramos la biblioteca de comunicación NCCL para usar múltiples conexiones entre GPU, como se muestra en el diagrama de la derecha. Cuantas más conexiones, menor será la probabilidad de que se produzca un desequilibrio grave. Este enfoque aumenta la entropía de enrutamiento en la red y reduce el impacto de los conflictos de selección de rutas basados ​​en hash, pero no resuelve completamente el problema.

gran ancho de banda

Podemos observar que estos problemas solo ocurren en escenarios de comunicación entre conmutadores. Por lo tanto, para reducir aún más el impacto, debemos esforzarnos por mantener la comunicación dentro de un único interruptor siempre que sea posible. La comunicación dentro del grupo de agregación entre GPU del mismo número no cruza conmutadores y, por lo tanto, evita el conflicto de selección de ruta basada en hash. Es por eso que nuestro objetivo es maximizar el tamaño de cada grupo de agregación.

Para reducir la comunicación entre conmutadores, la red AIPod proporciona un enfoque consciente de la arquitectura de red. Esto permite que los sistemas de nivel superior conozcan la posición actual de la GPU en la arquitectura de red, su grupo de agregación y su ID de grupo.

El AIPod puede exponer esta información al sistema de programación de tareas, permitiéndole programar tareas dentro del mismo grupo de agregación tanto como sea posible, asegurando que la comunicación permanezca dentro de un único grupo de agregación.

Sin embargo, las tareas de modelos grandes suelen ser demasiado grandes para limitarse a un único grupo de agregación. En tales casos, necesitamos aprovechar la información del grupo de agregación para realizar un procesamiento ordenado de los recursos globales de la GPU, lo que permite que la biblioteca de comunicaciones construya topologías Allreduce más eficientes que minimicen el tráfico entre conmutadores. El diagrama en la parte inferior derecha ilustra este concepto, donde dos órdenes de construcción de anillos diferentes para una operación Allreduce de 4 GPU pueden dar como resultado una utilización del ancho de banda de conmutador cruzado significativamente diferente. El enfoque del lado izquierdo es más eficiente, mientras que el del lado derecho es menos eficiente. Este es el beneficio de las capacidades conscientes de la arquitectura de red en el AIPod.

NCCL

El enfoque consciente de la arquitectura de red puede reducir significativamente la cantidad de comunicación entre conmutadores, mitigando el impacto de los conflictos de selección de ruta basados ​​en hash. Sin embargo, el problema no está completamente resuelto, ya que todavía pueden surgir conflictos.

Para abordar completamente este problema, necesitamos aprovechar las capacidades de reenvío de múltiples rutas de la red, que permiten la recepción de paquetes desordenados, rompiendo la suposición de que los paquetes de una única conexión solo pueden reenviarse a lo largo de una única ruta. Las redes Infiniband han introducido esta capacidad de enrutamiento adaptativo y, en AIPod, hemos implementado una funcionalidad similar utilizando tecnología de equilibrio de carga dinámico (DLB) además de los conmutadores personalizados de FiberMall.

En este enfoque, como se ilustra en el diagrama, la tarjeta de interfaz de red primero marca los paquetes para permitir el procesamiento desordenado. Luego, los conmutadores calculan la ruta óptima para cada paquete en función de factores como la profundidad de la cola y la utilización del enlace. Esto introduce el desafío de la reordenación de paquetes, que el receptor aborda mediante el procesamiento de reordenación de paquetes.

Esta combinación de mecanismos puede resolver eficazmente el problema del conflicto de selección de ruta basada en hash en la comunicación entre conmutadores. Creemos que mejorar estas capacidades técnicas subyacentes es la solución definitiva para la formación a gran escala.

Garantizar la estabilidad en las redes AIPod

Mantener tareas de larga duración sin interrupciones es crucial para el entrenamiento de modelos grandes, pero las fallas de hardware son inevitables. Para un clúster que puede albergar 16,000 GPU, puede haber casi 100,000 módulos ópticos. Suponiendo un tiempo medio entre fallas (MTBF) de 10 millones de horas por módulo, con una base tan grande, una falla puede ocurrir aproximadamente cada 4 días en promedio, a medida que los eventos de baja probabilidad se convierten en eventos de alta probabilidad a escala.

Para abordar esto, la red AIPod está diseñada para permitir una recuperación rápida de fallas de hardware. Por ejemplo, supongamos que un enlace en la red experimenta una falla, lo que provoca la pérdida de paquetes. En ese caso, el AIPod debe garantizar que la duración de esta pérdida de paquetes sea menor que el tiempo de espera típico establecido por la biblioteca de comunicación, evitando la interrupción de la tarea.

Para la pérdida de paquetes de enlace ascendente, la tecnología de equilibrio de carga dinámica del AIPod puede proporcionar una recuperación a escala de milisegundos seleccionando un enlace alternativo disponible. Para la pérdida de paquetes de enlace descendente, el AIPod activa actualizaciones y convergencia de enrutamiento de red, optimizando la estrategia de actualización de enrutamiento y la eficiencia de la distribución para mantener la duración de la pérdida de paquetes de enlace descendente dentro del segundo nivel.

recuperar

Además, la red AIPod incluye un mecanismo de detección de caja negra para identificar proactivamente problemas ocultos, como problemas de inversión de bits causados ​​por defectos en el chip del conmutador, que pueden provocar corrupción y pérdida de paquetes sin una detección explícita de fallas. Este mecanismo garantiza que cada enlace sea monitoreado continuamente y que cualquier problema de conectividad active la localización y el aislamiento automáticos, así como alertas para una intervención rápida por parte del equipo de operaciones.

Más allá de las fallas relacionadas con la conectividad, el diseño de red sin pérdidas del AIPod, habilitado por la tecnología PFC, también puede experimentar anomalías, como interbloqueos de PFC o tormentas persistentes de PFC debido a fallas del chip. El AIPod aborda estos desafíos a través de una plataforma de telemetría de rendimiento, construida sobre los conmutadores personalizados de FiberMall, que proporciona visibilidad de cualquier pérdida de paquetes, PFC o anomalías del búfer, lo que permite una detección y resolución rápidas antes de afectar la estabilidad del entrenamiento de modelos grandes.

Lograr una latencia ultrabaja en redes AIPod

Si bien la baja latencia no es una consideración fundamental para el entrenamiento de modelos grandes, donde el ancho de banda es la principal preocupación, la red AIPod también está diseñada para soportar cargas de trabajo de IA sensibles a la latencia.

Los factores clave que se pueden optimizar para una baja latencia son el retraso de la fibra y el retraso de la cola de conmutación. La red AIPod optimiza el diseño físico del clúster para minimizar la distancia entre servidores, conmutadores y conmutadores, permitiendo el uso de conexiones de fibra más cortas para reducir el retraso en la propagación de la fibra.

Además, la red AIPod optimiza los parámetros de control de congestión para minimizar la ocupación del búfer del conmutador, lo que afecta directamente el retraso en la cola. Con estas optimizaciones, AIPod puede lograr una latencia de red de nivel de microsegundos, que es insignificante en el contexto del rendimiento del entrenamiento de modelos grandes de un extremo a otro.

Aprovechando el almacenamiento de alto rendimiento en AIPod

Además de la red de capacitación de alto rendimiento, el AIPod también aprovecha las capacidades de almacenamiento de alto rendimiento de FiberMall, como el sistema de archivos paralelo (PFS) elástico basado en RDMA que puede ofrecer hasta 200 Gbps por cliente y la carga de hardware de alto rendimiento. Equilibrando instancias para acceder al almacenamiento de archivos en la nube (CFS) o al almacenamiento de objetos (BOS), proporcionando más de 10 Gbps de ancho de banda estable por cliente.

Estas tecnologías de almacenamiento de alto rendimiento contribuyen significativamente a la eficiencia computacional general del entrenamiento de modelos grandes.

Entrenamiento de modelos grandes de AIPod en la práctica

FiberMall ha demostrado la aplicación práctica de la red AIPod en el entrenamiento de modelos a gran escala, mostrando un funcionamiento estable con un ancho de banda de comunicación por GPU superior a 100 Gbps en clústeres RoCE e Infiniband.

Para respaldar estos esfuerzos de capacitación a gran escala, FiberMall ha desarrollado herramientas especializadas, incluida una herramienta de visualización de tareas de alta precisión que puede agregar y analizar los datos de tráfico de red de miles de instancias paralelas, así como una herramienta de diagnóstico de fallas que puede identificar rápidamente el causa raíz de diversas anomalías, como fallas de GPU o nodos lentos, que de otro modo pueden obstaculizar el rendimiento general del entrenamiento.

La red de alto rendimiento AIPod, las herramientas de soporte y las capacidades de almacenamiento permiten a los clientes de FiberMall entrenar modelos grandes de manera eficiente y rentable, manteniendo una posición de liderazgo en la era de los modelos de IA a gran escala.

Deja un comentario

Ir al Inicio