La nueva generación de soluciones de red AIGC: tecnología DDC para redes

El año 2023 fue testigo del pleno auge de la tecnología de inteligencia artificial AI, representada por grandes modelos AIGC como ChatGPT, GPT-4, Ernie Bot, etc. Integraron múltiples funciones como escritura de texto, desarrollo de código, creación de poesía, etc., y demostraron de manera impresionante sus excelentes capacidades de producción de contenido, provocando una profunda conmoción en la gente. Como profesional de TI, la tecnología de comunicación detrás de los grandes modelos AIGC también debería suscitar una reflexión profunda. Sin una buena red, no hay forma de hablar de formación de modelos grandes. Para construir un clúster de modelo de entrenamiento a gran escala, no solo se necesitan componentes básicos como servidores GPU, tarjetas de red, etc., sino que también es urgente resolver el problema de la construcción de la red. ¿Qué tipo de red poderosa respalda el funcionamiento de AIGC? ¿Cómo traerá la llegada total de la ola de IA cambios revolucionarios a la red tradicional?

AIG

La razón por la que los grandes modelos AIGC mencionados anteriormente son tan poderosos no solo porque tienen una gran cantidad de datos detrás de ellos, sino también porque los algoritmos están en constante evolución y actualización. Más importante aún, la escala del poder informático humano se ha desarrollado hasta cierto punto. La potente infraestructura de potencia informática puede satisfacer plenamente las necesidades informáticas de AIGC. Al entrenar modelos grandes, dado que el tamaño del modelo generalmente excede la memoria y la potencia informática de una sola GPU, se necesitan varias GPU para compartir la carga. En el proceso de entrenamiento de modelos grandes, existen tres formas de compartir la carga de GPU, a saber, paralelismo tensorial, paralelismo de canalización y paralelismo de datos.

Paralelismo de datos:

El paralelismo de datos es una técnica de paralelización simple y directa, donde se replican copias completas del modelo en múltiples procesadores (como GPU). Cada procesador o GPU obtiene una copia del modelo completo y realiza de forma independiente la propagación hacia adelante y hacia atrás en diferentes subconjuntos de datos. Después de cada paso de entrenamiento, las actualizaciones de peso del modelo de todos los procesadores deben fusionarse o sincronizarse, lo que generalmente se hace mediante alguna forma de operación de comunicación colectiva (como reducción total). El paralelismo de datos permite entrenar el modelo en conjuntos de datos más grandes, ya que los datos se dividen en varios lotes pequeños, cada uno de los cuales se procesa en un procesador diferente.

Imagine una gran biblioteca donde necesita clasificar todos los libros. El paralelismo de datos es como contratar a varios bibliotecarios, cada uno de los cuales es responsable de categorizar una parte de los libros. En el caso del entrenamiento de modelos, cada GPU obtiene una copia del modelo completo pero solo procesa una parte del conjunto de datos completo. Una vez que todas las GPU finalizan sus respectivas tareas, intercambian información para actualizar los pesos del modelo de forma sincrónica.

Paralelismo tensorial:

El paralelismo tensorial se suele utilizar cuando el modelo es demasiado grande para caber en la memoria de un solo procesador. En esta estrategia de paralelización, diferentes partes del modelo (como diferentes tensores o grupos de parámetros en capas de redes neuronales) se asignan a diferentes procesadores. Esto significa que cada procesador sólo es responsable de calcular una parte del modelo. Para completar la propagación hacia adelante y hacia atrás de todo el modelo, los procesadores tienen que intercambiar con frecuencia sus resultados intermedios, lo que puede generar una alta sobrecarga de comunicación. El paralelismo tensorial requiere conexiones de alta velocidad entre procesadores, para minimizar la latencia de estos intercambios.

Supongamos que el paralelismo de datos es que varios bibliotecarios manejan cada uno una parte de los libros. En ese caso, el paralelismo tensorial es como si cada bibliotecario fuera responsable de una parte de los pasos del trabajo de categorización. En el entrenamiento de modelos, cada GPU es responsable de una parte del cálculo en el modelo; por ejemplo, una GPU es responsable de calcular la primera mitad de las capas del modelo y otra GPU es responsable de la segunda mitad. De esta forma, cada capa del modelo se puede calcular en varias GPU.

Paralelismo de tuberías:

El paralelismo de canalización es una estrategia de paralelización que asigna diferentes capas o partes del modelo a diferentes procesadores y realiza el cálculo de forma canalizada. En el paralelismo de canalización, los datos de entrada se dividen en múltiples microlotes, cada uno de los cuales pasa secuencialmente por cada capa del modelo. Cuando un microlote termina el cálculo de la primera capa, pasa inmediatamente a la siguiente capa, mientras que la primera capa comienza a procesar el siguiente microlote. De esta manera se puede reducir el tiempo de inactividad de los procesadores, pero se requiere una gestión cuidadosa de la canalización para evitar que se creen paradas demasiado grandes, donde algunos procesadores pueden pausar su trabajo debido a la espera de resultados de cálculo dependientes.

