0%

quantization (LLM)

简要介绍典型quantization方式

AWQ

重点处理少量最重要的权重

  • calib set推一遍forward,看激活值
  • 太大的激活值对应的权重就定一个放大因子,让这些权重因为变大从而在量化时保留更多细节;输入的激活值相应缩小。
  • 激活值一般还是FP16
  • 速度快,泛化性更强(和GPTQ相比而言)

典型方案

通常的量化方案是:

  • 注意模型尺寸

    • 太小的(<3B)谨慎使用量化,这个道理对LLM也是适用的
  • 使用量化框架将原始权重做成量化版本

    • QAT:能训再用,一般魔改STE
    • PTQ:通常直接AWQ
      • 准备calib set(前向推理统计分析权重值,这个不用太大但要包含足够比例的业务数据)
      • 定量化格式(AWQ基本就是W4A16,这个就是最常用的;新卡支持FP8要用其他工具,ModelOpt之类)
      • 注:目前部署的时候一般不会NF4
  • 推理框架直接加载

    • W4A16-Marlin
    • kvcache的量化在推理时开启

欢迎关注我的其它发布渠道