La inferencia de GPU se acelera 4 veces, y el contexto de 256K es el más largo del mundo: Wuwen Core Dome ha establecido un nuevo récord para la optimización de modelos grandes
¿Quieres ganar dinero con modelos grandes? Esta nueva y poderosa cara decidió reducir primero el costo del razonamiento.
Fuente original: Heart of the Machine
Fuente de la imagen: Generado por Unbounded AI
¿Cuánto dinero gasta el negocio de modelos a gran escala? Hace algún tiempo, un reportaje del Wall Street Journal dio una respuesta de referencia.
Según el informe, el negocio GitHub Copilot de Microsoft (respaldado por el modelo GPT de OpenAI) cobra 10 dólares al mes, pero sigue costando una media de 20 dólares por usuario. Los proveedores de servicios de IA se enfrentan a importantes desafíos económicos: estos servicios no solo son caros de construir, sino también muy caros de operar.
Alguien lo comparó con “usar IA para resumir un correo electrónico es como pedirle a un Lamborghini que entregue una pizza”.
OpenAI ha calculado una descripción más detallada de esto: cuando la longitud del contexto es de 8K, el costo de cada token de entrada de 1K es de 3 centavos y el costo de salida es de 6 centavos. Actualmente, OpenAI cuenta con 180 millones de usuarios y recibe más de 10 millones de consultas al día. De esta manera, para operar un modelo como ChatGPT, OpenAI necesita invertir alrededor de 7 millones de dólares al día en el hardware informático necesario, que se puede decir que es aterradoramente caro.
Reducir el costo de la inferencia para los LLM es imperativo, y aumentar la velocidad de inferencia es una ruta crítica comprobada. **
De hecho, la comunidad investigadora ha propuesto una serie de tecnologías para acelerar las tareas de inferencia de LLM, como DeepSpeed, FlexGen, vLLM, OpenPPL, FlashDecoding y TensorRT-LLM. Naturalmente, estas tecnologías también tienen sus propias ventajas y desventajas. Entre ellos, FlashDecoding es un método de última generación propuesto por los autores de FlashAttention y Tri Dao et al. del equipo de la Universidad de Stanford el mes pasado, que mejora en gran medida la velocidad de inferencia de los LLM al cargar datos en paralelo, y se considera que tiene un gran potencial. Pero al mismo tiempo, introduce una sobrecarga computacional innecesaria, por lo que todavía hay mucho espacio para la optimización.
Para resolver aún más el problema, un equipo conjunto de Infinigence-AI, la Universidad de Tsinghua y la Universidad Jiao Tong de Shanghái propuso recientemente un nuevo método, FlashDecoding++, que no solo aporta más aceleración que el método anterior (puede acelerar la inferencia de la GPU de 2 a 4 veces), sino que, lo que es más importante, es compatible con las GPU de NVIDIA y AMD. Su idea central es lograr un verdadero paralelismo en el cálculo de la atención a través de un enfoque asíncrono, y acelerar el cálculo en la etapa de decodificación para la optimización de productos matriciales “gruesos”. **
Dirección:
Acelera la inferencia de GPU de 2 a 4 veces,
¿Cómo lo hace FlashDecoding++? **
La tarea de inferencia de LLM consiste generalmente en introducir un fragmento de texto (token) y continuar generando texto u otras formas de contenido a través del cálculo del modelo de LLM.
El cálculo de inferencia de LLM se puede dividir en dos etapas: Prefill y Decode, donde la etapa Prefill genera el primer token al comprender el texto de entrada; En la fase de descodificación, los tokens posteriores se generan secuencialmente. En las dos etapas, el cálculo de la inferencia LLM se puede dividir en dos partes principales: el cálculo de la atención y el cálculo de la multiplicación de matrices.
Para la computación de la atención, el trabajo existente, como FlashDecoding, implementa la carga paralela de datos con el operador softmax en la computación de la atención de fragmentación. Este método introduce una sobrecarga computacional del 20% en los cálculos de atención debido a la necesidad de sincronizar los valores máximos en diferentes partes de softmax. Para los cálculos de multiplicación de matrices, en la etapa de decodificación, las matrices de multiplicación a la izquierda aparecen principalmente como matrices “gruesas”, es decir, el número de filas generalmente no es grande (por ejemplo, < = 8), y el motor de inferencia LLM existente expande el número de filas a 64 complementando 0 para acelerarlo mediante arquitecturas como Tensor Cores, lo que resulta en una gran cantidad de cálculos no válidos (multiplicados por 0).
Para resolver los problemas anteriores, la idea central de “FlashDecoding++” es realizar el verdadero paralelismo del cálculo de la atención a través de métodos asíncronos, y acelerar el cálculo en la etapa de decodificación para la optimización de la multiplicación de matrices “Humpty Dumpty”. **
Cálculos asíncronos de Softmax parcial en paralelo
*Figura 1 Cálculo de Softmax de sección paralela asíncrona
En el trabajo anterior se introdujo el valor máximo para cada parte del cálculo de softmax como factor de escala para evitar el desbordamiento del exponente e en el cálculo de softmax, lo que dio lugar a la sobrecarga de sincronización de las diferentes partes del cálculo de softmax (Figura 1(a)(b)).
Figura 2 Distribución estadística de los valores de entrada de Softmax
* Fig.3 Mecanismo de fragmentación de multiplicación de matrices de Humpty Dumpty y almacenamiento en caché dual *
Dado que la entrada de la etapa de decodificación es uno o varios vectores de token, el producto de matriz para esa etapa se comporta en una forma “gruesa”. Tomemos como ejemplo la matriz A×B=C, donde la forma de las matrices A y B es M×K y K×N, y la matriz “Humpty Dumpty” multiplica M cuando M es menor. “FlashDecoding++” señala que la matriz “Humpty Dumpty” está limitada por la caché general, y propone métodos de optimización como el mecanismo de doble caché para acelerarla (Fig. 3).
Figura 4 Implementación de la multiplicación de matrices adaptables
Además, “FlashDecoding++” señala además que en la etapa de inferencia LLM, los valores de N y K se fijan para un modelo específico. Por lo tanto, “FlashDecoding++” selecciona de forma adaptativa la implementación óptima del producto de matriz en función de la magnitud de M.
Acelera la inferencia de GPU de 2 a 4 veces
Fig. 5 “FlashDecoding++” Inferencia de LLM de la plataforma NVIDIA frente a la de AMD (modelo Llama2-7B, batchsize=1)
Actualmente, FlashDecoding++ puede acelerar la inferencia de LLM en el backend de varias GPU, como NVIDIA y AMD (Figura 5). Al acelerar la generación del primer token en la fase de prellenado y la velocidad de generación de cada token en la fase de decodificación, “FlashDecoding++” puede acelerar la generación de textos largos y cortos. **FlashDecoding++ acelera la inferencia en un promedio del 37 % en NVIDIA A100 en comparación con FlashDecoding, y hasta 2-4 veces más rápido que Hugging Face en los backends multi-GPU de NVIDIA y AMD. **
Novato en emprendimiento de modelos grandes de IA: Wuwen Core Dome
Los tres coautores del estudio son el Dr. Dai Guohao, científico jefe de Wuwen Core Dome y profesor asociado de la Universidad Jiao Tong de Shanghai, Hong Ke, pasante de investigación de Wuwen Core Dome y estudiante de maestría de la Universidad de Tsinghua, y Xu Jiaming, pasante de investigación de Wuwen Core Dome y estudiante de doctorado de la Universidad Jiao Tong de Shanghai. Los autores correspondientes son el profesor Dai Guohao, de la Universidad Jiao Tong de Shanghai, y el profesor Wang Yu, decano del Departamento de Ingeniería Electrónica de la Universidad de Tsinghua.
Fundada en mayo de 2023, el objetivo es crear la mejor solución para la integración de software y hardware para modelos grandes, y FlashDecoding++ se ha integrado en el motor de computación de modelos grandes “Infini-ACC”. Con el apoyo de “Infini-ACC”, Wuwen Core Dome está desarrollando una serie de soluciones de integración de software y hardware a gran escala, incluido el modelo a gran escala “Infini-Megrez”, la máquina todo en uno de software y hardware, etc.
Se entiende que “Infini-Megrez” se ha desempeñado muy bien en el manejo de textos largos, aumentando la longitud del texto que se puede procesar a un récord de 256k tokens**, y el procesamiento real de aproximadamente 400,000 palabras de todo el “Problema de tres cuerpos 3: Muerte eterna” no es un problema. Esta es la longitud de texto más larga que puede ser procesada por un modelo grande hoy en día.
Además, el modelo grande “Infini-Megrez” ha logrado un rendimiento de algoritmo de primer nivel en conjuntos de datos como C (MEDIO), MMLU (INGLÉS), CMMLU (medio) y AGI, y está evolucionando continuamente en función del motor informático “Infini-ACC”.
Ver originales
Esta página puede contener contenido de terceros, que se proporciona únicamente con fines informativos (sin garantías ni declaraciones) y no debe considerarse como un respaldo por parte de Gate a las opiniones expresadas ni como asesoramiento financiero o profesional. Consulte el Descargo de responsabilidad para obtener más detalles.
La inferencia de GPU se acelera 4 veces, y el contexto de 256K es el más largo del mundo: Wuwen Core Dome ha establecido un nuevo récord para la optimización de modelos grandes
Fuente original: Heart of the Machine
¿Cuánto dinero gasta el negocio de modelos a gran escala? Hace algún tiempo, un reportaje del Wall Street Journal dio una respuesta de referencia.
Según el informe, el negocio GitHub Copilot de Microsoft (respaldado por el modelo GPT de OpenAI) cobra 10 dólares al mes, pero sigue costando una media de 20 dólares por usuario. Los proveedores de servicios de IA se enfrentan a importantes desafíos económicos: estos servicios no solo son caros de construir, sino también muy caros de operar.
Alguien lo comparó con “usar IA para resumir un correo electrónico es como pedirle a un Lamborghini que entregue una pizza”.
OpenAI ha calculado una descripción más detallada de esto: cuando la longitud del contexto es de 8K, el costo de cada token de entrada de 1K es de 3 centavos y el costo de salida es de 6 centavos. Actualmente, OpenAI cuenta con 180 millones de usuarios y recibe más de 10 millones de consultas al día. De esta manera, para operar un modelo como ChatGPT, OpenAI necesita invertir alrededor de 7 millones de dólares al día en el hardware informático necesario, que se puede decir que es aterradoramente caro.
De hecho, la comunidad investigadora ha propuesto una serie de tecnologías para acelerar las tareas de inferencia de LLM, como DeepSpeed, FlexGen, vLLM, OpenPPL, FlashDecoding y TensorRT-LLM. Naturalmente, estas tecnologías también tienen sus propias ventajas y desventajas. Entre ellos, FlashDecoding es un método de última generación propuesto por los autores de FlashAttention y Tri Dao et al. del equipo de la Universidad de Stanford el mes pasado, que mejora en gran medida la velocidad de inferencia de los LLM al cargar datos en paralelo, y se considera que tiene un gran potencial. Pero al mismo tiempo, introduce una sobrecarga computacional innecesaria, por lo que todavía hay mucho espacio para la optimización.
Para resolver aún más el problema, un equipo conjunto de Infinigence-AI, la Universidad de Tsinghua y la Universidad Jiao Tong de Shanghái propuso recientemente un nuevo método, FlashDecoding++, que no solo aporta más aceleración que el método anterior (puede acelerar la inferencia de la GPU de 2 a 4 veces), sino que, lo que es más importante, es compatible con las GPU de NVIDIA y AMD. Su idea central es lograr un verdadero paralelismo en el cálculo de la atención a través de un enfoque asíncrono, y acelerar el cálculo en la etapa de decodificación para la optimización de productos matriciales “gruesos”. **
Acelera la inferencia de GPU de 2 a 4 veces,
¿Cómo lo hace FlashDecoding++? **
La tarea de inferencia de LLM consiste generalmente en introducir un fragmento de texto (token) y continuar generando texto u otras formas de contenido a través del cálculo del modelo de LLM.
El cálculo de inferencia de LLM se puede dividir en dos etapas: Prefill y Decode, donde la etapa Prefill genera el primer token al comprender el texto de entrada; En la fase de descodificación, los tokens posteriores se generan secuencialmente. En las dos etapas, el cálculo de la inferencia LLM se puede dividir en dos partes principales: el cálculo de la atención y el cálculo de la multiplicación de matrices.
Para la computación de la atención, el trabajo existente, como FlashDecoding, implementa la carga paralela de datos con el operador softmax en la computación de la atención de fragmentación. Este método introduce una sobrecarga computacional del 20% en los cálculos de atención debido a la necesidad de sincronizar los valores máximos en diferentes partes de softmax. Para los cálculos de multiplicación de matrices, en la etapa de decodificación, las matrices de multiplicación a la izquierda aparecen principalmente como matrices “gruesas”, es decir, el número de filas generalmente no es grande (por ejemplo, < = 8), y el motor de inferencia LLM existente expande el número de filas a 64 complementando 0 para acelerarlo mediante arquitecturas como Tensor Cores, lo que resulta en una gran cantidad de cálculos no válidos (multiplicados por 0).
Para resolver los problemas anteriores, la idea central de “FlashDecoding++” es realizar el verdadero paralelismo del cálculo de la atención a través de métodos asíncronos, y acelerar el cálculo en la etapa de decodificación para la optimización de la multiplicación de matrices “Humpty Dumpty”. **
Cálculos asíncronos de Softmax parcial en paralelo
En el trabajo anterior se introdujo el valor máximo para cada parte del cálculo de softmax como factor de escala para evitar el desbordamiento del exponente e en el cálculo de softmax, lo que dio lugar a la sobrecarga de sincronización de las diferentes partes del cálculo de softmax (Figura 1(a)(b)).
“FlashDecoding++” señala que para la mayoría de los LLM, la distribución de entrada softmax está más concentrada. Como se muestra en la Figura 2, más del 99,99% de la entrada softmax para Llama2-7B se concentra en el rango [-16,8, 6,5]. Por lo tanto, “FlashDecoding++” propone utilizar un valor máximo fijo para algunos cálculos de softmax (Fig. 1 ©), evitando así la sincronización frecuente entre diferentes cálculos de softmax. Cuando la entrada con una pequeña probabilidad está fuera del rango dado, el cálculo softmax de esta parte de “FlashDecoding++” degenera al método de cálculo original.
Optimización de productos Humpty Dumpty Matrix
Dado que la entrada de la etapa de decodificación es uno o varios vectores de token, el producto de matriz para esa etapa se comporta en una forma “gruesa”. Tomemos como ejemplo la matriz A×B=C, donde la forma de las matrices A y B es M×K y K×N, y la matriz “Humpty Dumpty” multiplica M cuando M es menor. “FlashDecoding++” señala que la matriz “Humpty Dumpty” está limitada por la caché general, y propone métodos de optimización como el mecanismo de doble caché para acelerarla (Fig. 3).
Además, “FlashDecoding++” señala además que en la etapa de inferencia LLM, los valores de N y K se fijan para un modelo específico. Por lo tanto, “FlashDecoding++” selecciona de forma adaptativa la implementación óptima del producto de matriz en función de la magnitud de M.
Acelera la inferencia de GPU de 2 a 4 veces
Actualmente, FlashDecoding++ puede acelerar la inferencia de LLM en el backend de varias GPU, como NVIDIA y AMD (Figura 5). Al acelerar la generación del primer token en la fase de prellenado y la velocidad de generación de cada token en la fase de decodificación, “FlashDecoding++” puede acelerar la generación de textos largos y cortos. **FlashDecoding++ acelera la inferencia en un promedio del 37 % en NVIDIA A100 en comparación con FlashDecoding, y hasta 2-4 veces más rápido que Hugging Face en los backends multi-GPU de NVIDIA y AMD. **
Novato en emprendimiento de modelos grandes de IA: Wuwen Core Dome
Los tres coautores del estudio son el Dr. Dai Guohao, científico jefe de Wuwen Core Dome y profesor asociado de la Universidad Jiao Tong de Shanghai, Hong Ke, pasante de investigación de Wuwen Core Dome y estudiante de maestría de la Universidad de Tsinghua, y Xu Jiaming, pasante de investigación de Wuwen Core Dome y estudiante de doctorado de la Universidad Jiao Tong de Shanghai. Los autores correspondientes son el profesor Dai Guohao, de la Universidad Jiao Tong de Shanghai, y el profesor Wang Yu, decano del Departamento de Ingeniería Electrónica de la Universidad de Tsinghua.
Fundada en mayo de 2023, el objetivo es crear la mejor solución para la integración de software y hardware para modelos grandes, y FlashDecoding++ se ha integrado en el motor de computación de modelos grandes “Infini-ACC”. Con el apoyo de “Infini-ACC”, Wuwen Core Dome está desarrollando una serie de soluciones de integración de software y hardware a gran escala, incluido el modelo a gran escala “Infini-Megrez”, la máquina todo en uno de software y hardware, etc.
Se entiende que “Infini-Megrez” se ha desempeñado muy bien en el manejo de textos largos, aumentando la longitud del texto que se puede procesar a un récord de 256k tokens**, y el procesamiento real de aproximadamente 400,000 palabras de todo el “Problema de tres cuerpos 3: Muerte eterna” no es un problema. Esta es la longitud de texto más larga que puede ser procesada por un modelo grande hoy en día.