El paralelismo de tuberías es como los trabajadores en una línea de montaje de una fábrica, cada uno de los cuales realiza una tarea específica y luego pasa el producto semiacabado al siguiente trabajador. En el entrenamiento de modelos, el modelo se divide en varias partes, cada una de las cuales se ejecuta secuencialmente en diferentes GPU. Cuando una GPU termina su parte del cálculo, pasa el resultado intermedio a la siguiente GPU para continuar el cálculo.

En la implementación práctica, el diseño de la red debe tener en cuenta los requisitos de ancho de banda y latencia de estas estrategias paralelas para garantizar la eficiencia y eficacia del entrenamiento del modelo. En ocasiones, estas tres estrategias paralelas se combinan para optimizar aún más el proceso de formación. Por ejemplo, un modelo grande puede usar paralelismo de datos en múltiples GPU para procesar diferentes subconjuntos de datos, mientras usa paralelismo tensorial dentro de cada GPU para manejar diferentes partes del modelo.

AIGC inteligente

Veamos la demanda de potencia informática de IA a partir del entrenamiento de modelos grandes. Con la actualización continua de modelos grandes, la demanda de potencia informática para el entrenamiento de modelos también aumenta, duplicándose cada tres meses. El modelo GPT-3 (175 mil millones de parámetros, 45 TB de corpus de entrenamiento, que consume 3640 pflops/s-días de potencia informática), ChatGPT3, utiliza 128 servidores A100, un total de 1024 tarjetas A100 para entrenamiento, por lo que un solo nodo de servidor requiere 4 redes de 100G. canales; mientras que ChatGPT4, ChatGPT5 y otros modelos grandes, los requisitos de red serán mayores.

AIGC se ha desarrollado hasta el presente y los parámetros del modelo para la capacitación se han disparado de 100 mil millones a 10 billones. Para completar una capacitación a tan gran escala, la cantidad de GPU que admiten la capa subyacente también alcanzó la escala de 10,000 tarjetas.

Entonces la pregunta es, ¿cuál es el factor más importante que afecta la utilización de la GPU?

La respuesta es la red.

Como clúster informático con decenas de miles de GPU, la interacción de datos con el clúster de almacenamiento requiere un ancho de banda enorme. Además, las GPU no son independientes a la hora de realizar cálculos de entrenamiento, sino que utilizan paralelismo mixto. Hay mucho intercambio de datos entre GPU, lo que también requiere un enorme ancho de banda.

Si la red no es potente, la transmisión de datos es lenta y la GPU tiene que esperar por los datos, lo que disminuye la utilización. La disminución en la utilización aumentará el tiempo de capacitación, el costo y la experiencia del usuario se deteriorará.

La industria ha creado un modelo para calcular la relación entre el rendimiento del ancho de banda de la red, la latencia de la comunicación y la utilización de la GPU, como se muestra en la siguiente figura:

utilización de la GPU

Rendimiento del ancho de banda y utilización de GPU

Latencia dinámica y utilización de GPU

Puede ver que cuanto mayor sea el rendimiento de la red, mayor será la utilización de la GPU; cuanto mayor sea la latencia dinámica de la comunicación, menor será la utilización de la GPU.

¿Qué tipo de red puede soportar el funcionamiento de AIGC?

Para hacer frente a los elevados requisitos de la computación en clúster de IA en la red, la industria ha propuesto varias soluciones. En las estrategias tradicionales, comúnmente vemos tres tecnologías: Infiniband, RDMA y conmutadores de marco.

Redes Infinibanda

Para profesionales familiarizados con la comunicación de datos, Infinibanda la creación de redes no es desconocida. Es aclamado como la mejor manera de construir una red de alto rendimiento, garantizando un ancho de banda extremadamente alto, sin congestión y con baja latencia. La red utilizada por ChatGPT y GPT-4 es la red Infiniband. Sin embargo, la desventaja de esta tecnología es que es cara y cuesta varias veces más que las redes Ethernet tradicionales. Además, esta tecnología es relativamente cerrada y solo hay un proveedor maduro en la industria, lo que limita las opciones del usuario.

RDMA en Infiniband

Red RDMAIng. 

RDMA, que significa Acceso Directo a Memoria Remota, es un nuevo tipo de mecanismo de comunicación. En el esquema RDMA, los datos pueden comunicarse directamente con la tarjeta de red, sin pasar por la CPU y el complejo sistema operativo, lo que no sólo mejora enormemente el rendimiento, sino que también garantiza una menor latencia.

