ZipServ: Fast and Memory-Efficient LLM Inference with Hardware-Aware Lossless Compression

原文链接: arXiv:2603.17435 PDF

发表会议: ASPLOS ‘26 (CCF A 类体系结构顶会)

作者单位: 香港科技大学 (广州)、哈尔滨工业大学 (深圳)

摘要

无损模型压缩为缓解大语言模型 (LLM) 服务中的内存和带宽瓶颈带来了巨大希望。然而,现有方法由于与 GPU 架构的根本性设计不匹配,往往导致显著的推理减速:在内核级别,传统熵编解码器产生的可变长度比特流破坏了 SIMT 并行性;在系统级别,解耦的流水线导致冗余的内存流量。

本文介绍了 ZipServ,这是一个为高效 LLM 推理协同设计的无损压缩框架。ZipServ 引入了 Tensor-Core-Aware Triple Bitmap Encoding (TCA-TBE),这是一种新颖的固定长度格式,支持常数时间并行解码,以及融合的解压缩-GEMM 内核 (ZipGEMM),可直接将权重解压到 Tensor Core 寄存器中。

实验表明,ZipServ 将模型大小减少高达 30%,在内核级别相比 NVIDIA cuBLAS 实现高达 2.21× 的加速,相比 vLLM 端到端推理平均加速 1.22×。ZipServ 是第一个在 GPU 上同时提供存储节省和显著加速的无损压缩系统。

1. 问题定义

1.1 LLM 部署的内存瓶颈

大语言模型 (如 GPT-4、LLaMA-3、Qwen-3) 的巨大规模带来了显著的部署挑战,使得 GPU 内存和内存带宽成为 LLM 服务的主要瓶颈,尤其是在资源受限的环境中。

“Model compression offers a promising solution for efficient LLM deployment.”

现有的模型压缩方法大多是有损的,通过量化 (如 GPTQ、AWQ) 或剪枝 (如 SparseGPT) 来近似模型权重。然而,这种近似可能导致精度损失:

  • 激进的 4-bit 量化 (如 MXFP4) 在 LiveCodeBench 上将准确率从 56.0% 降至 36.2%
  • 即使是稳健的 int8 量化 (GPTQ-int8) 在长上下文推理 (NOCHA) 中也可能造成高达 11.1% 的损失

这些风险在安全关键和用户-facing 的场景中破坏了可靠性,促使人们寻求能够保证位精确可重现性和数值完整性的方法。

1.2 无损压缩的困境

无损压缩提供了一种有吸引力的替代方案,可以在不损失精度的情况下提供位精确的模型表示。然而,当集成到服务流水线中时,现有的无损技术会产生显著的运行时开销。

如图所示,解耦的解压缩步骤本身花费的时间是核心推理计算的 1.56–3.44 倍。这种开销迫使人们在内存效率和运行时效率之间做出不愉快的权衡。

2. 方法框架

ZipServ 的关键观察是:LLM 中 BFloat16 权重的指数位呈现出高度偏斜、低熵的分布。利用这种统计冗余,ZipServ 提出了两个核心创新:

2.1 Tensor-Core-Aware Triple Bitmap Encoding (TCA-TBE)

“We propose Tensor-Core-Aware Triple Bitmap Encoding (TCA-TBE), a fixed-length, bitmap-based weight format tailored to GPU architectures.”

核心思想

  • 分析发现,LLM 权重中 top-3 最常见的指数占所有权重的 67% 以上,top-7 指数覆盖超过 95%
  • 在 99.6% 的权重矩阵中,top-7 最频繁的指数形成数值连续序列
  • TCA-TBE 使用 3-bit 固定长度编码表示 8 种可能状态 (000-111)
  • 将 3-bit 码字分解为三个独立的 64-bit 位图,每个位图代表一个位平面

技术优势

  • ✅ 保证合并的内存访问 (每个位图是连续的 64-bit 字)
  • ✅ 实现无分支解码 (warp 中的所有线程遵循相同的执行路径)
  • ✅ 与 Tensor Core tiling 和对齐寄存器级操作数分布

