noticias

El entrenamiento de GPU Llama 3.1 falla como loco. ¿Existe algún fabricante importante que utilice un servidor de CPU para ejecutar un modelo grande con cientos de miles de millones de parámetros?

2024-08-01

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina


Nuevo informe de sabiduría

Editor: Departamento Editorial

[Introducción a la Nueva Sabiduría]¡Es hora de utilizar un servidor universal de CPU para ejecutar modelos grandes con cientos de miles de millones de parámetros!

Musk construyó el superordenador más grande del mundo, compuesto por 100.000 H100 conectados en 19 días, y se ha dedicado por completo al entrenamiento de Grok 3.

Al mismo tiempo, los medios extranjeros dieron la noticia de que el próximo clúster de supercomputación construido conjuntamente por OpenAI y Microsoft estará compuesto por 100.000 GB200.

En esta competencia de IA, las principales empresas de tecnología están haciendo todo lo posible para aumentar la inversión en GPU, lo que parece implicar que tener GPU cada vez más potentes las hará invencibles.

Sin embargo, esta búsqueda fanática de GPU de alta gama no es una solución perfecta en todas las situaciones.


El padre de Pytorch dijo que hay muchos detalles interesantes de la infraestructura ocultos en el informe técnico, incluido cómo paralelizar, cómo hacer que el sistema sea más confiable, etc.

Tomando la estabilidad como ejemplo, durante los 54 días de entrenamiento de Llama 3.1, el clúster H100 de 16.000 bloques de Meta encontró un total de 419 interrupciones inesperadas, lo que equivale a un promedio de una cada 3 horas.

Entre estos, 148 veces (30,1%) fueron causados ​​por varios fallos de la GPU.

Por el contrario, solo hubo 2 interrupciones causadas por fallas de la CPU.


Por otro lado, si desea ejecutar Llama 3.1 405B, debe emparejarlo con dos estaciones de trabajo 8×H100 DGX, es decir, 1280 GB de memoria de video.

Una vez, un guerrero intentó ejecutarlo con un 4090, pero después de esperar 30 minutos, el modelo escupió lentamente "The".


Una respuesta completa tomó 20 horas completas.

Los amigos que están familiarizados con el entrenamiento y la inferencia de modelos saben que estas cosas no son sorprendentes en absoluto.

La construcción de clústeres (configuración de GPU, diseño de red, optimización de pistas, etc.), la gestión de clústeres (monitoreo en tiempo real, resolución de problemas, etc.) ... todos son "obstáculos".

¿Qué es una empresa que carece de experiencia relevante y capital para hacer?


Recientemente, los ingenieros de I+D de Inspur Information utilizaron sólo 4 CPU para ejecutar "Source 2.0" con cientos de miles de millones de parámetros en un servidor de uso general.

Ante la tarea de codificación de escribir un programa en Java, "Source 2.0" da resultados muy rápidamente.


Déle otra pregunta de razonamiento: hay una escalera colgada en el costado del barco, a 2 metros sobre el mar. Si el agua del mar sube medio metro por hora, ¿cuántas horas tardará el agua del mar en sumergir la escalera?

De manera similar, la IA proporciona pasos y respuestas detallados para la resolución de problemas con un retraso casi nulo.



No tiene precedentes utilizar un servidor de uso general para ejecutar modelos grandes con cientos de miles de millones de parámetros. La acumulación en este campo está completamente en blanco y no hay experiencia de la que sacar provecho.

¿Cómo lo hace Inspur News?

Utilice 4 CPU para aprovechar modelos grandes con cientos de miles de millones de parámetros

Para lograr la inferencia de un modelo grande con cientos de miles de millones de parámetros en un solo servidor, hay dos etapas principales, las cuales imponen requisitos estrictos a la potencia informática.

En primer lugar, está la etapa de prellenado, también llamada etapa de propagación directa.

Esta etapa implica el procesamiento de los datos de entrada y la primera lectura de los parámetros del modelo.

