Español

Profundice en los requisitos de red para grandes modelos de IA

Actualizado el 21 de diciembre de 2023 por
162

Desde la aparición de Transformers hasta la adopción generalizada de ChatGPT en 2023, se ha formado gradualmente un consenso de que aumentar el tamaño de los parámetros del modelo mejora su rendimiento, siguiendo una ley de escala que rige su relación. En particular, cuando el tamaño del parámetro supera varios cientos de miles de millones, la comprensión del lenguaje, el razonamiento lógico y las capacidades de análisis de problemas de los grandes modelos de IA experimentan una rápida mejora.

Al mismo tiempo, el cambio en el tamaño y el rendimiento del modelo ha provocado alteraciones en los requisitos de la red para entrenar grandes modelos de IA en comparación con los modelos tradicionales.

Para satisfacer las demandas de una informática distribuida eficiente en grupos de entrenamiento a gran escala, los procesos de entrenamiento de modelos grandes de IA suelen implicar varios modos de computación paralela, como el paralelismo de datos, el paralelismo de tuberías y el paralelismo tensorial. En estos modos paralelos, las operaciones de comunicación colectiva se vuelven esenciales entre múltiples dispositivos informáticos. Además, el proceso de entrenamiento a menudo adopta un modo sincrónico, lo que requiere la finalización de operaciones de comunicación colectiva entre múltiples máquinas y múltiples tarjetas antes de pasar a la siguiente iteración o cálculo del entrenamiento. Por lo tanto, el diseño de un esquema de red de clústeres eficiente en clústeres de entrenamiento a gran escala de grandes modelos de IA es fundamental. Este diseño tiene como objetivo lograr una baja latencia y un alto rendimiento en la comunicación entre máquinas, fundamental para reducir la sobrecarga de comunicación durante la sincronización de datos entre múltiples máquinas y tarjetas. Esta optimización contribuye a mejorar la relación del tiempo de cálculo efectivo de la GPU (tiempo de cálculo de la GPU/tiempo de entrenamiento general), un factor crucial en la mejora de la eficiencia de los grupos de entrenamiento distribuidos de IA. El siguiente análisis profundizará en los requisitos de red de los grandes modelos de IA, examinando aspectos como la escala, el ancho de banda, la latencia, la estabilidad y el despliegue de la red.

Desafíos en la ampliación de redes de GPU para un entrenamiento eficiente de modelos de IA ultragrandes

Las demandas computacionales de las aplicaciones de IA están experimentando un crecimiento exponencial, con modelos que se expanden a escalas masivas. Los parámetros de los modelos de inteligencia artificial se han multiplicado por cien mil, y los grandes modelos actuales de IA cuentan con tamaños de parámetros que van desde cientos de miles de millones hasta billones. Sin lugar a dudas, entrenar tales modelos requiere una potencia computacional sustancial. Además, los modelos ultragrandes imponen altas exigencias de memoria. Por ejemplo, un modelo de 1 billón de parámetros que utiliza un almacenamiento de 1 byte consumiría 2 terabytes de espacio de almacenamiento. Además, durante el proceso de entrenamiento, las variables intermedias generadas por el cálculo directo, los gradientes del cálculo hacia atrás y los estados del optimizador esenciales para las actualizaciones de parámetros necesitan almacenamiento. Estas variables intermedias aumentan continuamente dentro de una sola iteración. Por ejemplo, una sesión de entrenamiento que utiliza el optimizador Adam produce variables intermedias que alcanzan un máximo de varias veces el tamaño de los parámetros del modelo. Un consumo de memoria tan elevado implica que se necesitan entre decenas y cientos de GPU para almacenar el proceso de entrenamiento completo de un modelo.

