T-MAC: Renascença da CPU via Pesquisa em Tabela para Implementação de LLM de Baixo Bit na Borda
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
Resumo
A implantação de Modelos de Linguagem Grandes (LLMs) em dispositivos de borda é cada vez mais importante para aprimorar a inteligência no dispositivo. A quantização de peso é crucial para reduzir a pegada de memória dos LLMs nos dispositivos. No entanto, LLMs de baixo bit exigem multiplicação de matriz de precisão mista (mpGEMM) de pesos de baixa precisão e ativações de alta precisão durante a inferência. Sistemas existentes, que não possuem suporte nativo para mpGEMM, recorrem à desquantização de pesos para computação de alta precisão. Tal abordagem indireta pode resultar em uma sobrecarga significativa na inferência.
Neste artigo, apresentamos o T-MAC, um método inovador baseado em tabela de pesquisa (LUT) projetado para inferência eficiente de LLM de baixo bit (ou seja, LLM com quantização de peso) em CPUs. O T-MAC suporta diretamente mpGEMM sem desquantização, ao mesmo tempo que elimina multiplicações e reduz as adições necessárias. Especificamente, o T-MAC transforma a multiplicação tradicional centrada no tipo de dados em pesquisa de tabela bit a bit e possibilita uma solução mpGEMM unificada e escalável.
Nossos kernels baseados em LUT escalam linearmente com a largura de bit do peso. Avaliado em modelos Llama e BitNet de baixo bit, o T-MAC demonstra um aumento de até 4 vezes na taxa de transferência e uma redução de 70% no consumo de energia em comparação com o llama.cpp. Para o BitNet-b1.58-3B, o T-MAC oferece uma taxa de geração de tokens de 30 tokens/s com um único núcleo e 71 tokens/s com oito núcleos no M2-Ultra, e 11 tokens/s em dispositivos de baixo desempenho como o Raspberry Pi 5, o que excede significativamente a velocidade média de leitura de um adulto. O T-MAC com o paradigma de computação baseado em LUT abre caminho para a implantação prática de LLMs de baixo bit em dispositivos de borda com recursos limitados sem comprometer a eficiência computacional. O sistema é de código aberto em 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.