LUT Tensor Core: Lookup Table Enables Efficient Low-Bit LLM Inference Acceleration
<|reference_start|>LUT Tensor Core: Lookup Table Enables Efficient Low-Bit LLM Inference Acceleration: As large language model (LLM) inference demands ever-greater resources, there is a rapid growing trend of using low-bit weights to shrink memory usage and boost inference efficiency. However, these low-bit LLMs introduce the need for mixed-precision matrix multiplication (mpGEMM), which is a crucial yet under-explored operation that involves multiplying lower-precision weights with higher-precision activations. Unfortunately, current hardware does not natively support mpGEMM, resulting in indirect and inefficient dequantization-based implementations.   To address the mpGEMM requirements in low-bit LLMs, we explored the lookup table (LUT)-based approach for mpGEMM. However, a conventional LUT implementation falls short of its potential. To fully harness the power of LUT-based mpGEMM, we introduce LUT Tensor Core, a software-hardware co-design optimized for low-bit LLM inference. Specifically, we introduce software-based operator fusion and table symmetrization techniques to optimize table precompute and table storage, respectively. Then, LUT Tensor Core proposes the hardware design featuring an elongated tiling shape design to enhance table reuse and a bit-serial design to support various precision combinations in mpGEMM. Moreover, we design an end-to-end compilation stack with new instructions for LUT-based mpGEMM, enabling efficient LLM compilation and optimizations. The evaluation on low-bit LLMs (e.g., BitNet, LLAMA) shows that LUT Tensor Core achieves more than a magnitude of improvements on both compute density and energy efficiency.<|reference_end|>
@article{mo2024lut,
    title={LUT Tensor Core: Lookup Table Enables Efficient Low-Bit LLM Inference
  Acceleration},
    author={Zhiwen Mo, Lei Wang, Jianyu Wei, Zhichen Zeng, Shijie Cao, Lingxiao
  Ma, Naifeng Jing, Ting Cao, Jilong Xue, Fan Yang, Mao Yang},
    journal={arXiv preprint arXiv:2408.06003},
    year={2024},
    archivePrefix={arXiv},
    eprint={2408.06003},
    primaryClass={cs.AR cs.LG}
}