量化推理实战:AWQ vs GPTQ vs INT4性能对比
量化:让大模型跑得起的关键技术 大模型的推理成本是落地的最大障碍之一。一个70B参数的模型在FP16精度下需要约140GB显存,而INT4量化只需要约35GB——直接让单卡部署成为可能。 但量化不是免费的午餐。精度降低必然带来质量损失,问题是损失多少、哪种方案损失最小。我们在统一环境下对三种主流量化方案进行了系统对比。 三种方案简介 GPTQ:基于二阶Hessian信息的后训练量化方法。通过逐层补偿量化误差来保持模型质量。优势是不需要校准数据量太大,劣势是量化过程较慢。 AWQ(Activation-aware Weight Quantization):通过分析激活值分布来识别"重要"权重,对重要权重保持高精度,非重要权重进行量化。核心洞察是并非所有权重对模型输出的贡献相同。 INT4(含NF4/FP4变体):将权重压缩到4比特。NF4(NormalFloat 4)由QLoRA提出,针对正态分布的权重进行了优化。FP4则保留了浮点数的指数-尾数结构。 测试设置 硬件:单张A100 80GB 模型:Llama-3-70B、Qwen-2.5-72B、Mistral-Large 基准:FP16未量化版本 评估数据集:MMLU、HumanEval、GSM8K、C-Eval 测试场景:单序列推理和批量推理 核心结果 质量对比 方案 MMLU HumanEval GSM8K C-Eval 平均损失 FP16 82.1 74.4 88.3 85.7 0% AWQ-INT4 80.8 72.1 86.1 84.3 ~2.0% GPTQ-INT4 80.3 71.5 85.7 83.9 ~2.6% NF4 81.2 72.8 86.9 84.6 ~1.6% INT4-naive 76.5 66.2 80.1 79.3 ~7.8% NF4在质量保持上略优于AWQ和GPTQ,但差异在统计意义上并不显著(除naive INT4外)。三种成熟方案的损失都控制在3%以内,对于大多数应用场景完全可接受。 速度对比 方案 单序列(tokens/s) 批量32(tokens/s) 首Token延迟(ms) FP16 45.2 820 120 AWQ-INT4 112.5 2100 65 GPTQ-INT4 98.3 1850 78 NF4 105.7 1950 70 AWQ在推理速度上领先,这得益于其更优化的内核实现(vLLM的AWQ后端经过深度优化)。GPTQ由于需要额外的反量化步骤,速度略慢。 ...