Por ejemplo, cuando ingresa el mensaje "Escríbame un artículo sobre IA", la etapa de llenado previo ingresará todos los tokens y parámetros del modelo en la pregunta en el cálculo a la vez.

A veces, este aporte puede consistir en unas pocas palabras, miles de palabras o un libro.

El grado de exigencia computacional de la primera etapa depende principalmente de la longitud de nuestra entrada.

Durante el cálculo del primer token, desde que el modelo se carga por primera vez, todos los parámetros de peso, así como el caché KV y otros datos se almacenarán en la memoria.

Esto es de 2 a 3 veces el espacio de memoria que ocupan los propios parámetros del modelo.

Para cientos de miles de millones de modelos de parámetros, es necesario procesar una gran cantidad de parámetros y entradas de datos en potentes unidades informáticas. Para ello, necesita admitir un conjunto de instrucciones de vectorización y un conjunto de instrucciones de cálculo matricial para implementar una gran cantidad de operaciones tensoriales y de multiplicación de matrices.

En segundo lugar, está la etapa de decodificación, es decir, la etapa en la que el modelo comienza a generar resultados después de que se ingresan todas las preguntas.

En esta etapa, el único requisito para los modelos grandes es producir lo más rápido posible. Al mismo tiempo, el desafío ya no es un desafío de potencia informática, sino un desafío de "transferencia de datos".

Contiene dos partes de "transferencia de datos":

  • La gran cantidad de caché KV generada en la etapa de prellenado debe trasladarse de la memoria/memoria de video a la unidad informática (la carga de trabajo es muy pesada)

  • Transferencia de los propios parámetros del modelo.

Estas transferencias juegan un papel decisivo en la velocidad de cálculo y de inferencia de modelos grandes. La transferencia de datos es muy rápida y la velocidad de enunciación del LLM también será rápida.

La salida de LLM genera principalmente tokens uno por uno a través de KV Catch y almacena el vector clave-valor del nuevo fragmento de palabra después de cada paso de generación.

Por lo tanto, para la inferencia en tiempo real de cientos de miles de millones de modelos grandes, el servidor debe tener una alta potencia informática y una alta eficiencia de transferencia de datos desde las unidades de almacenamiento a las unidades informáticas.

En definitiva, las dos etapas del razonamiento de modelos grandes tienen características informáticas completamente diferentes, que requieren una optimización colaborativa en términos de software y hardware.

La GPU no lo es todo

Tradicionalmente, la GPU se ha convertido en la primera opción para el entrenamiento y la inferencia de IA debido a sus capacidades superiores de procesamiento paralelo.

costo

Sin embargo, los servidores GPU de alta gama suelen escasear en el mercado y son extremadamente difíciles de obtener.

Sólo los gigantes tecnológicos bien financiados, como Microsoft y Google, pueden afrontar este coste.

Por otro lado, no sólo es inasequible, sino también inasequible.

El alquiler de servicios en la nube basados ​​en GPU es costoso en tareas de inferencia. Para los investigadores científicos y fabricantes de aplicaciones, si necesitan lograr una mayor rentabilidad, deben encontrar otra manera.

Memoria de video

Además, una de las mayores desventajas de la GPU es que la capacidad de la memoria de vídeo es limitada.

La arquitectura de red actual de LLM en la industria se ha movido gradualmente de GPT a MoE. La escala de parámetros de los grandes modelos que conducen a AGI sólo aumentará exponencialmente.

Esto significa que el tamaño de los modelos convencionales de código cerrado/código abierto solo será cada vez mayor, y los modelos con cientos de miles de millones de parámetros o incluso billones de parámetros se convertirán en la corriente principal.

Para decenas de miles de millones de modelos de parámetros, 20-30 GB de memoria de video son suficientes. Sin embargo, si desea ejecutar 100 mil millones de parámetros, necesitará entre 200 y 300 GB de espacio en la memoria de video.

Los chips de IA actuales generalmente solo tienen unas pocas docenas de GB de memoria de video, lo que obviamente no puede acomodar un modelo tan grande. (El chip de IA más potente actualmente no ha alcanzado los 200 GB)


