T-MAC: CPU-Renaissance durch Tabellensuche für Low-Bit LLM-Bereitstellung am Edge
T-MAC: CPU Renaissance via Table Lookup for Low-Bit LLM Deployment on Edge
June 25, 2024
Autoren: Jianyu Wei, Shijie Cao, Ting Cao, Lingxiao Ma, Lei Wang, Yanyong Zhang, Mao Yang
cs.AI
Zusammenfassung
Die Bereitstellung von Large Language Models (LLMs) auf Edge-Geräten wird zunehmend wichtig, um die On-Device-Intelligenz zu verbessern. Die Gewichtsquantisierung ist entscheidend, um den Speicherbedarf von LLMs auf Geräten zu reduzieren. Niedrigbitige LLMs erfordern jedoch gemischte Präzisionsmatrixmultiplikation (mpGEMM) von Gewichten mit geringer Präzision und Aktivierungen mit hoher Präzision während der Inferenz. Bestehende Systeme, die keine native Unterstützung für mpGEMM bieten, greifen auf die Dekvantisierung von Gewichten für hochpräzise Berechnungen zurück. Ein solcher indirekter Weg kann zu erheblichen Inferenzüberlastungen führen.
In diesem Papier stellen wir T-MAC vor, eine innovative Lookup-Table(LUT)-basierte Methode, die für eine effiziente Inferenz von Low-Bit LLMs (d. h. gewichtsquantisierte LLMs) auf CPUs entwickelt wurde. T-MAC unterstützt mpGEMM direkt ohne Dekvantisierung und gleichzeitig werden Multiplikationen beseitigt und erforderliche Additionen reduziert. Speziell transformiert T-MAC die traditionelle datentypzentrierte Multiplikation in eine bitweise Tabellensuche und ermöglicht eine einheitliche und skalierbare mpGEMM-Lösung.
Unsere LUT-basierten Kerne skalieren linear mit der Gewichts-Bit-Breite. Bei der Evaluation an Low-Bit Llama- und BitNet-Modellen zeigt T-MAC eine bis zu 4-fache Steigerung der Durchsatzleistung und eine 70%ige Reduzierung des Energieverbrauchs im Vergleich zu llama.cpp. Für BitNet-b1.58-3B erreicht T-MAC eine Token-Generierungsdurchsatz von 30 Token/s mit einem Kern und 71 Token/s mit acht Kernen auf M2-Ultra, sowie 11 Token/s auf Low-End-Geräten wie dem Raspberry Pi 5, was die durchschnittliche Lesegeschwindigkeit von Erwachsenen deutlich übertrifft. T-MAC mit LUT-basierter Rechenparadigma ebnet den Weg für die praktische Bereitstellung von Low-Bit LLMs auf ressourcenbeschränkten Edge-Geräten, ohne die Recheneffizienz zu beeinträchtigen. Das System ist unter https://github.com/microsoft/T-MAC als Open-Source verfügbar.
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