T-MAC: Renacimiento de la CPU mediante búsqueda en tablas para el despliegue de LLM de bajo bit en dispositivos de borde
T-MAC: CPU Renaissance via Table Lookup for Low-Bit LLM Deployment on Edge
June 25, 2024
Autores: Jianyu Wei, Shijie Cao, Ting Cao, Lingxiao Ma, Lei Wang, Yanyong Zhang, Mao Yang
cs.AI
Resumen
El despliegue de Modelos de Lenguaje de Gran Escala (LLMs, por sus siglas en inglés) en dispositivos de borde es cada vez más importante para mejorar la inteligencia en el dispositivo. La cuantización de pesos es crucial para reducir la huella de memoria de los LLMs en los dispositivos. Sin embargo, los LLMs de baja precisión requieren multiplicaciones matriciales de precisión mixta (mpGEMM) entre pesos de baja precisión y activaciones de alta precisión durante la inferencia. Los sistemas existentes, al carecer de soporte nativo para mpGEMM, recurren a desuantizar los pesos para realizar cálculos de alta precisión. Este enfoque indirecto puede generar una sobrecarga significativa en la inferencia.
En este artículo, presentamos T-MAC, un método innovador basado en tablas de búsqueda (LUT, por sus siglas en inglés) diseñado para una inferencia eficiente de LLMs de baja precisión (es decir, LLMs con pesos cuantizados) en CPUs. T-MAC soporta directamente mpGEMM sin desuantización, al mismo tiempo que elimina multiplicaciones y reduce las sumas necesarias. Específicamente, T-MAC transforma la multiplicación tradicional centrada en el tipo de datos en una búsqueda en tablas a nivel de bits, y permite una solución unificada y escalable para mpGEMM.
Nuestros núcleos basados en LUT escalan linealmente con el ancho de bits de los pesos. Evaluado en modelos de baja precisión como Llama y BitNet, T-MAC demuestra un aumento de hasta 4x en el rendimiento y una reducción del 70% en el consumo de energía en comparación con llama.cpp. Para BitNet-b1.58-3B, T-MAC ofrece un rendimiento de generación de tokens de 30 tokens/s con un solo núcleo y 71 tokens/s con ocho núcleos en M2-Ultra, y 11 tokens/s en dispositivos de gama baja como Raspberry Pi 5, lo que supera significativamente la velocidad promedio de lectura de un adulto. T-MAC, con su paradigma de computación basado en LUT, allana el camino para el despliegue práctico de LLMs de baja precisión en dispositivos de borde con recursos limitados sin comprometer la eficiencia computacional. El sistema es de código abierto en https://github.com/microsoft/T-MAC.
English
The deployment of Large Language Models (LLMs) on edge devices is
increasingly important to enhance on-device intelligence. Weight quantization
is crucial for reducing the memory footprint of LLMs on devices. However,
low-bit LLMs necessitate mixed precision matrix multiplication (mpGEMM) of low
precision weights and high precision activations during inference. Existing
systems, lacking native support for mpGEMM, resort to dequantize weights for
high precision computation. Such an indirect way can lead to a significant
inference overhead.
In this paper, we introduce T-MAC, an innovative lookup table(LUT)-based
method designed for efficient low-bit LLM (i.e., weight-quantized LLM)
inference on CPUs. T-MAC directly supports mpGEMM without dequantization, while
simultaneously eliminating multiplications and reducing additions required.
Specifically, T-MAC transforms the traditional data-type-centric multiplication
to bit-wise table lookup, and enables a unified and scalable mpGEMM solution.
Our LUT-based kernels scale linearly to the weight bit-width. Evaluated on
low-bit Llama and BitNet models, T-MAC demonstrates up to 4x increase in
throughput and 70% reduction in energy consumption compared to llama.cpp. For
BitNet-b1.58-3B, T-MAC delivers a token generation throughput of 30 tokens/s
with a single core and 71 tokens/s with eight cores on M2-Ultra, and 11
tokens/s on lower-end devices like Raspberry Pi 5, which significantly exceeds
the adult average reading speed. T-MAC with LUT-based computing paradigm, paves
the way for the practical deployment of low-bit LLMs on resource-constrained
edge devices without compromising computational efficiency. The system is
open-sourced at https://github.com/microsoft/T-MAC.Summary
AI-Generated Summary