什么是 AWQ?
AWQ(激活感知权重量化)是一种仅权重量化方法,通过分析激活分布而非仅依赖权重大小来识别和保留关键权重,在 INT4 精度下实现业界领先的准确率,同时支持大语言模型的高效部署。
快速了解
| 全称 | 激活感知权重量化 |
|---|---|
| 创建时间 | 2023 年由 Ji Lin 等人(MIT)提出 |
工作原理
全面深入了解 AWQ(Activation-aware Weight Quantization)这一先进的模型量化技术。AWQ 揭示了模型量化中的一个关键洞察:并非所有权重都同等重要。通过观察小型校准数据集的激活模式,AWQ 能够识别哪些权重通道对维持模型质量最为关键。AWQ 并非通过保持高精度来保护这些关键权重(这会产生混合精度开销),而是采用逐通道缩放的方式,从数学上减少重要权重的量化误差。这种优雅的方法比朴素的四舍五入量化和 GPTQ 等竞争方法取得更好的准确率,同时对硬件友好,量化过程无需反向传播或复杂优化。
主要特点
- 仅权重量化,保留激活感知的关键通道
- 逐通道缩放最小化重要权重的量化误差
- 量化过程无需反向传播或重新训练
- 硬件友好的 INT4 格式,兼容 GPU 内核
- 仅需小型校准数据集进行激活分析
- 在 INT4 精度下准确率优于四舍五入量化和 GPTQ
常见用途
- 在消费级 GPU 上部署大语言模型
- 降低生产环境中 LLM 推理服务的成本
- 在内存有限的边缘设备上部署 AI 模型
- 利用 INT4 GPU 内核提升推理吞吐量
- 压缩开源 LLM 用于本地和离线使用
示例
Loading code...常见问题
什么是 AWQ?它是如何工作的?
AWQ(激活感知权重量化)是一种在 INT4 精度下保持模型准确率的仅权重量化技术。它通过分析小型校准数据集的激活分布来识别哪些权重通道最为重要。AWQ 并非以更高精度保留关键权重,而是应用逐通道缩放因子,从数学上减少关键权重的量化误差,在无混合精度开销的情况下获得更好的准确率。
AWQ 与 GPTQ 相比如何?
AWQ 和 GPTQ 都是流行的 INT4 权重量化方法,但方法不同。GPTQ 使用近似二阶方法(基于 OBS)通过权重舍入优化来最小化逐层重建误差。AWQ 则专注于通过激活感知缩放保护关键权重。实际应用中,AWQ 通常能获得略好的困惑度分数,量化速度更快(无需反向传播),并生成更加硬件友好的量化格式。
AWQ 能提供怎样的性能提升?
AWQ 通常能将模型大小减少约 3-4 倍(从 FP16 到 INT4),同时保持接近原始的准确率。推理速度提升取决于硬件和推理框架,但在支持 INT4 内核的 GPU 上,AWQ INT4 模型通常比 FP16 快 2-3 倍。内存节省使得在相同硬件上运行更大模型或服务更多并发用户成为可能。
AWQ 需要什么校准数据?
AWQ 仅需一个小型校准数据集来分析激活分布并识别关键权重通道。通常,来自通用文本语料库(如 C4 或 Pile 的子集)的几百个样本就足够了。校准过程速度快,不涉及任何梯度计算或反向传播,使得 AWQ 比需要优化的方法快得多。
哪些框架支持 AWQ 模型?
AWQ 模型在 LLM 推理生态系统中得到广泛支持。主要框架包括 vLLM(高吞吐量推理服务)、TensorRT-LLM(NVIDIA 优化推理)、Hugging Face Transformers(通过 AutoAWQ 集成)、llama.cpp(CPU 和边缘部署)以及 text-generation-inference(TGI)。热门 LLM 的预量化 AWQ 模型已在 Hugging Face Hub 上提供。