noticias

Nueva tendencia en la implementación de terminales de modelos grandes: el hardware admite directamente la multiplicación de matrices mixtas

2024-08-19

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



La columna AIxiv es una columna donde Machine Heart publica contenido académico y técnico. En los últimos años, la columna Heart of the Machine AIxiv ha recibido más de 2.000 informes, que cubren los mejores laboratorios de las principales universidades y empresas de todo el mundo, promoviendo eficazmente los intercambios y la difusión académicos. Si tiene un trabajo excelente que desea compartir, no dude en contribuir o contactarnos para informarnos. Correo electrónico de envío: [email protected]; [email protected];

En el campo de la inteligencia artificial, un aumento en los parámetros del modelo a menudo significa una mejora en el rendimiento. Sin embargo, a medida que se amplía la escala del modelo, también aumentan la potencia informática y los requisitos de memoria del dispositivo terminal. La tecnología de cuantificación de bits bajos se ha convertido en una de las tecnologías clave para permitir que modelos grandes se ejecuten de manera eficiente en dispositivos con recursos limitados porque puede reducir significativamente los costos de almacenamiento e informática y mejorar la eficiencia de la inferencia. Sin embargo, si el dispositivo de hardware no soporta el modo de datos cuantificados de bits bajos, entonces no se obtendrán las ventajas de la cuantificación de bits bajos.

Para resolver este problema, Microsoft Research Asia ha lanzado un nuevo compilador de datos Ladder y el algoritmo T-MAC, que permite que el hardware que actualmente solo admite cálculos de precisión simétricos ejecute directamente la multiplicación de matrices de precisión mixta. Los resultados de las pruebas muestran que Ladder puede alcanzar una aceleración máxima de 14,6 veces al admitir tipos de datos personalizados que la GPU no admite originalmente. T-MAC permite que las aplicaciones de IA a gran escala que se ejecutan en la CPU se ejecuten en la PC Surface AI equipada con lo último; El rendimiento del modelo Qualcomm Snapdragon X Elite es dos veces más rápido que el del acelerador dedicado NPU. Además, los investigadores también diseñaron la arquitectura de hardware LUT Tensor Core. Este diseño optimizado permite que el hardware admita directamente varios cálculos de precisión mixta de bits bajos, lo que proporciona nuevas ideas para el diseño de hardware de inteligencia artificial.

Los modelos grandes se han implementado cada vez más en dispositivos finales como teléfonos inteligentes, computadoras portátiles y robots para brindar inteligencia avanzada y servicios de respuesta en tiempo real. Sin embargo, los modelos grandes que contienen cientos de millones de parámetros imponen exigencias extremadamente altas a la memoria y la potencia informática de los dispositivos terminales, lo que limita su aplicación generalizada. La tecnología de cuantificación de bits bajos puede comprimir significativamente el tamaño del modelo y reducir la demanda de recursos informáticos. Se ha convertido en un medio eficaz para implementar modelos grandes en el lado del dispositivo y lograr una inferencia eficiente.

Con el desarrollo de la tecnología de cuantificación de bits bajos, los tipos de datos se están diversificando cada vez más, como int4, int2, int1 y otros datos de bits bajos, lo que hace que los modelos grandes utilicen cada vez más la multiplicación matricial de precisión mixta de pesos de bits bajos y pesos de bits altos. cálculos en inferencia (multiplicación de matrices de precisión mixta, mpGEMM). Sin embargo, las unidades informáticas de hardware existentes, como CPU y GPU, generalmente solo admiten modos de computación simétricos y no son compatibles con esta multiplicación de matrices de precisión mixta.

¿En qué se diferencia la multiplicación de matrices de precisión mixta de la multiplicación de matrices tradicional?

En la multiplicación de matrices tradicional, los valores en ambos extremos involucrados en la operación son simétricos, como FP16*FP16, int8*int8. Pero la cuantificación de bits bajos de modelos grandes rompe esta simetría, haciendo que un extremo de la multiplicación sea de bits altos y el otro extremo de bits bajos, como int8*int1 o int8*int2 implementados en el modelo BitNet de 1 bit, y punto flotante. números multiplicación mixta con números enteros FP16*int4.

Para aprovechar al máximo las ventajas de la cuantificación de bits bajos, permitir que los dispositivos de hardware admitan directamente la multiplicación de matrices de precisión mixta y garantizar un funcionamiento eficaz y de alta velocidad de modelos grandes en dispositivos finales, se centraron los investigadores de Microsoft Research Asia. sobre los operadores informáticos de CPU y GPU existentes y la innovación en la arquitectura de hardware:

  • Se lanzó el compilador de tipos de datos Ladder, que admite la expresión y conversión mutua de varios tipos de datos de baja precisión y convierte sin pérdidas tipos de datos que no son compatibles con el hardware en instrucciones de tipos de datos compatibles con el hardware. admite cálculo de precisión mixta DNN (red neuronal profunda);
  • Se desarrolló un nuevo algoritmo T-MAC, basado en el método de tabla de búsqueda (LUT), para lograr soporte directo de hardware para la multiplicación de matrices de precisión mixta. A nivel de software, los cálculos en la CPU han logrado mejores resultados que los modos de cálculo tradicionales.
  • Se propone una nueva arquitectura de hardware, LUT Tensor Core, que abre nuevas ideas para la próxima generación de diseño de hardware de inteligencia artificial.

