Back to blog

LiquidGEMM: Hardware-Efficient W4A8 GEMM Kernel for High-Performance LLM Serving

硬件高效的W4A8 GEMM内核,实现2.90倍加速和4.94倍系统级加速

LiquidGEMM: Hardware-Efficient W4A8 GEMM Kernel for High-Performance LLM Serving

一、论文概述

项目内容
标题LiquidGEMM: Hardware-Efficient W4A8 GEMM Kernel for High-Performance LLM Serving
作者Huanqi Hu, Bowen Xiao, Shixuan Sun, Jianian Yin, Zhexi Zhang, Xiang Luo, Chengquan Jiang, Weiqi Xu, Xiaoying Jia, Xin Liu, Minyi Guo
论文arXiv:2509.01229
发布2025年9月1日
领域cs.DC, cs.AI, cs.LG
页数12页,13张图

二、核心思想

问题定义

量化是通过减少内存占用和提高计算效率来加速LLM推理的关键技术。在各种量化方案中,4-bit权重和8-bit激活量化(W4A8)在精度和性能之间提供了强大的平衡。然而,现有的W4A8 GEMM内核在实践中表现不佳,原因在于CUDA Core上的低效反量化无法跟上Tensor Core的高吞吐量。

具体问题:

  • QServe等现有W4A8实现在小批量(batch size ≤ 64)下与W8A8性能相当
  • 在大批量(batch size ≥ 128)下反而比W8A8慢2倍
  • 甚至不如FP16和W4A16等无量化的方案
  • 这与理论roofline分析的预期完全相反

解决方案概述

本文提出LiquidGEMM,一种硬件高效的W4A8 GEMM内核,包含两个关键技术:

  1. LiquidQuant (LQQ):一种硬件高效的量化方法,仅需两条算术指令即可处理四个元素的快速、无溢出反量化
  2. 隐式细粒度流水线(ImFP):在warp组之间完全重叠权重加载、反量化和MMA,无需软件同步或冗余内存流量

核心成果:

  • 相比SOTA W4A8内核加速2.90倍
  • 端到端系统级加速4.94倍
  • 相比TensorRT-LLM的各种量化GEMM内核(W4A16, W8A8, FP8)性能提升1.12-1.63倍
  • 系统级加速最高1.63倍

三、技术架构

整体框架图

Roofline分析

Figure 1: NVIDIA A100和H100 GPU的关键性能指标,以及LLM服务中GEMM层的roofline分析。

核心公式

量化基础

标准量化公式: Q=⌊Ws+z⌉,s=max⁡(W)−min⁡(W)max⁡(Q)−min⁡(Q),z=⌊min⁡(Q)−min⁡(W)s⌉Q = \lfloor \frac{W}{s} + z \rceil, \quad s = \frac{\max(W) - \min(W)}{\max(Q) - \min(Q)}, \quad z = \lfloor \frac{\min(Q) - \min(W)}{s} \rceil

反量化公式: W^=(Q−z)⋅s\hat{W} = (Q - z) \cdot s

LiquidQuant量化

两级量化框架:

第一级:FP16 → INT8(使用per-channel缩放) Qi8∈[−119,119]Q_{i8} \in [-119, 119]

第二级:INT8 → UINT4(关键创新) Qu8=Qi8−min⁡(Qi8),Qu4=⌊Qu8su8⌉,su8=max⁡(Qu8)max⁡(Qu4)Q_{u8} = Q_{i8} - \min(Q_{i8}), \quad Q_{u4} = \lfloor \frac{Q_{u8}}{s_{u8}} \rceil, \quad s_{u8} = \frac{\max(Q_{u8})}{\max(Q_{u4})}

LiquidQuant反量化(核心创新):

Q^i8=(Qu4⋅su8+a)⊕0x80\hat{Q}_{i8} = (Q_{u4} \cdot s_{u8} + a) \oplus 0x80

其中 a=27+min⁡(Qi8)a = 2^7 + \min(Q_{i8}) 离线预计算,⊕\oplus 表示XOR操作。

关键优势:

  • 所有中间值保持在UINT8范围内,避免溢出
  • 仅需IMAD和XOR两条指令处理4个元素
  • 完全由硬件原生支持

