选择正确量化方法的最佳实践
量化方法包括三个主要组成部分:
重量精度格式
激活精度格式
校准算法
通常,在小批量推理场景(批量大小 ≤ 4)中,推理往往是“内存受限”的。在内存受限的推理中,吞吐量受到从GPU内存加载权重到GPU缓存的时间的限制 - 即,推理受限于内存带宽。 在这种操作模式下,仅权重量化方法(如INT4 AWQ或INT4-FP8 AWQ)提供了显著的性能改进。
相反,对于大批量推理场景,例如服务场景(批量大小 ≥ 16),内存带宽和计算密度都成为关键因素。因此,建议选择一种既有权重量化和激活量化,又有较低精度计算内核的量化方法。对于批量大小 ≥ 16,量化方法的选择可以是模型特定的。
我们建议优先使用FP8,因为FP8导致的精度损失非常小,并且能提供强大的性能。 如果FP8的性能不能满足您的需求,您可以尝试INT4-FP8 AWQ。 如果您的部署是在Ampere GPU或更早的版本上,我们推荐使用INT4 AWQ或INT8 SQ。
根据具体的使用情况,用户可能对精度下降和校准时间有不同的容忍度。下表总结了选择量化方法时需要考虑的权衡*。
量化方法 |
性能 小批量 |
性能 大批量 |
准确性 下降 |
详情 |
|---|---|---|---|---|
FP8 |
中等 |
中等 |
非常低 |
|
INT8 平滑量化 |
中等 |
中等 |
中等 |
|
INT4 仅权重 AWQ (W4A16) |
高 |
低 |
低 |
|
INT4-FP8 AWQ (W4A8) |
高 |
中等 |
低 |
|
- Please see how to apply these quantization methods below: