FiberMall proporciona soluciones InfiniBand de extremo a extremo

Después de que ChatGPT explotó en el campo de la tecnología, la gente ha estado discutiendo cuál será el "próximo paso" de la IA, y muchos académicos han mencionado la multimodalidad. Recientemente, OpenAI lanzó el modelo grande preentrenado multimodal GPT-4. GPT-4 avanza a pasos agigantados en los siguientes aspectos: potente reconocimiento de gráficos, límite de entrada de texto elevado a 25,000 XNUMX palabras, mejora significativa en la precisión de las respuestas, capacidad para generar letras, texto creativo y realizar cambios de estilo.

Tales iteraciones eficientes son inseparables del entrenamiento de modelos a gran escala de IA, que requiere grandes recursos computacionales y redes de transmisión de datos de alta velocidad. Entre ellos, la red IB de extremo a extremo (InfiniBand) es una red informática de alto rendimiento que es especialmente adecuada para la informática de alto rendimiento y el entrenamiento de modelos de IA. En este documento, presentaremos qué es la capacitación del modelo AIGC, por qué se necesita una red IB de extremo a extremo y cómo usar el modelo ChatGPT para la capacitación AIGC.

¿Qué es AIGC?

AIGC, contenido generado por IA, se refiere al contenido generado automáticamente por inteligencia artificial, que se puede usar para pintar, escribir, grabar videos y muchos otros tipos de creación de contenido. 2022 AIGC se está desarrollando a alta velocidad, que el modelo de aprendizaje profundo continúa mejorando, la promoción del modelo de código abierto y la posibilidad de comercialización de la exploración de modelos grandes, que se convierte en el desarrollo de la "aceleración" de AIGC. Tome ChatGPT, un chatbot, por ejemplo, que puede escribir ensayos, crear novelas y código, y ha estado en línea por solo 2 meses, con 100 millones de usuarios mensuales. Debido a su inesperado "inteligente", AIGC se considera "el próximo disruptor de la industria de la tecnología", "una gran revolución en la productividad de contenido".

AIG

Modelo de lenguaje grande (LLM) y ChatGPT

Large Language Model es una tecnología de inteligencia artificial que puede adquirir y comprender el lenguaje natural. Por lo general, se basa en algoritmos de aprendizaje profundo que aprenden grandes cantidades de datos de texto para adquirir conocimientos lingüísticos y pueden generar texto en lenguaje natural, como conversaciones, artículos, etc. Transformador capacitado) desarrollado por OpenAI para generar texto en lenguaje natural lingüísticamente expresivo e interactuar con los usuarios mediante el entrenamiento previo y el ajuste de grandes cantidades de datos de texto. Por lo tanto, se puede decir que ChatGPT es un chatbot basado en una gran tecnología de modelado de lenguaje. Aprovecha las poderosas capacidades de comprensión y generación de idiomas de modelos de lenguaje grandes, lo que permite la generación y comprensión de texto en lenguaje natural en conversaciones. Con el desarrollo de técnicas de aprendizaje profundo, las capacidades y la escala de los grandes modelos de lenguaje continúan aumentando. Mientras que los modelos de lenguaje original (p. ej., modelos N-gram) solo podían considerar información contextual limitada, los modelos modernos de lenguaje grande (p. ej., BERT, GPT-3, etc.) pueden considerar información contextual mucho más extensa y tienen capacidades de generación y generalización más sólidas. Los modelos de lenguaje grande generalmente se entrenan utilizando redes neuronales profundas, como redes neuronales recurrentes (RNN), memoria a corto y largo plazo (LSTM), unidades recurrentes controladas (GRU) y transformadores. En el entrenamiento, los modelos se entrenan de manera no supervisada o semisupervisada utilizando un conjunto de datos de texto a gran escala. Por ejemplo, los modelos BERT se entrenan mediante tareas como máscaras de predicción, oraciones siguientes, etc., mientras que GPT-3 utiliza un enfoque de aprendizaje autosupervisado a gran escala. Los modelos de lenguaje a gran escala tienen una amplia gama de aplicaciones en el campo del procesamiento del lenguaje natural, como la traducción automática, la generación de lenguaje natural, los sistemas de preguntas y respuestas, la clasificación de textos, el análisis de sentimientos, etc.