Sin embargo, tener una gran cantidad de GPU por sí solo no es suficiente para entrenar modelos ultragrandes de manera efectiva. La clave para mejorar la eficiencia de la formación radica en la adopción de métodos de paralelización adecuados. Actualmente, se emplean tres métodos principales de paralelización para modelos ultragrandes: paralelismo de datos, paralelismo de tuberías y paralelismo tensorial. Los tres métodos de paralelización se utilizan en el entrenamiento de modelos con tamaños de parámetros que van desde cientos de miles de millones hasta billones. Para entrenar modelos ultragrandes se necesitan clústeres que comprendan miles de GPU. A primera vista, esto puede parecer inferior en comparación con la escala de interconexión de decenas de miles de servidores en centros de datos en la nube. Sin embargo, en realidad, interconectar miles de nodos de GPU es más desafiante debido a la necesidad de capacidades de red y capacidades computacionales altamente coincidentes. Los centros de datos en la nube emplean principalmente computación de CPU y sus requisitos de red suelen oscilar entre 10 Gbps y 100 Gbps, utilizando protocolos tradicionales de capa de transporte TCP. Por el contrario, el entrenamiento de modelos grandes de IA emplea entrenamiento de GPU, que exhibe una potencia computacional varios órdenes de magnitud mayor que la de las CPU. En consecuencia, las demandas de la red oscilan entre 100 Gbps y 400 Gbps y se utilizan protocolos RDMA para reducir la latencia de transmisión y mejorar el rendimiento de la red.

Específicamente, lograr una interconexión de alto rendimiento entre miles de GPU plantea varios desafíos en términos de escala de red:

  • Problemas encontrados en redes RDMA a gran escala, como bloqueos de cabecera de línea y tormentas de interbloqueos de PFC.

  • Optimización del rendimiento de la red, incluido un control de la congestión y técnicas de equilibrio de carga más eficientes.

  • Problemas de conectividad de la tarjeta de red, ya que un único host está sujeto a limitaciones de rendimiento del hardware. Abordar cómo establecer miles de conexiones RDMA QP.

  • Selección de topología de red, considerando si es preferible la estructura tradicional Fat Tree o si se puede hacer referencia a topologías de red informática de alto rendimiento como Torus y Dragonfly.

Optimización de la comunicación de GPU para un entrenamiento eficiente de modelos de IA en todas las máquinas

IEn el contexto del entrenamiento de modelos de IA a gran escala, las operaciones de comunicación colectiva entre las GPU dentro y entre máquinas generan un volumen sustancial de datos de comunicación. Al examinar la comunicación de GPU dentro de una sola máquina, considere modelos de IA con miles de millones de parámetros donde los datos de comunicación colectiva resultantes del paralelismo del modelo pueden alcanzar la escala de cientos de gigabytes. Por lo tanto, el tiempo de finalización eficiente depende en gran medida del ancho de banda de comunicación y los modos entre las GPU dentro de la máquina. Las GPU dentro de un servidor deben admitir protocolos de interconexión de alta velocidad, mitigando la necesidad de realizar múltiples copias de datos a través de la memoria de la CPU durante la comunicación de la GPU.

En el contexto del entrenamiento de modelos de IA a gran escala, las operaciones de comunicación colectiva entre las GPU dentro y entre máquinas generan un volumen sustancial de datos de comunicación. Al examinar la comunicación de GPU dentro de una sola máquina, considere modelos de IA con miles de millones de parámetros donde los datos de comunicación colectiva resultantes del paralelismo del modelo pueden alcanzar la escala de cientos de gigabytes. Por lo tanto, el tiempo de finalización eficiente depende en gran medida del ancho de banda de comunicación y los modos entre las GPU dentro de la máquina. Las GPU dentro de un servidor deben admitir protocolos de interconexión de alta velocidad, mitigando la necesidad de realizar múltiples copias de datos a través de la memoria de la CPU durante la comunicación de la GPU.

Además, las GPU normalmente se conectan a tarjetas de red a través de buses PCIe, y el ancho de banda de comunicación del bus PCIe determina si el ancho de banda de puerto único de la tarjeta de red se puede utilizar por completo. Por ejemplo, considerando un bus PCIe 3.0 (16 carriles correspondientes a un ancho de banda unidireccional de 16 GB/s), si la comunicación entre máquinas está equipada con un ancho de banda de un solo puerto de 200 Gbps, es posible que el rendimiento de la red entre máquinas no se utilice por completo.

Factores cruciales en la eficiencia del entrenamiento de modelos de IA a gran escala

La latencia de la red durante la comunicación de datos comprende dos componentes: latencia estática y latencia dinámica. La latencia estática abarca la latencia de serialización de datos, la latencia de reenvío de dispositivos y la latencia de transmisión electroóptica. Está determinado por las capacidades del chip de reenvío y la distancia de transmisión, lo que representa un valor constante cuando la topología de la red y el volumen de datos de comunicación son fijos. Por el contrario, la latencia dinámica afecta significativamente el rendimiento de la red, abarcando la latencia de cola dentro de los conmutadores y la latencia debida a la pérdida y retransmisión de paquetes, a menudo causada por la congestión de la red.