Ladder: conversión sin pérdidas de tipos de datos personalizados en tipos de datos compatibles con hardware

Actualmente, los aceleradores de última generación están integrando las operaciones de unidades informáticas de bits inferiores, como FP32, FP16 e incluso FP8, en arquitecturas de nueva generación. Sin embargo, limitado por el área del chip y el alto costo del hardware, cada acelerador solo puede proporcionar tipos limitados de unidades informáticas para tipos de datos estándar. Por ejemplo, la GPU NVIDIA V100 TENSOR CORE solo admite FP16, mientras que el A100 ha agregado soporte para int2, int4. , admite int8, pero no cubre formatos de datos más nuevos como FP8 u OCP-MXFP. Además, existe una brecha entre la rápida iteración de modelos grandes y el lento ritmo de las actualizaciones de hardware, lo que da como resultado que muchos tipos de datos nuevos no sean compatibles con el hardware, lo que a su vez afecta la aceleración y el funcionamiento de modelos grandes.

Los investigadores de Microsoft Research Asia descubrieron que aunque el acelerador de hardware carece de instrucciones informáticas para tipos de datos personalizados, su sistema de memoria puede convertirlos en bloques de datos opacos de ancho fijo para almacenar tipos de datos arbitrarios. Al mismo tiempo, la mayoría de los tipos de datos personalizados se pueden convertir sin pérdidas a tipos de datos estándar de bits superiores compatibles con las unidades informáticas de hardware existentes. Por ejemplo, los tensores NF4 se pueden convertir a FP16 o FP32 para realizar operaciones de punto flotante.

Con base en estos hallazgos, los investigadores propusieron unUn método para admitir todos los tipos de datos personalizados mediante la separación del almacenamiento y el cálculo de datos, y desarrolló el compilador de datos Ladder para cerrar la brecha entre los tipos de datos personalizados emergentes y los formatos de precisión inherentes admitidos por el hardware actual.

Ladder define un sistema de tipos de datos, incluidas abstracciones para la conversión sin pérdidas entre tipos de datos. Puede representar varios tipos de datos compatibles con algoritmos y hardware, y define reglas de conversión entre tipos de datos. Cuando se trata de aplicaciones de algoritmos de bits bajos, Ladder traduce datos de bits bajos al formato de ejecución más eficiente en el hardware actual a través de una serie de optimizaciones, incluida la optimización de la computación y el almacenamiento, asignando el algoritmo a instrucciones informáticas coincidentes y datos en diferentes formatos. se almacenan en diferentes niveles de unidades de almacenamiento para lograr las operaciones más eficientes.



Figura 1: Arquitectura del sistema de escalera

La evaluación del rendimiento de inferencia de DNN que se ejecuta en las GPU NVIDIA A100, NVIDIA V100, NVIDIA RTX A6000, NVIDIA RTX 4090 y AMD Instinct MI250 muestra que Ladder supera a los compiladores DNN de última generación existentes en cuanto a soporte nativo para tipos de datos y GPU. bien en tipos de datos personalizados que no eran compatibles originalmente, con una aceleración máxima de hasta 14,6 veces.

Ladder es el primer sistema que admite sistemáticamente la representación de datos de precisión de bits bajos en tipos de datos personalizados cuando se ejecutan DNN en aceleradores de hardware modernos.Esto proporciona a los investigadores de modelos un método de optimización de tipos de datos más flexible y también permite a los desarrolladores de arquitectura de hardware admitir una gama más amplia de tipos de datos sin cambiar el hardware.

T-MAC: Cálculo universal de multiplicación de matrices de precisión mixta y bits bajos sin multiplicación

Para permitir que los dispositivos de hardware existentes admitan diferentes modos de datos y multiplicación de matrices de precisión mixta, al implementar modelos grandes en el lado final, un enfoque común es cuantificar inversamente el modelo de bits bajos. Sin embargo, este enfoque tiene dos problemas principales: en primer lugar, desde una perspectiva de rendimiento, la sobrecarga de conversión en el proceso de descuantización puede compensar la mejora del rendimiento aportada por la cuantificación de bits bajos; en segundo lugar, desde una perspectiva de desarrollo, los desarrolladores deben centrarse en diferentes rediseños; Diseño de datos y núcleo de cálculo para una precisión mixta. Los investigadores de Microsoft Research Asia creen que la clave para implementar grandes modelos cuantificados de bits bajos en dispositivos radica en cómo romper con la implementación de la multiplicación de matrices tradicional basada en características de bits bajos.

