AWQ:激活感知权重量化——让大语言模型更轻更快
论文AWQ: Activation-aware Weight Quantization for LLM Compression and Acceleration作者Ji Lin, Jiaming Tang, Haotian Tang 等MIT、上海交大、清华大学发表NeurIPS 2023 / MLSys 2024荣获 MLSys 2024 最佳论文奖背景大模型的瘦身困境随着ChatGPT、Llama等大语言模型LLM的崛起模型规模呈指数级增长。一个700亿参数的模型以FP16格式存储需要约140GB显存这让普通开发者甚至很多企业望而却步。模型量化——将高精度浮点数如FP16转换为低精度整数如INT4/INT8——成为解决这一问题的关键技术。然而传统的量化方法往往面临两难困境激进量化如INT3模型体积大幅压缩但精度损失严重保守量化如INT8精度保持较好但压缩率有限AWQActivation-aware Weight Quantization正是为解决这一矛盾而生。核心洞察权重并非生而平等AWQ的核心发现可以概括为一句话大语言模型中只有0.1%-1%的权重是显著权重salient weights保护这些权重就能大幅减少量化误差。关键问题如何找到显著权重传统思路是观察权重分布本身但AWQ团队提出了一个反直觉的洞察应该观察激活分布activation distribution而非权重分布。原理权重通道对应的激活幅度越大说明该通道处理的特征越重要。因此通过分析模型运行时的激活统计信息可以精准定位哪些权重通道对模型性能至关重要。技术方案硬件友好的保护机制挑战混合精度的硬件噩梦最简单的保护方案是将显著权重保持FP16精度其余量化为低比特。但这会导致混合精度计算在GPU/CPU上极难高效实现需要复杂的内存对齐和计算图优化。解决方案通道缩放Per-Channel ScalingAWQ通过数学分析发现放大显著权重通道的数值可以等效降低其相对量化误差。具体来说对于显著通道AWQ会寻找一个最优的缩放系数s ss使得Quantization Error ∝ w s \text{Quantization Error} \propto \frac{w}{s}Quantization Error∝sw通过逐通道缩放AWQ实现了隐式保护显著权重的效果同时保持统一的低比特精度如全INT4完全兼容现有硬件的SIMD指令集。自动搜索最优缩放AWQ设计了一个数据驱动的优化流程在小规模校准集上自动搜索最优缩放系数无需反向传播或模型重建。这意味着量化速度快分钟级不破坏模型的泛化能力避免过拟合到校准数据性能表现精度与速度的双赢量化精度对比在LLaMA、OPT等模型家族上的实验表明AWQ显著优于同期方法方法配置WikiText2 PPL越低越好GPTQINT4~5.75AWQINT4~5.60FP16原始-~5.47在指令微调模型如Vicuna和多模态模型如OpenFlamingo上AWQ同样表现出色这是首个成功量化多模态LLM的工作。推理加速AWQ团队同步开发了TinyChat推理框架通过内核融合减少DRAM访问4-bit权重高效打包运行时反量化优化实现了相比HuggingFace FP16实现3倍以上的加速在桌面GPU和移动GPU如NVIDIA Jetson Orin上均表现优异。值得注意的是AWQ首次实现了在移动GPU上部署700亿参数的Llama-2模型。AWQ vs 其他量化方法当前主流的LLM量化方案各有侧重方法类型特点适用场景AWQ权重量化激活感知保护显著权重硬件友好边缘部署、低延迟推理GPTQ权重量化基于Hessian矩阵的层-wise量化精度高但较慢追求极致精度GGUF权重量化llama.cpp生态跨平台支持好CPU推理、多平台SmoothQuant权激活量化W8A8平滑激活异常值大batch服务FP8权激活量化硬件原生支持几乎无损新一代GPUH100等在实际部署中AWQ因其平衡的速度与精度被vLLM、TensorRT-LLM、SGLang、LMDeploy等主流推理引擎广泛支持。应用场景端侧AI在手机、嵌入式设备上运行70B参数模型成本优化降低云端LLM服务的GPU显存占用和带宽压力实时应用对话机器人、代码补全等低延迟场景多模态扩展保护视觉-语言模型的跨模态对齐能力总结AWQ代表了LLM量化领域的重要突破其**激活感知思想不仅解决了量化误差的问题更提供了一种硬件友好**的实现路径。荣获MLSys 2024最佳论文奖证明了其在系统层面的创新价值。对于开发者而言AWQ提供了一条务实的路径在几乎不损失模型能力的前提下将模型体积压缩至1/4推理速度提升3倍让大模型的普及门槛真正降低。参考资源论文arXiv:2306.00978代码https://github.com/mit-han-lab/llm-awq集成框架vLLM、LMDeploy、AutoAWQ