Ilustrando con el entrenamiento de un modelo GPT-3 con 175 mil millones de parámetros, el análisis teórico indica que cuando la latencia dinámica aumenta de 10 μs a 1000 μs, la proporción de tiempo de cálculo efectivo de la GPU disminuye en casi un 10 %. Una tasa de pérdida de paquetes de red de miles da como resultado una disminución del 13% en el tiempo de cálculo efectivo de la GPU y, con una tasa de pérdida del 1%, la proporción cae a menos del 5%. Reducir la latencia de la comunicación computacional y mejorar el rendimiento de la red son consideraciones críticas para aprovechar al máximo el poder computacional en el entrenamiento de modelos de IA a gran escala.

Más allá de la latencia, las variaciones de la red introducen fluctuaciones de latencia, lo que afecta la eficiencia del entrenamiento. El proceso de comunicación colectiva de los nodos informáticos durante el entrenamiento implica múltiples comunicaciones paralelas punto a punto (P2P). Por ejemplo, la comunicación colectiva Ring AllReduce entre N nodos incluye 2*(N-1) subpasos de comunicación de datos, donde todos los nodos en cada subpaso deben completar la comunicación P2P en paralelo. Las fluctuaciones de la red provocan aumentos notables en el tiempo de finalización del flujo (FCT) para la comunicación P2P entre nodos específicos. La variación en el tiempo de comunicación P2P, causada por la fluctuación de la red, se considera el eslabón más débil en la eficiencia del sistema, lo que resulta en un mayor tiempo de finalización para el subpaso correspondiente. Por lo tanto, la fluctuación de la red disminuye la eficiencia de la comunicación colectiva, lo que afecta la eficiencia del entrenamiento de los modelos de IA a gran escala.

Crítico para la potencia computacional en el entrenamiento de modelos de IA a gran escala

Desde la aparición de Transformers, ha marcado el inicio de una rápida evolución en los modelos a gran escala. En los últimos cinco años, el tamaño del modelo ha aumentado de 61 millones a 540 mil millones, lo que representa un aumento exponencial de casi 10.000 veces. El poder computacional del clúster juega un papel fundamental a la hora de determinar la velocidad del entrenamiento del modelo de IA. Por ejemplo, entrenar GPT-3 en una sola GPU V100 llevaría 335 años, lo cual es poco práctico, mientras que un clúster compuesto por 10.000 GPU V100, escalable idealmente, podría completar el entrenamiento en aproximadamente 12 años.

La confiabilidad del sistema de red es fundamental para garantizar la estabilidad computacional de todo el clúster. Las fallas de la red pueden ejercer un impacto generalizado, interrumpiendo la conectividad de numerosos nodos de cómputo en caso de una falla del nodo de la red, comprometiendo así el poder computacional general del sistema. Además, las fluctuaciones en el rendimiento de la red pueden afectar a todo el clúster, dado que la red es un recurso compartido, a diferencia de los nodos informáticos individuales que se aíslan más fácilmente. Las fluctuaciones de rendimiento tienen el potencial de afectar negativamente la utilización de todos los recursos computacionales. Por lo tanto, mantener una red estable y eficiente es de suma importancia durante todo el ciclo de entrenamiento de modelos de IA a gran escala, lo que presenta nuevos desafíos para las operaciones de la red.

En casos de falla durante la tarea de capacitación, puede ser necesario un reemplazo tolerante a fallas o un escalado elástico para abordar los nodos defectuosos. Los cambios en las posiciones de los nodos participantes pueden hacer que los patrones de comunicación actuales sean subóptimos, lo que requiere una redistribución y programación del trabajo para mejorar la eficiencia general de la capacitación. Además, las fallas inesperadas de la red, como la pérdida silenciosa de paquetes, no solo disminuyen la eficiencia de la comunicación colectiva, sino que también provocan tiempos de espera de la biblioteca de comunicaciones, lo que resulta en períodos prolongados de estancamiento de los procesos de capacitación y un impacto significativo en la eficiencia. En consecuencia, obtener información detallada sobre el rendimiento, la pérdida de paquetes y otros parámetros del flujo empresarial se vuelve esencial para la detección oportuna de fallas y la autocuración en segundos.

El papel de la implementación automatizada y la detección de fallas en clústeres de IA a gran escala

