ELUT

分类: 高效推理与部署

ELUT

定义

Extended Look-Up Table,扩展查找表,是 Bitnet.cpp 提出的用于加速三值/低比特 LLM 边端推理的 mpGEMM 内核技术,通过预计算所有可能的部分和并存入查找表来替代实时乘法运算。

数学形式

yj=kxkwkjgLUTg[index(xg,wg)]y_j = \sum_{k} x_k \cdot w_{kj} \approx \sum_{g} \text{LUT}_g[\text{index}(x_g, w_g)]

其中 gg 为分组索引,每组预计算所有可能的部分积之和存入 LUT。

核心要点

基于 SIMD 指令:利用 ARM NEON / x86 AVX2 向量化指令并行查表

两种推理模式

  • Fast Edge Inference:速度优先,可能有轻微精度损失
  • Lossless Edge Inference:质量无损,通过更精确的 LUT 索引保证精度

适用范围:主要针对 2-bit 以上量化,1-bit 时 LUT 较小效果显著,更高 bit 时 LUT 可能爆炸

LUT 大小问题:当 weight 分组维度增大时,LUT 大小指数级增长,是工程 blocker

代表工作

Bitnet.cpp: ELUT 的提出论文,专为 BitNet b1.58 设计

相关概念

mpGEMM

BitNet