¿Cuáles son los cuellos de botella actuales en la formación LLM?

Cuando se entrenan modelos de lenguaje grandes, se necesitan redes confiables y de alta velocidad para transferir grandes cantidades de datos. Por ejemplo, OpenAI lanzó la primera versión del modelo GPT (GPT-1), que tenía un tamaño de modelo de 117 millones de parámetros. Después de eso, OpenAI lanzó sucesivamente modelos más grandes como GPT-2 y GPT-3 con 150 millones y 1.75 billones de parámetros, respectivamente. Parámetros tan grandes son completamente imposibles de entrenar en una sola máquina y requieren una gran dependencia de los clústeres de computación GPU. El cuello de botella actual radica en cómo resolver el problema de la comunicación eficiente entre los nodos del clúster de entrenamiento.

Cuellos de botella actuales en la formación LLM

Uno de los algoritmos de comunicación de GPU más utilizados es Ring-Allreduce, cuya idea básica es hacer que las GPU formen un anillo y dejen que los datos fluyan dentro del anillo. Las GPU en el anillo están dispuestas en una lógica en la que cada GPU tiene un vecino izquierdo y uno derecho, y solo enviará datos a su vecino derecho y recibirá datos de su vecino izquierdo. El algoritmo procede en dos pasos: primero dispersión-reducción y luego reunión total. En el paso de reducción de dispersión, las GPU intercambiarán datos para que cada GPU pueda obtener un bloque del resultado final. En el paso de recopilación, las GPU intercambiarán estos bloques para que todas las GPU obtengan el resultado final completo.

Anillo-Allreduce

En los primeros días, no había NVLink dentro de una sola máquina, no había RDMA en la red y el ancho de banda era relativamente bajo. No había mucha diferencia en el ancho de banda entre la distribución de una sola máquina y la distribución de varias máquinas, por lo que fue suficiente para construir un gran anillo. Pero ahora que tenemos NVLink dentro de una sola máquina, no es apropiado usar el mismo método. Debido a que el ancho de banda de la red es mucho más bajo que el de NVLink, si volvemos a usar un anillo grande, el alto ancho de banda de NVLink se reducirá seriamente al nivel de la red. En segundo lugar, ahora es un entorno de múltiples NIC. También es imposible aprovechar al máximo los múltiples NIC si solo se usa un anillo. Por lo tanto, se recomienda un anillo de dos etapas en tal escenario. Primero, la sincronización de datos se realiza entre GPU dentro de una sola máquina utilizando la ventaja de alto ancho de banda de NVLink. Luego, las GPU entre múltiples máquinas usan múltiples NIC para establecer múltiples anillos para sincronizar datos de diferentes segmentos. Finalmente, las GPU dentro de la máquina única se sincronizan una vez más, completando finalmente la sincronización de datos de todas las GPU, y aquí tenemos que mencionar NCCL.

NCCL

La biblioteca de comunicación colectiva de NVIDIA (NCCL) implementa primitivas de comunicación multi-GPU y multi-nodo optimizadas para redes y GPU NVIDIA.

multi-GPU multi-nodo

1 GPU->multi-GPU multi-nodo

NCCL proporciona rutinas para recolección total, reducción total, difusión, reducción, reducción de dispersión y envío y recepción punto a punto. Estas rutinas están optimizadas para ancho de banda alto y latencia baja a través de redes en el nodo y NVIDIA Mellanox a través de interconexiones de alta velocidad PCIe y NVLink.

¿Por qué utilizar una red InfiniBand de extremo a extremo?