成本模型

单次迭代时间: TCOMP=α⋅Nt⋅KtϕCUDA+2⋅min⁡(Mt,M)⋅Nt⋅KtϕTCyT_{COMP} = \alpha \cdot \frac{N_t \cdot K_t}{\phi_{CUDA}} + \frac{2 \cdot \min(M_t, M) \cdot N_t \cdot K_t}{\phi_{TC}^y}

GPU级执行时间: T=⌈MMt⌉⋅max⁡(N⋅KΦBDx⏟TLD,α⋅N⋅KΦCUDA⏟TDQ+min⁡(Mt,M)⋅2⋅N⋅KΦTCy⏟TMMA)T = \lceil \frac{M}{M_t} \rceil \cdot \max\left(\underbrace{\frac{N \cdot K}{\Phi_{BD}^x}}_{T_{LD}}, \underbrace{\frac{\alpha \cdot N \cdot K}{\Phi_{CUDA}}}_{T_{DQ}} + \underbrace{\frac{\min(M_t, M) \cdot 2 \cdot N \cdot K}{\Phi_{TC}^y}}_{T_{MMA}}\right)

关键约束:为匹配权重加载延迟,每元素指令成本需满足 α≤5.07\alpha \leq 5.07(H100)

模型组件

组件说明关键参数
LiquidQuant (LQQ)硬件高效的两级量化方案INT8→UINT4,仅需IMAD+XOR
隐式细粒度流水线(ImFP)单生产者-多消费者执行模型跨warp组重叠加载/反量化/MMA
Dual-MMA打包布局优化的权重内存布局减少内存访问开销
TMA异步加载Tensor Memory Accelerator异步权重传输到SMEM

流水线设计

流水线对比

Figure 6: 显式粗粒度流水线(ExCP)和隐式细粒度流水线(ImFP)设计对比。

显式粗粒度流水线(ExCP)的问题

传统的warp specialization方法将warps分为Load Warps和MMA Warps:

  • 反量化需要在RF和SMEM之间往返数据移动
  • 需要昂贵的warp间同步
  • 导致流水线气泡和效率降低

隐式细粒度流水线(ImFP)设计

单生产者-多消费者模型:

  1. 专用Load WG将权重从GMEM传输到SMEM
  2. GEMM工作负载被划分为细粒度任务
  3. 多个Compute WG以抢占式方式动态消费任务
  4. 每个Compute WG立即对其反量化的权重执行MMA
  5. 任务调度由硬件管理,避免软件同步开销

关键优势:

  • 消除SMEM和RF之间的往返数据移动
  • 反量化和MMA在并发执行的Compute WG之间重叠
  • 无软件同步开销

量化溢出分析

反量化过程

Figure 8: 使用bitwise和IMAD指令的反量化过程,由硬件原生支持。

QServe的溢出问题:

  • 直接从INT8量化到UINT4导致反量化时溢出
  • 需要使用vadd指令(非原生硬件指令)
  • vadd被降低为十几个低级操作
  • 在LLaMA2-7B FFN层中,vadd相关的减法导致21%的warp stalls

LiquidQuant的解决方案:

  • 使用旋转式变换将INT8值移入UINT8范围
  • 利用二进制补码表示的性质
  • 在UINT8域内恢复原始INT8值,无溢出
  • 仅需两条32位硬件指令:IMAD和XOR

数据布局优化

内存布局对比

Figure 7: 传统内存布局和Dual-MMA打包布局对比。

Dual-MMA打包布局:

  • 优化权重在SMEM中的存储方式
  • 减少内存访问开销
  • 提高Tensor Core利用率

训练流程

LiquidGEMM采用离线量化方案:

  • 第一级量化(INT8)在离线完成
  • 第二级量化(UINT4)也在离线完成
  • 在线推理仅需执行反量化
  • 支持per-group量化策略

四、核心创新

创新点说明理论/实验依据
LiquidQuant (LQQ)硬件高效的W4A8量化方案,仅需2条指令处理4元素消除vadd导致的21% warp stalls
溢出消除利用二进制补码性质,所有中间值在UINT8范围内数学证明无溢出
隐式细粒度流水线单生产者-多消费者模型,硬件调度消除软件同步开销
Dual-MMA打包布局优化SMEM中权重存储减少内存访问开销
Y = (WX^T)^T计算改变计算顺序优化性能提高硬件利用率

