2024-11-25

使用的三个重要的量化技巧:为了保持准确性,Atom 包含了三个关键的量化设计:(1) 它采用混合精度量化,保留少量但显著的高精度激活和权重,以保持准确性。(2) 它在权重和激活上都采用了精细分组量化,这自然地减少了量化。量化错误。3) 与预先计算激活的量化参数不同,Atom 动态地对激活进行量化,以最好地捕捉每个输入的分布

动态对激活进行量化和排序,然后分别进行 low-bit 和 high-bit 的分组量化
Pasted image 20241125113434.webp
为了确保高硬件效率并最小化量化开销,Atom:(1) 重新排列激活和权重,以保持混合精度操作的常规内存访问,(2) 将量化和重新排列操作融合到现有的操作中,以减轻开销,(3) 进一步将异常值量化为 8 位,以在准确性和效率之间保持平衡,并 (4) 将 KV 缓存量化为低位表示,以减少内存移动

合并 GEMM 操作的描述

Pasted image 20241125161727.webp


  • 从几个方面,KV 缓存,激活值等多个方面都进行了量化
  • 我们将量化操作融合到预处理操作中 ,类似于 ZeroQuant(姚等人 年) 的实现
  • 为了在吞吐量和准确性之间取得平衡,我们选择了一种经过精心选择的剪切阈值的对称量化。在量化权重矩阵时,我们还采用了 GPTQ(Frantar 等人),因为这是一个纯离线过程,可以提供准确性提升而不 牺牲运行时效率。

论文部分结论

我们提出了 Atom, 一种利用底层硬件高效实现高准确性和高吞吐量的低比特量化方法,适用于 LLM 服务。我们使用混合精度量化、重新排序、精细分组量化、动态量化和 KV 缓存量化, 以在充分利用新兴的低比特硬件支持的同时保持准确性。

实现 W4A4

混合精度的问题

混合精度量化的主要关注点是其不规则的内存访问 ( Dettmers 等人年;Guo),因此引入重新排序的功能