• GPTQ 和 AWQ:LLM 量化方法的比较


    语言模型(LLM)在自然语言处理(NLP)任务中取得了显著的进展。然而,LLM 通常具有非常大的模型大小和计算复杂度,这限制了它们在实际应用中的部署。

    量化是将浮点数权重转换为低精度整数的过程,可以显著减少模型的大小和计算复杂度。近年来,LLM 量化的研究取得了很大进展,出现了许多新的量化方法。

    GPTQ 和 AWQ 是目前最优的 LLM 量化方法之一。GPTQ 是 Google AI 提出的一种基于 group 量化和 OBQ 方法的量化方法。AWQ 是 Facebook AI 提出的一种基于 activation-aware 方法的量化方法。

    GPTQ

    GPTQ 的工作原理如下:

    1. 首先,GPTQ 使用 group 量化将权重分组为多个子矩阵。
    2. 然后,GPTQ 使用 OBQ 方法来量化每个子矩阵。
    3. 最后,GPTQ 使用动态反量化来恢复权重的原始值。

    GPTQ 的改进主要体现在以下几个方面:

    • 分组量化:GPTQ 使用分组量化来将权重分组为多个子矩阵,这可以降低量化精度损失。
    • OBQ 方法:GPTQ 使用 OBQ 方法来量化权重,该方法可以实现高精度的量化。
    • 动态反量化:GPTQ 使用动态反量化来恢复权重的原始值,这可以提高量化的性能。

    GPTQ 在各种 LLM 上进行了实验,结果表明,GPTQ 可以实现 3/4 位量化,在相同精度下,GPTQ 的模型大小比原始模型小 1/4。

    AWQ

    AWQ 的工作原理如下:

    1. 首先,AWQ 使用 group 量化将权重分组为多个子矩阵。
    2. 然后,AWQ 使用 activation-aware 的方法来量化每个子矩阵。
    3. 最后,AWQ 使用无重新排序的在线反量化来提高量化性能。

    AWQ 的 activation-aware 方法可以提高量化精度,这是因为激活值在量化后的影响可以通过量化系数进行补偿。具体来说,AWQ 首先计算每个子矩阵的激活分布,然后使用该分布来生成量化系数。

    AWQ 的无重新排序的在线反量化可以提高量化性能,这是因为它不需要对权重进行重新排序,可以直接在量化后的权重上进行反量化。

    AWQ 在各种 LLM 上进行了实验,结果表明,AWQ 可以实现 3/4 位量化,在相同精度下,AWQ 的模型大小比原始模型小 1/4,推理速度比 GPTQ 快 1.45 倍。

    特征AWQGPTQ
    量化精度优秀良好
    模型大小最小较小
    计算速度最快较快
    实现难度较易较难
    量化成本较高较低

    AWQ 在量化精度、模型大小和计算速度方面都优于 GPTQ,但在量化成本方面略高。

    结论

    GPTQ 和 AWQ 都是 LLM 量化领域的优秀方法。GPTQ 具有良好的量化精度和易于实现的特点,适合于大多数 LLM 任务。AWQ 具有优异的量化性能,但量化成本略高,适合于对推理速度要求较高的 LLM 任务。

  • 相关阅读:
    Servlet的类和方法
    C++入门知识整理(持续更新)
    开放签开源电子签章白皮书-简版
    Ansible 自动化运维详解
    龙芯3A3000源码编译安装deepin-ide
    CrownCAD 2022 特征操作及编辑
    Optimization of DQN
    一文读懂PostgreSQL中的索引
    [OC学习笔记]属性关键字
    聊聊Spring中最常用的11个扩展点
  • 原文地址:https://blog.csdn.net/sinat_28494049/article/details/133821726