Para ello, los investigadores han propuesto desde los niveles del sistema y del algoritmoT-MAC, un método basado en una tabla de búsqueda (LUT, Look-Up Table), ayuda a los modelos grandes con cuantificación de bits bajos a lograr una inferencia eficiente en la CPU.La idea central de T-MAC es aprovechar la característica de que un extremo de la multiplicación de matrices de precisión mixta tiene bits muy bajos (como 1 bit o 2 bits). Sus resultados de salida son solo 2 elevado a 1 y 2 elevado a 2. Estos resultados de salida más pequeños se pueden calcular de antemano y almacenarse en la tabla. Durante la operación, los resultados solo deben leerse de la tabla, evitando así. La necesidad de cálculos repetidos reduce en gran medida el número de operaciones de multiplicación y suma.

Específicamente,T-MAC transforma la multiplicación tradicional centrada en tipos de datos en operaciones de tablas de búsqueda basadas en bits, lo que permite una solución de multiplicación de matrices de precisión mixta unificada y escalable que reduce el tamaño de la tabla y lo mantiene al mínimo en unidades de memoria rápidas, el costo del acceso aleatorio. las tablas se reducen.Esta innovación allana el camino para implementar grandes modelos cuantificados de bits bajos en dispositivos de borde con recursos limitados.



Figura 2: diagrama esquemático de T-MAC

En pruebas contra modelos de lenguaje grande Llama cuantificados de bits bajos y BitNet de 1 bit, T-MAC demostró importantes ventajas de rendimiento. En Surface Laptop 7 equipado con el último Qualcomm Snapdragon, la velocidad de generación del modelo Llama 7B de 4 bits puede alcanzar 20 tokens por segundo, que es mucho más rápido que la velocidad de lectura humana promedio. En comparación con el marco Llama.cpp original, es de 4 a 5 veces más rápido e incluso el doble que el acelerador NPU dedicado.

Incluso en dispositivos de menor rendimiento como Raspberry Pi 5, T-MAC permite que el modelo 3B BitNet-b1.58 alcance una tasa de generación de 11 tokens por segundo. T-MAC también tiene importantes ventajas energéticas, ya que logra las mismas tasas de generación en dispositivos con recursos limitados y requiere solo entre 1/4 y 1/6 del número de núcleos del Llama.cpp original.

Estos resultados muestran que T-MAC proporciona una solución práctica que hace que sea más eficiente implementar modelos de lenguaje grandes en dispositivos de borde utilizando CPU de uso general sin depender de GPU, lo que permite implementar modelos grandes en dispositivos con recursos limitados y, por lo tanto, ejecutarlos de manera eficiente. promover la aplicación de grandes modelos en una gama más amplia de escenarios.

LUT Tensor Core: impulsando aceleradores de hardware de próxima generación con soporte nativo para la multiplicación de matrices de precisión mixta

Tanto T-MAC como Ladder implementan soporte optimizado para la multiplicación de matrices de precisión mixta en arquitecturas de CPU y GPU existentes. Aunque estas innovaciones a nivel de software han mejorado significativamente la eficiencia computacional, todavía no son tan eficientes como los aceleradores de hardware que pueden implementar directamente una tabla de búsqueda especializada. Los investigadores creen que el enfoque más ideal es rediseñar los aceleradores de hardware para que las CPU, GPU, etc. puedan admitir de forma nativa la multiplicación de matrices de precisión mixta. Sin embargo, este objetivo enfrenta tres desafíos principales:

  • Eficiencia: El diseño y la implementación deben ser rentables, maximizando la eficiencia computacional de datos de bits bajos optimizando el área de utilización del chip.
  • Flexibilidad: dado que diferentes modelos y escenarios requieren diferentes pesos y precisiones de activación, el diseño de multiplicación de matrices de precisión mixta en hardware debe poder manejar varias precisiones de peso (como int4/2/1) y precisiones de activación (como FP16/8, int8) y sus combinaciones.
  • Compatibilidad: los nuevos diseños deben integrarse perfectamente con la arquitectura de GPU y los ecosistemas de software existentes para acelerar la adopción de nuevas tecnologías.

