mpGEMM

分类: 高效推理与部署

mpGEMM

定义

Mixed-Precision General Matrix Multiply,混合精度矩阵乘法。在量化 LLM 推理中,权重以低精度(如 INT1/INT2/INT3)存储,激活以高精度(如 FP16/BF16)计算,两者之间的矩阵乘法即为 mpGEMM。

数学形式

Y=Xfp16Wint反量化Xfp16W^fp16Y = X_{fp16} \cdot W_{int} \xrightarrow{\text{反量化}} X_{fp16} \cdot \hat{W}_{fp16}

核心挑战:低精度权重无法直接用标准 GEMM 内核,需要专用实现。

核心要点

三种实现路线(Bitnet.cpp 分类):

  1. MAD-based:先反量化权重为 fp16,再做标准 GEMM(内存带宽浪费大)
  2. Bit-Wise:逐位操作实现,适合 1-bit 权重
  3. LUT-based:预计算查找表,适合 2-bit 以上量化(ELUT 属于此类)

对于三值权重(-1/0/+1),mpGEMM 是边端 LLM 推理的核心瓶颈

ARM/x86 的 SIMD 指令集是加速 mpGEMM 的关键平台

代表工作

Bitnet.cpp: 系统性分析 mpGEMM 并提出 ELUT 加速

T-MAC: 基于 memory 方向的 mpGEMM 优化

TQ1_0: 基于 compute 方向的 mpGEMM 优化

相关概念

ELUT

BitNet

混合精度