Servidor de propósito general subestimado

Si la GPU no funciona, comience con la CPU.

Aunque actualmente no es posible entrenar modelos a gran escala, los servidores de propósito general inesperadamente tienen ventajas considerables en las tareas de inferencia.

En el proceso de práctica específica, los ingenieros de Inspur Information partieron de los recursos de hardware y los niveles de algoritmo para superar cada "obstáculo".

Memoria ultragrande + ancho de banda de alta velocidad

En términos de potencia informática,Actualmente, las CPU de servidores líderes ya tienen capacidades de aceleración de IA.

Similar al núcleo Tensor de la GPU, la extensión de matriz avanzada AMX puede acelerar cálculos de baja precisión, compilar un conjunto de instrucciones para el núcleo de la CPU y utilizar un núcleo dedicado para la aceleración.

En términos de algoritmos,El servidor universal de Inspur Information puede admitir simultáneamente marcos de IA convencionales como PyTorch y TensorFlow, así como herramientas de desarrollo populares como DeepSpeed, satisfaciendo las necesidades de los usuarios de un ecosistema abierto más maduro, fácil de implementar y más conveniente.

En términos de comunicación,El diseño de la interconexión de bus UPI (Ultra Path Interconnect) de enlace completo logra una transmisión de datos eficiente entre las CPU:

  1. Permite la transferencia directa de datos entre dos CPU, lo que reduce los retrasos en la comunicación.

  2. Proporciona altas tasas de transferencia, hasta 16GT/s (Gigatransferencias por segundo)


Además, los ingenieros de I+D de Inspur Information también optimizaron las rutas de cableado y la continuidad de la impedancia entre las CPU y entre las CPU y la memoria.

Con base en los resultados de la simulación tridimensional, ajustaron la disposición de la vía para reducir la diafonía de la señal por debajo de -60 dB, un 50 % menos que la generación anterior.

Además, a través de la simulación activa de matriz DOE, se encuentra la solución óptima para la combinación de todos los rincones del canal, lo que permite aprovechar al máximo el rendimiento de la potencia informática.

En términos de memoria,Se puede decir que es la mayor ventaja de los servidores de uso general.

  • capacidad

Para un servidor de 4 sockets, sólo necesita conectar 8 tarjetas de memoria de 32 GB a cada CPU para alcanzar fácilmente 1 TB. Cuando está completamente insertado, incluso se puede ampliar a 16 TB y puede admitir modelos con hasta un billón de parámetros.

  • banda ancha

Combinado con la memoria DDR5, se puede lograr un ancho de banda teórico de 4800MHz × 8bit × 8 canales × 4 ÷ 1024 = 1200GB/s.

Los resultados de las mediciones reales muestran que el ancho de banda de lectura es de 995 GB/s, el ancho de banda de escritura es de 423 GB/s y el ancho de banda de lectura y escritura es de 437 GB/s.

Estos datos son comparables a algunas GPU o tarjetas aceleradoras equipadas con memoria GDDR.


Pero el hardware por sí solo no es suficiente

Depender únicamente de la innovación de hardware no es suficiente. Es difícil para la CPU realizar cálculos paralelos a gran escala de algoritmos de modelos grandes.

Como se mencionó al principio, los modelos grandes tienen requisitos muy altos de ancho de banda de comunicación, ya sea cálculo de datos, entre unidades informáticas o entre unidades informáticas y memoria.

Si se calcula con la precisión de BF16, si desea que el retraso de ejecución de un modelo grande de 100 mil millones sea inferior a 100 ms, el ancho de banda de comunicación entre la memoria y la unidad informática debe ser de al menos 2 TB/s.

No solo eso, los procesadores de servidor de uso general no son adecuados para grandes modelos de IA basados ​​en diseños de tarjetas aceleradoras que son buenos para la computación paralela a gran escala.

La razón es obvia: aunque este último tiene un núcleo informático muy versátil y de alto rendimiento, no dispone de un entorno de trabajo paralelo.