Para abordar estos desafíos, los investigadores de Microsoft Research Asia diseñaronLUT Tensor Core, una microarquitectura GPU Tensor Core que utiliza tablas de búsqueda para realizar directamente la multiplicación de matrices de precisión mixta.Por un lado, el diseño basado en la tabla de búsqueda simplifica la operación de multiplicación en una operación de cálculo previo de la tabla, y los resultados se pueden buscar directamente en la tabla para mejorar la eficiencia del cálculo. Por otro lado, este enfoque también simplifica los requisitos de hardware. Solo requiere registros para el almacenamiento de tablas y multiplexores para las búsquedas, sin necesidad de multiplicadores ni sumadores. Al mismo tiempo, LUT Tensor Core logra flexibilidad en la precisión del peso a través del diseño de bits en serie y utiliza la cuantificación de tablas para lograr flexibilidad en la precisión de la activación.

Además, para integrarse con la microarquitectura y la pila de software de la GPU existente, los investigadores ampliaron el conjunto de instrucciones MMA existente en la GPU, agregaron un conjunto de instrucciones LMMA y diseñaron una pila de software similar a cuBLAS para la integración en las GPU existentes. algunos marcos DNN. Los investigadores también diseñaron un compilador para la planificación de la ejecución de un extremo a otro en GPU con LUT Tensor Cores. Estos enfoques innovadores permiten una adopción rápida y fluida de LUT Tensor Cores.



Figura 3: Descripción general de la microarquitectura LUT Tensor Core

Las pruebas en los modelos Llama y BitNet muestran que LUT Tensor Core puede proporcionar hasta 6,93 veces la velocidad de inferencia y solo representa el 38,7% del área del Tensor Core tradicional. Con casi la misma precisión del modelo, esto equivale a 20,7 veces la densidad informática y 19,1 veces la mejora de la eficiencia energética. A medida que la escala y la complejidad de los grandes modelos de inteligencia artificial continúan creciendo, LUT Tensor Core ayuda a liberar aún más el potencial de los grandes modelos de lenguaje de bits bajos y promover la aplicación de la inteligencia artificial en nuevos escenarios.

"El método de la tabla de búsqueda ha provocado un cambio en el paradigma informático. En el pasado, dependíamos de operaciones de acumulación y multiplicación de matrices, pero en la era de los modelos grandes, gracias a la tecnología de cuantificación de bits bajos, la tabla de búsqueda El método se volverá común en comparación con la aritmética tradicional de punto flotante o la multiplicación de matrices, el método de tabla de búsqueda es más liviano y eficiente en el cálculo y es más fácil de expandir a nivel de hardware. Puede lograr una mayor densidad de transistores y proporcionar un mayor rendimiento por unidad. área de chips, promoviendo así el desarrollo de la arquitectura de hardware", dijo Cao Ting, investigador jefe de Microsoft Research Asia.

El efecto de cola larga de la cuantificación de bits bajos: brindando nuevas posibilidades a la inteligencia incorporada

La tecnología de cuantificación de bits bajos no solo optimiza la eficiencia de ejecución de modelos grandes en dispositivos finales, sino que también proporciona nuevo espacio para la expansión de parámetros del modelo (escalado) al reducir el "volumen" de un solo parámetro. Esta capacidad de expansión de parámetros le da al modelo una mayor flexibilidad y capacidades expresivas. Como lo muestra el modelo BitNet, comienza desde un modelo de bits bajos y se expande gradualmente hacia un entrenamiento a mayor escala.

Las tecnologías innovadoras de Microsoft Research Asia, como T-MAC, Ladder y LUT Tensor Core, brindan soluciones operativas de alto rendimiento para varios modelos grandes cuantificados de bits bajos, lo que permite que estos modelos se ejecuten de manera eficiente en varios dispositivos y promueve la investigación científica. Diseñe y optimice modelos grandes. desde una perspectiva de bajo nivel. Algunas de estas tecnologías ya están desempeñando un papel en grandes modelos de búsqueda, como la búsqueda Bing de Microsoft y su negocio de publicidad.Con la reducción de la memoria y los recursos informáticos, también será posible implementar grandes modelos de bits bajos en sistemas inteligentes incorporados, como robots, lo que permitirá que estos dispositivos logren mejor la percepción dinámica y la interacción en tiempo real con el entorno.

Actualmente, T-MAC y Ladder son de código abierto en GitHub. Los desarrolladores relevantes pueden probar las aplicaciones y explorar más posibilidades de la tecnología de inteligencia artificial con Microsoft Research Asia.

  • Enlace al documento de escalera: https://www.usenix.org/conference/osdi24/presentation/wang-lei
  • Enlace BitBLAS/Ladder GitHub: https://github.com/microsoft/BitBLAS
  • Enlace del artículo T-MAC: https://arxiv.org/abs/2407.00088
  • Enlace de T-MAC GitHub: https://github.com/microsoft/T-MAC
  • Enlace del documento LUT Tensor Core: https://arxiv.org/abs/2408.06003
  • Enlace del artículo de BitDistiller: https://arxiv.org/abs/2402.10631
  • Enlace de BitDistiller GitHub: https://github.com/DD-DuDa/BitDistiller