ML-paper-QQQ

ML-paper-QQQ

Charles Lv7

QQQ: Quality Quattuor-Bit Quantization for Large Language Model

**核心问题:**如何有效地压缩大型语言模型(LLMs)以减少存储和计算开销,同时保持模型性能,并加速推理过程。

核心方法(贡献):

  1. QQQ 量化方法:一种 4 位权重和 8 位激活(W4A8)的量化方法,通过自适应平滑和基于 Hessian 的补偿显著提高量化模型的性能。
  2. W4A8 GEMM 内核:为每通道和每组权重量化精心设计的 W4A8 GEMM 内核,,可以同时为每个通道权重和每个组权重量化定制,显著提高了推理速度。
  3. 将 QQQ 集成到 vLLM 中

实验效果:

  1. QQQ 在与现有最先进的 LLM 量化方法相当的性能下,显著加速了推理过程。
  2. 实验表明,QQQ 在不同模型上实现了高达 2.24 倍、2.10 倍和 1.25 倍的速度提升,分别与 FP16、W8A8 和 W4A16 相比。

改进方向:

  1. 量化模型的时间:两阶段量化方法需要更多的时间来量化模型。
  2. 混合精度 GEMM 的支持:目前只支持 4 位权重。

背景与相关工作

近年来,大型语言模型(LLMs)在各种任务中表现出色,但由于其庞大的参数数量和长时间的推理时间,限制了其在资源有限的设备和实时场景中的应用。量化是减少 LLMs 内存和计算需求的关键技术。现有的量化策略主要包括权重-激活量化和仅权重量化。

weight-activation-quant

  • Smooth Quant、LLM.int8()、QUIK 和 Outlier Suppression+均通过管理激活异常值来提升量化模型性能。
  • LLM.int8()和 QUIK 使用混合精度分解,而 SmoothQuant 和 Outlier Suppression+使用通道尺度变换。
  • Omni-Quant 提出了可学习的权重裁剪和可学习的等价变换。

weight-only-quant

  • GPTQ 采用二阶信息来最小化精度损失。
  • SpQR 和 AWQ 优先保留重要权重以减少量化误差,SpQR 采用混合精度,AWQ 优化每通道缩放。
  • QuIP 进一步将权重量化到 2-bit,其依据是模型参数在理想情况下应该是不相干的。

方法理论

QQQ 是一种两阶段的权重-激活量化方法,集成了自适应平滑和基于 Hessian 的量化补偿,以增强量化模型的性能。QQQ 通过自适应平滑机制对具有显著异常值的激活通道进行平滑处理,同时保留其他通道。平滑处理后,QQQ 采用基于 Hessian 的补偿技术来抵消权重量化的损失。

image-20240727164351825

自适应平滑

通过通道平滑来改进具有异常值的激活通道,使其更适合量化。

  • 只对存在显著异常值的激活通道进行平滑处理,而保持其他通道不变,可以提高量化模型的性能
  • 通过设置离群值阈值来判断是否进行平滑处理

Hessian-based Quantization Compensation

采用基于 Hessian 的量化补偿技术,通过迭代量化权重来提高量化精度。

  • 我们采用了一种逐层量化框架 GPTQ ,它倡导一种精确高效的基于 Hessian 的量化补偿技术

新型 W4A8 GEMM

image-20240727165409946

开发了创新的 W4A8 GEMM 内核,优化了推理速度。设计考虑了对称量化的优势,并集成了类型转换和去量化过程。

  • 我们的设计完全支持对称量化,因为它比非对称量化具有更高的硬件效率
  • 为了保证高效的类型转换,我们使用了 FastINT4toINT8 技术
    image-20240727170115025

实验工作

  1. 模型和数据集:使用 LLaMA 系列模型,评估语言建模和零样本任务的性能。
  2. 算法:QQQ 专注于每 token 激活的量化,并支持每通道和每组权重的量化。
  3. 推理系统:基于 vLLM 和 Marlin 内核实现的推理系统,支持 QQQ 方法。
  • Title: ML-paper-QQQ
  • Author: Charles
  • Created at : 2024-07-28 08:34:18
  • Updated at : 2024-07-29 14:38:06
  • Link: https://charles2530.github.io/2024/07/28/ml-paper-qqq/
  • License: This work is licensed under CC BY-NC-SA 4.0.
Comments