GPTQ量化算法


一句话总结

GPTQ是一种基于二阶信息的逐层训练后量化算法,可在数小时内将大模型量化到INT4/INT3,且精度损失很小。

核心概念

GPTQ基于OBQ(Optimal Brain Quantization)方法改进而来。核心思路:逐层处理,对每一层的权重矩阵,依次量化每一列,并利用Hessian矩阵(二阶导数信息)计算最优的误差补偿——将当前列的量化误差分散到尚未量化的列上。关键创新:固定量化顺序(不需要贪心搜索)、批量处理列(lazy batch updates)、利用Cholesky分解加速Hessian逆运算。需要少量校准数据(128-256条)计算Hessian。

为什么重要

GPTQ让175B参数的模型在3-4小时内完成INT4量化,使大模型能在消费级GPU上运行。它是第一个在极低比特(3-4bit)上保持较好质量的实用量化方案,推动了开源模型的广泛部署。

实践要点

校准数据应与目标场景相关,通常用C4或WikiText的128条样本;group_size参数(通常128)控制量化粒度,越小精度越好但模型越大;使用AutoGPTQ或HuggingFace集成可简化量化流程。量化后需在目标任务上验证效果。

常见误区

误区一:GPTQ对所有模型效果一样好——模型越大(>7B)量化质量越好,小模型损失更明显。误区二:校准数据不重要——不同的校准集会导致显著的量化质量差异。