El establecimiento de redes inteligentes sin pérdidas a menudo se basa en protocolos RDMA y mecanismos de control de congestión, acompañados de una serie de configuraciones complejas y diversas. Cualquier configuración incorrecta de estos parámetros tiene el potencial de afectar el rendimiento de la red y provocar problemas imprevistos. Las estadísticas indican que más del 90% de los fallos de las redes de alto rendimiento se deben a errores de configuración. La causa principal de estos problemas radica en la multitud de parámetros de configuración para las tarjetas de red, que dependen de las versiones de arquitectura, los tipos de negocios y los tipos de tarjetas de red. En el contexto de los grupos de entrenamiento de modelos de IA a gran escala, la complejidad de las configuraciones aumenta aún más. Por lo tanto, una implementación y configuración eficientes y automatizadas pueden mejorar efectivamente la confiabilidad y eficiencia de los sistemas de clústeres modelo a gran escala.

La implementación y configuración automatizadas requieren la capacidad de implementar configuraciones en paralelo en múltiples máquinas, seleccionar automáticamente parámetros relevantes para los mecanismos de control de congestión y elegir configuraciones apropiadas según los tipos de tarjetas de red y los requisitos comerciales.

De manera similar, dentro de arquitecturas y escenarios de configuración complejos, la capacidad de identificar fallas de manera rápida y precisa durante las operaciones comerciales es esencial para garantizar la eficiencia comercial general. La detección automatizada de fallas facilita la localización rápida de problemas, notificaciones precisas al personal de administración y reduce los costos asociados con la identificación de problemas. Permite una rápida identificación de las causas fundamentales y proporciona las soluciones correspondientes.

Seleccionando la red de modelos acelerados por FS

El análisis subraya los requisitos específicos de los modelos de IA a gran escala en cuanto a escala, ancho de banda, estabilidad, latencia/jitter y capacidad de automatización. Sin embargo, persiste una brecha tecnológica para cumplir plenamente estos requisitos con la configuración actual de las redes de los centros de datos.

La demanda de capacidades de red en modelos de IA a gran escala es excepcionalmente alta, dados los tamaños sustanciales de sus parámetros y sus complejas necesidades computacionales. Los recursos informáticos y de almacenamiento adecuados son esenciales para respaldar sus procesos de capacitación e inferencia, mientras que la conectividad de red de alta velocidad es crucial para la transmisión y el procesamiento de datos eficientes. FS aborda estas necesidades ofreciendo productos de conectividad de alta calidad adaptados a las circunstancias únicas de cada cliente, mejorando así el rendimiento de la red y la experiencia del usuario.

La cartera de productos de FS va más allá de los switches and tarjetas de red para incluir módulos ópticos con tarifas que van desde 100G a 800G, así como AOC y DAC. Estos productos facilitan la transmisión eficiente de datos, acelerando los procesos de inferencia y entrenamiento de modelos de IA. En el entrenamiento de IA a gran escala, los módulos ópticos conectan nodos informáticos distribuidos y colaboran para ejecutar tareas computacionales complejas. Con atributos como gran ancho de banda, baja latencia y baja tasa de error, estos productos aceleran las actualizaciones y optimización de los modelos, reducen los retrasos en las comunicaciones y fomentan una computación de inteligencia artificial más rápida y eficiente.

Opta por los productos de conectividad de FS mejora las capacidades de las redes de los centros de datos para respaldar mejor la implementación y operación de modelos de IA a gran escala. Para obtener más detalles, visita el sitio web oficial de FS.

También podría interesarte

Conocimiento
Conocimiento
See profile for Sheldon.
Sheldon
¿Qué es el puerto SFP del switch Gigabit?
ene 29, 2023
49.5k
Conocimiento
Conocimiento
Conocimiento
See profile for Sheldon.
Sheldon
Análisis de PON: Qué es OLT, ONU, ONT y ODN
oct 22, 2018
41.6k
Conocimiento
See profile for Migelle.
Migelle
Switch PoE vs PoE+ vs PoE++: ¿Cómo elegir?
ene 18, 2022
29.1k
Conocimiento
Conocimiento
Conocimiento
Conocimiento
See profile for Vincent.
Vincent
¿Qué es un SFP BiDi y tipos de SFP BiDi?
mar 31, 2022
18.9k
Conocimiento
See profile for Sheldon.
Sheldon
RIP vs OSPF: ¿Cuál es la diferencia?
jul 9, 2021
31.1k