与QServe对比

特性QServeLiquidGEMM
反量化指令数数十条(vadd)2条(IMAD+XOR)
溢出处理渐进量化+减法后乘法旋转式变换+XOR
流水线设计显式粗粒度隐式细粒度
硬件利用率低(CUDA Core瓶颈)高(完全重叠)

五、实验结果

基准测试

实验环境:

  • GPU:NVIDIA H800
  • 模型:LLaMA2-7B, LLaMA2-13B, LLaMA2-70B, LLaMA3-8B, Mistral-7B, Mixtral-8×7B
  • 基线:QServe (W4A8), TensorRT-LLM (W4A16, W8A8, FP8)

GEMM内核性能

对比方法加速比
vs QServe (W4A8)2.90×
vs TRT-W4A161.12-1.63×
vs TRT-W8A81.12-1.63×
vs TRT-FP81.12-1.63×

系统级性能

对比方法系统级加速
vs QServe4.94×
vs TensorRT-LLM1.63×

消融实验

消融实验

Figure 13: LiquidGEMM消融研究,首先启用LQQ,然后使用显式粗粒度流水线(ExCP)或隐式细粒度流水线(ImFP)。

消融结果:

  1. LQQ单独:相比基线有显著提升
  2. LQQ + ExCP:进一步提升,但受限于流水线开销
  3. LQQ + ImFP:最优性能,完全重叠反量化开销

推理时间分解

  • GEMM在小批量下主导延迟
  • 在大批量长序列下仍占总延迟的20%以上
  • 对于Mixtral-8×7B,GEMM在所有测试用例中是主要延迟贡献者

六、相关工作

W4A8量化

  • QServe (Lin et al., 2024b):SOTA W4A8实现,但存在溢出问题
  • QQQ (Zhang et al., 2024):另一种W4A8方案,性能不如QServe
  • Atom (Zhao et al., 2024):W4A4方案,在H800上较慢

其他量化方案

  • W8A8:对称GEMM,无需主循环反量化
  • W4A16:权重4-bit,激活16-bit
  • FP8:8-bit浮点,TensorRT-LLM支持

GEMM优化

  • CUTLASS:NVIDIA的高性能GEMM库
  • FlashAttention:高效注意力计算
  • PagedAttention:KV cache管理

七、总结

核心贡献

  1. 深入分析W4A8 GEMM执行流水线:识别关键性能瓶颈
  2. LiquidGEMM:高性能W4A8 GEMM内核,优化LLM服务
  3. LiquidQuant:硬件高效量化算法,最小化GPU反量化开销
  4. 隐式细粒度流水线:通过高效流水线执行最大化硬件利用率
  5. 端到端LLM服务系统:基于开源组件构建的完整评估系统

技术影响

  • 填补理论与实践差距:使W4A8实际性能匹配roofline分析预期
  • 生产部署:已部署为主要GEMM内核
  • 硬件趋势适配:随着Tensor Core性能提升,W4A8价值更大
  • 通用性:优化适用于其他架构和任务

局限性

  1. 硬件依赖:针对NVIDIA Hopper GPU优化
  2. 量化范围限制:INT8值限制在[-119, 119]
  3. 模型支持:主要在LLaMA系列模型上验证

未来工作

  1. 改进融合GEMM+反量化内核,支持完全向量化的16字节加载
  2. 探索分布式推理以部署更大规模模型
  3. 扩展到更多模型架构

八、参考资源

引用

@article{hu2025liquidgemm,
  title={LiquidGEMM: Hardware-Efficient W4A8 GEMM Kernel for High-Performance LLM Serving},
  author={Hu, Huanqi and Xiao, Bowen and Sun, Shixuan and Yin, Jianian and Zhang, Zhexi and Luo, Xiang and Jiang, Chengquan and Xu, Weiqi and Jia, Xiaoying and Liu, Xin and Guo, Minyi},
  journal={arXiv preprint arXiv:2509.01229},
  year={2025}
}