2.2 融合的 ZipGEMM 内核

“ZipServ devises a fused decompression-GEMM kernel (ZipGEMM) that performs on-the-fly decoding, delivering compressed weights directly into the register files that feed Tensor Core matrix multiplication units.”

“load-compressed, compute-decompressed”设计

  • 从 DRAM 直接获取压缩权重
  • 在寄存器文件中即时解压
  • 消除中间缓冲区,减少数据传输
  • 最大化计算和内存访问的重叠

两级流水线设计

  1. 粗粒度:tile-wise 双缓冲,重叠全局到共享内存的传输与计算
  2. 细粒度:slice-wise 交错,重叠共享到寄存器的移动和解压与 Tensor Core 操作

2.3 阶段感知的推理策略

ZipServ 根据推理阶段采用不同的执行策略:

阶段 特点 策略
Prefill 计算密集型,大矩阵维度 解耦流水线:先解压到全局内存,再执行高吞吐量 GEMM
Decode 内存密集型,单 token 生成 融合 ZipGEMM 内核:即时解压到 Tensor Core 寄存器

3. 核心模块

3.1 离线压缩器

算法流程

  1. 全局指数分析:计算每层权重的指数直方图,识别 top-7 连续指数窗口
  2. Tile 编码:将每个 8×8 的权重 tile 转换为三个 64-bit 位图和两个紧凑值缓冲区
  3. 层次化 Tile 设计
    • FragTile (FT): 8×8 tile,匹配 Tensor Core 指令的最小操作数片段
    • TensorCoreTile (TT): 16×16 tile,对齐 PTX 级 Tensor Core mma 指令
    • BlockTile (BT): 64×64 tile,由线程块协作处理

3.2 在线推理引擎

即时解码器

  • 空间位图指示器:通过 warp 级按位 OR 组合三个位图,生成 64-bit 指示器掩码
  • 动态寻址:通过 warp 级前缀和计算读取偏移量,无需显式的每元素索引
  • 快速指数重组:使用算术重映射进行隐式查找,避免基于表的解码

“This arithmetic decoding process is fully SIMT-compatible, exploits the GPU’s integer pipelines.”

4. 实验设置

4.1 硬件平台

平台 GPU CPU 内存
消费级 4× NVIDIA RTX4090 (Ada, 24GB) Intel Xeon Platinum 8352V (144 核) 512GB DDR4
数据中心 4× NVIDIA L40S (Ada, 48GB) Intel Xeon Gold 6230R (104 核) 512GB DDR4
新一代 NVIDIA RTX5090 (Blackwell, 32GB) - -

4.2 模型与基线

评估模型

  • LLaMA3.1 (8B, 70B, 405B)
  • Qwen2.5 (7B, 14B, 32B, 72B)
  • Gemma3 (12B, 27B)
  • Mistral (24B, 123B)

对比基线

  1. cuBLAS_TC v12.4.5: NVIDIA 官方 BF16 Tensor Core GEMM 内核
  2. DietGPU: 开源 GPU 原生 rANS 编解码器
  3. nvCOMP (rANS): NVIDIA 通用非对称数字系统解压库
  4. DFloat11: 基于 Huffman 编码的 SOTA LLM 推理解压框架

5. 实验结果

5.1 内核级性能

ZipGEMM 相比 cuBLAS_TC 的加速比

GPU 平均加速 峰值加速
RTX4090 1.31× 1.71×
L40S 1.36× 2.21×

对比其他无损压缩方法 (RTX4090 / L40S):

  • DietGPU: 0.17× / 0.20× (显著减速)
  • nvCOMP: 0.19× / 0.23× (显著减速)
  • DFloat11: 0.28× / 0.34× (显著减速)
  • ZipGEMM: 1.31× / 1.36× (唯一超越 Tensor Core GEMM 的实现)

5.2 逐层分析