En términos generales, un servidor de propósito general primero transferirá el peso del modelo a una CPU y luego permitirá que se conecte a otras CPU en serie para realizar la transmisión de datos de peso.

Sin embargo, dado que los modelos grandes necesitan transferir con frecuencia pesos de algoritmo entre la memoria y la CPU durante la operación, la consecuencia de esto es que la utilización del ancho de banda entre la CPU y la memoria no es alta y la sobrecarga de comunicación es extremadamente alta.


¿Como resolver el problema?Innovar con algoritmos

En respuesta a los problemas anteriores, Inspur Information propuso dos innovaciones tecnológicas, "Tensor Parallel" (Tensor Parallel) y "Cuantificación NF4", y realizó con éxito la inferencia en tiempo real de los cientos de miles de millones de modelos grandes Yuan2.0-102B.

Según los resultados del análisis de rendimiento, se puede ver claramente la distribución del tiempo de cálculo de diferentes partes del modelo——

El tiempo de ejecución de la capa lineal representa el 50%, el tiempo de ejecución de la convolución representa el 20%, el tiempo de comunicación de agregación representa el 20% y otros cálculos representan el 10%.

Tenga en cuenta que durante todo el proceso de inferencia, ¡el tiempo de cálculo representa el 80%!

Esto contrasta marcadamente con el uso de múltiples tarjetas aceleradoras PCIe AI: la sobrecarga de comunicación de estas últimas puede llegar al 50%, lo que resulta en un grave desperdicio de potencia informática.


Cuadro de resultados del análisis del rendimiento de inferencia del modelo Yuan2.0-102B

paralelismo tensorial

El llamado paralelismo tensorial primero divide el operador de convolución en tensores y luego calcula los pesos de las matrices de la capa de atención y la capa de avance en el modelo grande y los ingresa en la memoria de múltiples procesadores.

De esta forma, las cuatro CPU del servidor general pueden obtener pesos de algoritmo al mismo tiempo para acelerar los cálculos.

Sin embargo, el paralelismo tensorial divide los parámetros del modelo en granularidades más finas, lo que requiere que la CPU realice la sincronización de datos después de cada cálculo tensorial.

Para este requisito, la tecnología de interconexión de bus UPI de enlace completo mencionada anteriormente puede cumplir completamente con este requisito (el ancho de banda de comunicación es de hasta 16 GT/s).

Al final, ¡este trabajo colaborativo paralelo aumentó directamente la eficiencia informática 4 veces!


Cuantificación de NF4

En cuanto al problema del ancho de banda de memoria insuficiente, el modelo debe "adelgazarse" sin afectar la precisión, es decir, cuantificarse.

La ventaja es que, por un lado, los parámetros LLM se pueden cuantificar en datos de bits bajos y los pesos serán más pequeños. Por otro lado, una vez reducido el peso, la cantidad de datos transmitidos durante el cálculo también será menor.

Aquí, Inspur Information adopta un método de cuantificación de cuantiles poco común: NF4 (NormalFloat de 4 dígitos).


El método de cuantificación NF4 puede comprimir el tamaño de Yuan2.0-102B a 1/4 del tamaño original.

Específicamente, la idea central de NF4 es garantizar que el número de valores del tensor de entrada dentro del intervalo de cuantificación sea igual.

Esta característica es muy adecuada para presentar pesos LLM con una distribución aproximadamente normal.

Debido a que la desviación estándar se puede ajustar para adaptarse al rango del tipo de datos cuantificados, NF4 puede lograr una mayor precisión que la cuantificación tradicional de números enteros de 4 bits o de coma flotante de 4 bits.

De esta manera, el modelo cuantificado no solo puede cumplir con los requisitos de precisión, sino también reducir significativamente la cantidad de datos de acceso a la memoria para la computación paralela a gran escala, cumpliendo así con los requisitos de decodificación del razonamiento en tiempo real.


Los intervalos de datos para los métodos de cuantificación de números enteros o de coma flotante suelen estar distribuidos uniformemente o exponencialmente.

Para comprimir aún más los parámetros de peso del modelo, el equipo también utilizó tecnología de cuantificación anidada (Double Quant).

