模型量化是什么?
模型量化是什么?INT8、INT4、GPTQ、AWQ 分别解决什么问题?

模型量化,简单说就是把模型参数从高精度浮点数变成低精度整数。16位的FP32变8位的INT8,内存直接少75%。这题考的是你对量化原理的理解深度,以及对GPTQ、AWQ这些算法选型的掌握。
量化是什么——把"高清照片"压成"缩略图"
量化本质上就干一件事:用整数运算替代浮点数运算。
float32每个参数占4字节,范围是10-38到1038,精度极高。INT8每个参数只占1字节,范围-128到127。你可能会想,这么大范围的数硬塞进这么小的区间,精度不得崩?
核心公式在这儿:
qweight = round(weight / scale)weight是原始float32的权重,scale是缩放因子,round是四舍五入取整。这个过程就像把一张4K照片压缩成JPG——细节确实有损失,但肉眼几乎看不出来,加载速度却快了好几倍。

怎么保证损失可控?关键就在这个scale。好的量化算法会精心计算scale,让重要的数值区间被保留,不重要的区间被合理舍弃。
INT8 vs INT4——"1080p"和"720p"的权衡
INT8和INT4的区别,说白了就是精度和压缩率的权衡。
INT8:8位整数,压缩率4倍。精度损失小,GPTQ、AWQ这些算法默认都用它。部署友好,主流推理框架都支持。
INT4:4位整数,压缩率8倍。压缩率更高,但精度是个问题。普通均匀量化的INT4效果很差。
怎么办?NF4(4-bit NormalFloat) 出场了。
NF4的核心思路是:LLM的权重不是均匀分布的,而是接近正态分布——小数值多,大数值少。那就不搞均匀的分箱,而是让分箱边界跟着正态分布走,小数值区间的分箱更密,精度更高。

INT8适合精度敏感、显存够用的场景;INT4+NF4适合极致压缩、显存紧张的场景,比如在消费级显卡跑大模型。
GPTQ量化——用海森矩阵找最优压法
GPTQ解决的是怎么快速量化一个大模型的问题。
原理不复杂:对每个权重分组,算一个补偿量来修正量化误差。具体做法是用海森矩阵(Hessian Matrix) 来衡量每个权重的重要性——对输出影响大的权重,量化时给更精细的表示。
为了速度,GPTQ用了128列块更新策略:
- 把权重矩阵按128列分块
- 块内参数立即更新,实时补偿量化误差
- 块外参数延迟更新,统一处理

这样做的好处是:既保证了数值稳定性(实时补偿),又保证了速度(批量延迟更新)。Cholesky分解用来求逆矩阵,保证数值精度不崩溃。
GPTQ的特点:精度不错、速度尚可、实现相对简单。适合快速给大模型做量化,不需要额外数据。
AWQ vs GPTQ——谁才是LLM量化的更优解
AWQ(Activation-Aware Weight Quantization)的思路和GPTQ完全不同。
GPTQ量化所有权重,一视同仁。AWQ只量化重要权重,敏感权重跳过或保护。
怎么判断重要不重要?看激活值。对最终输出影响大的权重,保护起来;影响小的,大胆量化。
这就像修图:主体人物精修4K,背景简单处理就行。效果反而比全局统一处理更好。

AWQ的核心优势:
- 精度更高,尤其在复杂任务上
- 不需要校准数据,适用性更广
- 实现比GPTQ更简单
目前LLM量化AWQ是主流选择,很多开源模型直接提供AWQ量化版本。
实战工具选型——GPU用谁、CPU用谁
选工具看两个东西:推理硬件和部署场景。
GPU推理:
- AutoGPTQ:GPTQ算法的官方实现,支持多种精度
- Bitsandbytes(QLoRA标配):支持INT8、NF4,二次量化防止长文本显存爆炸
CPU推理:
- GGML:纯CPU推理优化
- GGUF:GGML的升级版,兼容性更好,量化格式更统一
选谁的原则很简单:GPU上跑就选AWQ量化版本,CPU上跑就选GGUF格式。

面试怎么答
量化是把模型参数从FP32转成INT8/INT4的压缩技术,核心是通过scale缩放和round取整实现精度损失可控。INT8精度高、压缩率4倍,INT4+NF4用正态分布分箱实现8倍压缩。GPTQ用海森矩阵优化+128块更新保证数值稳定,适合快速量化。AWQ不量化所有权重,只保护重要权重,精度和速度都优于GPTQ,目前是LLM量化的主流选择。实际部署GPU用AWQ/AutoGPTQ,CPU用GGUF格式。
加分点:
- 提到BNB量化支持二次量化和分页技术,防止长文本OOM
- 知道饱和量化vs非饱和量化的区别
- 了解PTQ(训练后量化)和QAT(量化感知训练)的适用场景
一句话总结
量化就是用整数替代浮点实现模型压缩,INT8/INT4是精度选择,GPTQ/AWQ是算法选择,AWQ是当前主流。
