量化(Quantization)将模型权重和/或激活值从高精度(如 FP16)转换为低精度(如 INT8 或 INT4),从而减少模型大小和内存带宽需求。
基本思想是将浮点值映射到一组离散的整数值。例如,INT8 量化将连续的浮点值映射到 256 个离散值($-128$ 到 $127$)。主要的量化方案包括:
训练后量化(Post-Training Quantization,PTQ):在训练完成后直接将权重量化,无需重新训练。代表方法有 GPTQ(基于二阶信息的逐层量化)和 AWQ(Activation-aware Weight Quantization,优先保留激活值较大的权重通道的精度),通过分析权重分布和激活值来最小化量化误差。
量化感知训练(Quantization-Aware Training,QAT):在训练过程中模拟量化误差,让模型学会适应低精度表示。精度更好但计算成本更高。
FP16
2 字节
1×
基准
INT8
1 字节
2×
极小
INT4
0.5 字节
4×
小到中等
INT3/2
<0.5 字节
5-8×
中到大
图 10-1:不同量化精度的对比
INT8 量化通常对模型质量几乎无影响,已成为推理部署的标配。INT4 量化(如 GPTQ-4bit)在许多任务上精度损失可控,配合 AWQ 或 GPTQ 可将精度损失控制在可接受范围内,是显存受限场景的优选。
最后更新于3天前