在 LLaMA3.1 模型家族上 (L40S GPU):

  • GateUp_proj: 平均加速 1.39×
  • Down_proj: 平均加速 1.64×
  • Transformer Block 整体: 1.35× (8B) / 1.48× (405B)

5.3 跨代性能比较

RTX5090 (Blackwell) 上的表现

  • LLaMA3.1-8B: 1.34× 加速
  • Mistral-24B: 1.87× 加速

消费级 vs 数据中心

  • RTX4090 + ZipGEMM vs A100 标准 cuBLAS:
    • LLaMA3.1-8B: 9.3% 更快 (0.195 ms vs 0.215 ms)
    • Mistral-24B: 仅慢 2.7%
  • RTX5090 + ZipGEMM vs H800:
    • LLaMA3.1-8B: 差距从 53.3% 缩小到 14.1%
    • Mistral-24B: 差距从 125.7% 缩小到 20.8%

5.4 解压内核性能

ZipServ-Decomp 独立解压内核相比

  • DietGPU: 2.14× 加速
  • nvCOMP: 1.83× 加速
  • DFloat11: 1.10× 加速

5.5 端到端推理性能

相比 vLLM 的端到端加速:

  • 平均加速: 1.22×
  • 模型大小减少: 高达 30%

5.6 开销分析

运行时开销

  • Decode 阶段 (小 N, 1-128): 无开销,持续超越 cuBLAS_TC
  • Prefill 阶段 (大 N, 8192+): 约 4% 开销 (N=8192) / 2% 开销 (N=16384)

离线压缩成本

  • 压缩 LLaMA-3.1-8B 模型:约 2.5 分钟 (16 核 Intel Xeon)
  • 一次性操作,不影响在线服务关键路径

6. 优点与局限

优点

  1. 首次实现无损压缩加速:第一个在 GPU 上同时提供存储节省和显著推理加速的无损压缩系统
  2. 硬件协同设计:TCA-TBE 格式与 Tensor Core 架构深度对齐,实现常数时间并行解码
  3. 融合内核设计:消除中间缓冲区,最大化计算强度
  4. 跨代兼容性:在 RTX4090、L40S、RTX5090 上均表现优异
  5. 消费级 GPU 数据中心化:显著缩小消费级与数据中心 GPU 的性能差距

局限

  1. 小层减速:对于形状较小的层 (如 O_proj),可能需要细粒度的参数调优才能充分利用硬件
  2. Prefill 阶段开销:在计算密集型 prefill 阶段,融合方法的开销超过收益,需要切换回解耦流水线
  3. 仅支持 BFloat16:当前实现针对 BF16 格式优化,其他精度需要额外工作

7. 总结

ZipServ 通过识别和解决传统压缩算法与现代 GPU 架构之间的根本性不匹配,首次实现了无损压缩在 LLM 推理中的实际应用。其核心创新——TCA-TBE 编码和 ZipGEMM 融合内核——展示了当算法与硬件协同设计时,无损压缩不仅可以节省存储空间,还可以直接加速推理。

“Our results demonstrate for the first time that when co-designed with hardware, lossless compression can provide both storage savings and substantial LLM inference acceleration.”

这项工作为未来 LLM 推理系统的设计提供了重要启示:压缩不应被视为独立的后处理步骤,而应作为系统协同设计的核心组件

参考文献

  1. Fan R, Yu X, Pan X, et al. ZipServ: Fast and Memory-Efficient LLM Inference with Hardware-Aware Lossless Compression. In ASPLOS ‘26, March 2026.
  2. DFloat11: Huffman-coded GPU decompression for LLM inference.
  3. DietGPU: GPU-native rANS codec for lossless compression.
  4. vLLM: High-throughput LLM inference framework.
  5. LLaMA-3: Open foundation models. Meta AI, 2024.
  6. Qwen-3: Large language models. Alibaba, 2025.

代码仓库: https://github.com/HPMLL/ZipServ_ASPLOS26

关键词: LLM Inference, Lossless Compression, GEMM, GPU, Tensor Core, ASPLOS 2026