Anteriormente, RDMA se transmitía principalmente en la red InfiniBand. Ahora, se ha trasladado gradualmente a Ethernet. El esquema de red convencional actual se basa en el protocolo RoCE v2 para construir una red que admita RDMA. Sin embargo, las tecnologías PFC y ECN en este esquema, aunque se generan para evitar la congestión del enlace, pueden hacer que el remitente se detenga o ralentice cuando se activan con frecuencia, afectando así el ancho de banda de la comunicación.

Redes RDMA

Interruptor de marco

Algunas empresas de Internet esperaban utilizar conmutadores de cuadros para satisfacer las necesidades de las redes de alto rendimiento. Sin embargo, este esquema presenta desafíos como una escalabilidad insuficiente, un alto consumo de energía del dispositivo y grandes dominios de fallas, por lo que solo es adecuado para la implementación de clústeres de computación de IA a pequeña escala.

Nueva generación de red AIGC: tecnología DDC

Dadas las diversas limitaciones de los esquemas tradicionales, surgió una nueva solución: DDC (Chasis Distribuido Desagregado). DDC "desmonta" el conmutador de marco tradicional, mejora su escalabilidad y diseña de manera flexible la escala de la red de acuerdo con el tamaño del clúster de IA. A través de esta forma innovadora, DDC supera las limitaciones de los esquemas tradicionales y proporciona una arquitectura de red más eficiente y flexible para la informática de IA.

Interruptor de marco

Desde la perspectiva de la escala y el rendimiento del ancho de banda, DDC ha cumplido plenamente los requisitos de red para el entrenamiento de modelos de IA a gran escala. Sin embargo, el funcionamiento de la red no se trata sólo de estos dos aspectos, sino que también debe optimizarse en términos de latencia, equilibrio de carga, eficiencia de gestión, etc. Para ello, DDC adopta las siguientes estrategias técnicas:

  • Mecanismo de reenvío basado en células VOQ+, que combate eficazmente la pérdida de paquetes

Cuando la red encuentra tráfico en ráfagas, puede hacer que el receptor procese lentamente, lo que provoca congestión y pérdida de paquetes. El mecanismo de reenvío basado en VOQ+Cell adoptado por DDC puede resolver bien este problema. El proceso específico es el siguiente:

El remitente primero clasificará y almacenará los paquetes en VOQ después de recibirlos. Antes de enviar los paquetes, el NCP primero enviará un mensaje de crédito para confirmar si el receptor tiene suficiente espacio en el buffer. Solo cuando el receptor confirme que tiene capacidad de procesamiento, los paquetes se dividirán en celdas y se equilibrarán dinámicamente la carga en los nodos de Fabric. Si el receptor no puede procesar temporalmente, los paquetes se almacenarán temporalmente en los VOQ del remitente y no se reenviarán directamente. Este mecanismo aprovecha al máximo la memoria caché, lo que puede reducir en gran medida o incluso evitar la pérdida de paquetes, mejorando así la estabilidad general de la comunicación, reduciendo la latencia y aumentando la utilización del ancho de banda y la eficiencia del rendimiento empresarial.

Mecanismo de reenvío basado en células VOQ+
  • Implementación de PFC de un solo salto, evitando completamente el punto muerto

La tecnología PFC se utiliza para el control del tráfico en redes RDMA sin pérdidas, que pueden crear múltiples canales virtuales para enlaces Ethernet y establecer prioridades para cada canal. Sin embargo, PFC también tiene problemas de estancamiento.

En la red DDC, dado que todos los NCP y NCF se consideran dispositivos completos, no existe un conmutador multinivel, lo que evita por completo el problema del punto muerto del PFC.

Diagrama esquemático del mecanismo de trabajo de PFC

Diagrama esquemático del mecanismo de trabajo de PFC

40 200G
  • SO distribuido, mejorando la confiabilidad

En la arquitectura DDC, la función de gestión está controlada centralmente por el NCC, pero esto puede plantear un único punto de riesgo de falla. Para evitar este problema, DDC utiliza un sistema operativo distribuido, que permite que cada NCP y NCF se administren de forma independiente, y tiene un plano de control y un plano de administración independientes. Esto no sólo mejora enormemente la confiabilidad del sistema, sino que también facilita su implementación.

Conclusión: DDC cumple con los requisitos de red del entrenamiento de modelos de IA a gran escala a través de sus estrategias técnicas únicas y también optimiza en muchos detalles, asegurando que la red pueda funcionar de manera estable y eficiente en diversas condiciones complejas.

Deja un comentario

Ir al Inicio