Ethernet es un protocolo de red ampliamente utilizado, pero su velocidad de transmisión y latencia no satisfacen las demandas del entrenamiento de modelos grandes. Por el contrario, la red InfiniBand de extremo a extremo es una red informática de alto rendimiento capaz de ofrecer velocidades de transmisión de hasta 400 Gbps y latencia de microsegundos, muy por encima del rendimiento de Ethernet. Esto convierte a las redes InfiniBand en la tecnología de red preferida para el entrenamiento de modelos a gran escala. Además, la red InfiniBand de extremo a extremo admite mecanismos de corrección de errores y redundancia de datos que garantizan una transmisión de datos confiable. Esto es especialmente importante en el entrenamiento de modelos a gran escala, porque cuando se trata de tantos datos, los errores de transmisión de datos o la pérdida de datos pueden hacer que el proceso de entrenamiento se interrumpa o incluso falle. Con el espectacular aumento de la cantidad de nodos de red y el aumento de la potencia informática, es más importante que nunca que la informática de alto rendimiento elimine los cuellos de botella en el rendimiento y mejore la gestión del sistema. InfiniBand se considera una tecnología de E/S muy prometedora que puede mejorar el cuello de botella de rendimiento de las arquitecturas de E/S actuales, como se muestra en la figura. infiniBand es un protocolo de comunicación de interconexión generalizado, de baja latencia y alto ancho de banda con poca sobrecarga de procesamiento, ideal para transportar múltiples tipos de tráfico (agrupación, comunicación, almacenamiento y administración) en una sola conexión. En 1999, IBTA (InfiniBand Trade Association) desarrolló los estándares relacionados con InfiniBand, que definen la arquitectura de entrada/salida para servidores interconectados, dispositivos de infraestructura de comunicación, almacenamiento y sistemas integrados en la especificación InfiniBand™. InfiniBand es una tecnología madura y comprobada que se usa ampliamente en clústeres de cómputo de alto rendimiento.

Diagrama de arquitectura de la interconexión InfiniBand

Diagrama de arquitectura de la interconexión InfiniBand

De acuerdo con el protocolo de interconexión InfiniBand, cada nodo debe tener un adaptador de canal host (HCA) para establecer y mantener enlaces con dispositivos host. Los conmutadores contienen múltiples puertos y reenvían paquetes de datos de un puerto a otro, completando la transmisión de datos dentro de las subredes.

El administrador de subred (SM) se utiliza para configurar su subred local y garantizar su funcionamiento continuo, con la ayuda del paquete de administrador de subred (SMP) y el agente de administrador de subred (SMA) en cada dispositivo InfiniBand. El administrador de subred descubre e inicializa la red, asigna identificadores únicos a todos los dispositivos, determina la MTU (unidad mínima de transmisión) y genera tablas de enrutamiento de conmutación basadas en algoritmos de enrutamiento seleccionados. El SM también realiza exploraciones ópticas periódicas de la subred para detectar cualquier cambio de topología y configura la red en consecuencia. Las redes InfiniBand ofrecen mayor ancho de banda, menor latencia y mayor escalabilidad que otros protocolos de comunicación de red. Además, debido a que InfiniBand proporciona un control de flujo basado en créditos (donde el nodo emisor no envía más datos que la cantidad de créditos publicados en el búfer de recepción en el otro extremo del enlace), la capa de transporte no requiere un mecanismo de pérdida de paquetes como el algoritmo de ventana TCP para determinar la cantidad óptima de paquetes que se transmiten. Esto permite que las redes InfiniBand proporcionen velocidades de transferencia de datos extremadamente altas a aplicaciones con una latencia muy baja y un uso muy bajo de la CPU. InfiniBand transfiere datos de un extremo del canal al otro utilizando RDMA (Remote Direct Memory Access), un protocolo que transfiere datos directamente entre aplicaciones a través de la red sin la participación del sistema operativo, mientras consume muy pocos recursos de CPU en ambos lados (transferencia de copia cero). La aplicación en un extremo simplemente lee el mensaje directamente de la memoria y el mensaje se ha transferido con éxito. La sobrecarga reducida de la CPU aumenta la capacidad de la red para transferir datos rápidamente y permite que las aplicaciones reciban datos más rápido.

Soluciones de red InfiniBand de extremo a extremo de FiberMall

FiberMall ofrece una solución integral basada en conmutadores NVIDIA Quantum-2, tarjetas inteligentes ConnectX InfiniBand y conectividad flexible. 400Gb / s InfiniBand, basado en nuestra comprensión de las tendencias de redes de alta velocidad y nuestra amplia experiencia en implementaciones de proyectos de HPC e IA, para reducir los costos y la complejidad y, al mismo tiempo, ofrecer un rendimiento superior en la infraestructura de computación de alto rendimiento (HPC), IA e hiperescala en la nube, al mismo tiempo que se reducen los costos y la complejidad.

Centro de datos FiberMall Soluciones de red InfiniBand

Centro de datos FiberMall Soluciones de red InfiniBand

Deja un comentario

Ir al Inicio