Esta es una cuantificación secundaria basada en la cuantificación NF4.

Debido a que NF4 generará una gran cantidad de parámetros de escala después de la cuantificación, si se utilizan números de punto flotante de 32 bits (FP32) para almacenarlos, se ocupará una gran cantidad de memoria.

Para un LLM con cientos de miles de millones de parámetros, si cada 64 parámetros se calculan como un bloque de cuantificación (tamaño de bloque = 64), solo almacenar los parámetros de escala requiere 6 GB adicionales de memoria: (100B ÷ 64) × 4 = 6 GB.

El equipo redujo significativamente el espacio de almacenamiento requerido cuantificando estos parámetros de escala a números de coma flotante de 8 bits (FP8).

Cuando se utiliza 256 como tamaño de bloque de cuantificación (tamaño de bloque = 256), el espacio adicional necesario para almacenar todos los parámetros de escala es de solo 1,57 GB: (100B ÷ 64 ÷ 256) × 4 + (100B ÷ 64) × 1 = 1,57 GB.

A través de la cuantificación anidada, cada parámetro de peso del modelo termina ocupando solo 4 bytes de espacio de memoria, ahorrando mucho espacio de memoria que el FP32 original.

Al mismo tiempo, mejora 4 veces la eficiencia de transferencia de datos desde la memoria a la CPU.

Dicha optimización alivia significativamente la limitación del ancho de banda de la memoria en la eficiencia de inferencia y decodificación del modelo Yuan2.0-102B, mejorando así aún más el rendimiento de inferencia del modelo.

El llamado universal significa que todos pueden usarlo.

¡En este punto, la información de Inspur se ha enviado correctamente!

A través de la optimización del sistema, el NF8260G7 de Inspur Information es el primero en la industria que admite la operación de modelos grandes con cientos de miles de millones de parámetros basados ​​únicamente en procesadores de uso general.

Hasta ahora, la escala de parámetros de los grandes modelos de IA respaldados por la potencia informática general ha superado los 100 mil millones, llenando por completo el vacío en la industria y convirtiéndose en un nuevo punto de partida para que las empresas posean IA.

La implementación de modelos de IA con cientos de miles de millones de parámetros ahora tiene opciones con un rendimiento más sólido y costos más económicos; las aplicaciones de modelos grandes de IA pueden lograr una integración más estrecha con la nube, big data y bases de datos.


El objetivo final del progreso científico y tecnológico debe ser caer en el mundo mortal.

En la actualidad, AIGC ha penetrado en miles de industrias. La IA ha penetrado en todos los dispositivos informáticos a un ritmo alarmante.

De enero a abril de 2024, el número de ofertas ganadoras para modelos nacionales grandes superó el total de todo el año 2023, y la cantidad divulgada de ofertas ganadoras alcanzó el 77% de la de todo el año 2023.

Los profesionales de la industria financiera, los departamentos ambulatorios de hospitales y los departamentos de TI corporativos han descubierto esto: ¡la infraestructura de potencia informática de las industrias tradicionales ya no es suficiente!

Hoy en día, los modelos grandes con cientos de miles de millones de parámetros son la clave para el surgimiento de la inteligencia en miles de industrias. Si la potencia informática general puede ejecutar modelos grandes con cientos de miles de millones de parámetros es la clave para medir si puede respaldar el surgimiento de la inteligencia en miles de industrias.

La iniciativa de Inspur Information permite a los clientes de Internet, finanzas, medicina y otras industrias lograr una implementación eficiente y ahorrar más del 80% de los costos de construcción en la primera inversión.

Ya sea prevención de fraude financiero, análisis de datos financieros, conocimientos de marketing de CRM empresarial, diagnóstico médico inteligente, diagnóstico personalizado y planes de tratamiento, educación y capacitación, etc., seremos testigos de la aplicación generalizada de la IA.

A partir de ahora, todos los cálculos son IA.

Referencias:

https://mp.weixin.qq.com/s/1wYt7dfoVy2J1FFkOJjRTg