AWQ: Activation-aware Weight Quantization for LLM Compression and Acceleration

Lin J., Tang J., Tang H., Yang S., Chen W., Wang W., Xiao G., Dang X., Gan C. and Han S. AWQ: Activation-aware weight quantization for llm compression and acceleration. MLSys, 2024.

随着模型的参数量的增加, 推理成本也在显著增加, 本文提出一种量化方法: AWQ 量化, 以缓解这一问题. 其主要贡献在于对于"重要"权重的特殊处理, 以及 per-channel 的 scaling.

AWQ

  • 作者首先发现, 权重中的元素并不是同等重要的, 大约有 1% 的权重, 如果把他们以更高精度的方式保存 (如, FP16), 就能取得显著的效果提升 (上图 (a) -> (b)).

  • 但是这种方式有一个显著的缺点, 这种混合精度会使得实际的实现变得异常麻烦, 所以需要另外的手段取解决.

  • 一般的对称量化形如:

    y=wxy=Q(w)x,

    其中

    Q(w)=ΔRound(wΔ),Δ=max(|w|)2N1.

    这里 N 是量化 Bits.

  • 我们可以采用另外一种更加灵活的方式, 考虑只改变其中的一个元素 w 的量化方式:

    Q(ws)xs=ΔRound(wsΔ)x1s.

    这里 Δ=max(|w1|,|w|2,,ws,)/2N1. 注意到:

    1. Round() 所带来的误差是差不多的;
    2. Δ 由于只改变一个元素, 通常 ΔΔ.
  • s>1 的时候, 由于 ws 的分布更加均匀地分布在量化区间内, 所以 ws 相较于 w 通常能够被更加精准地量化.

  • 于是, 作者最终的 AWQ 为:

    s=argminsL(s)L(s)=Q(Wdiag(s))(diag(s)1X)WX.

    其中 X 是根据一个比较小的 calibration set 得到的.

代码

[official-code]

posted @   馒头and花卷  阅读(63)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
历史上的今天:
2020-12-03 Robust Pre-Training by Adversarial Contrastive Learning
点击右上角即可分享
微信分享提示