模型量化终极对比:GPTQ、AWQ、GGUF到底怎么选?我全试了一遍
上个月我干了件蠢事——在公司的一台 309024G上直接尝试跑 DeepSeek V4 的满血版本。结果嘛显存直接爆炸连模型加载都加载不进去卡死之后我还死活找不到问题折腾了半小时才发现是 OOM。这件事让我不得不认真面对一个现实本地跑大模型量化不是可选项而是必选项。然后我花了两周时间把市面上主流的三种量化方案——GPTQ、AWQ、GGUF——全试了一遍。今天聊聊我的实测结论。先搞懂量化在干什么简单一句话量化就是把模型的精度从 FP16 降级到 INT4 或 INT8用微乎其微的精度损失换取大幅度的显存和速度优化。类比一下你手机里的照片从原画质改成高清模式肉眼几乎看不出区别但文件大小从 20MB 缩到了 3MB。模型量化也是同样的道理。FP16 的每个参数占 2 字节INT4 只占 0.5 字节。一个 70B 的模型从 FP16 量化到 INT4理论显存需求从 140GB 降到 35GB。这就是一个 A100 能搞定的事变成了两张 3090 就能玩。当然不同量化方案的实现原理、精度保持、推理速度都不一样。下面一个个说。GPTQ最成熟的量化方案GPTQGenerative Pre-Trained Transformer Quantization是目前社区用得最多的后训练量化方法。我最早接触的就是它。原理不复杂基于 OPTOptimal Brain Quantizer的思路GPTQ 逐层对权重进行量化每次量化时补偿量化误差保持整体精度。说白了就是——量化一层权重 → 算出误差 → 调整剩余权重来补偿这个误差 → 继续下一层。我的实测感受在一张 3090 上跑了 Llama-3-70B 的 4bit GPTQ 版本速度不错能跑到 15-18 tokens/s。精度方面做了几个推理测试跟 FP16 版本的回答差异很小基本看不出来。优点社区支持最广HuggingFace 上 GPTQ 模型最多精度保持很好4bit 下基本无损推理速度中规中矩缺点量化过程需要校准数据集大概需要 128 条样本量化时间较长70B 模型量化一次要 3-5 小时模型加载后不支持热切换量化配置适用场景你需要部署一个已经量化好的模型且社区有现成的 GPTQ 版本。直接下载就能用。AWQ更聪明的量化AWQActivation-aware Weight Quantization是微软出的方案。它跟 GPTQ 最大的区别是GPTQ 只看权重的数值分布AWQ 结合了激活值activation来指导量化。原理上更聪明不是所有权重对输出的贡献都一样大。有些关键通道的权重量化后会导致精度明显下降。AWQ 的做法是先识别出这些关键通道对它们保护性保留更高精度对非关键通道则可以放心压。我的实测感受同样 70B 模型 4bit 量化AWQ 的精度比 GPTQ 高那么一丢丢。不是质的飞跃但在一些复杂推理任务上确实能看到差异。速度方面AWQ 由于对关键通道做了特殊处理推理时会稍微快一点。我实测大概快 10%-15%在 70B 模型上换算成 tokens 就是 16-20 tokens/s vs GPTQ的 15-18。优点精度比 GPTQ 更好特别在低比特下推理速度更快量化时间比 GPTQ 短缺点模型生态不如 GPTQ 广但不是所有模型都有 AWQ 版本实现复杂度更高出问题排查难适用场景你对推理质量有更高要求且能找到对应模型的 AWQ 权重。GGUFCPU 党的福音GGUF 是 llama.cpp 团队搞的格式。跟 GPTQ 和 AWQ 最本质的区别是后两者是面向 GPU 推理优化的GGUF 是面向 CPU GPU 混合推理的。前面两种方案都依赖 CUDA 做矩阵运算离开 GPU 几乎跑不动。但 GGUF 可以在 CPU 上跑也可以把部分层卸载到 GPU 上加速。这对显存不太够的朋友来说就是救命稻草。比如你的显卡只有 8G 显存70B 模型量化到 4bit 也要 35G显卡根本放不下。但用 GGUF 可以把大部分层留在内存里显卡只贡献部分算力加速。我的实测感受在 MacBook M2 Pro32G 统一内存上跑 GGUF 版本的 Qwen2-72B-4bit速度居然还不错能有 8-10 tokens/s。虽然比不上 GPU 的 15-20但能跑已经赢了。在公司一台 409024G 32G 内存的机器上跑 GGUF 的 70B Q4 版本把 20 层卸载到 GPU速度能到 12-14 tokens/s。优点CPU 也能跑对硬件要求最低支持层卸载灵活配置 GPU 显存占比llama.cpp 生态成熟命令行的好朋友缺点GPU 推理速度不如 GPTQ/AWQ文件格式单独.gguf跟 HuggingFace 生态略有割裂量化工具链更复杂适用场景你的显存很小8G-16G或者你想在 MacBook / 普通电脑上跑大模型。终极选择建议直接给结论不用纠结你的情况选什么有 ≥24G 显存社区模型齐全GPTQ有 ≥24G 显存对精度有要求AWQ显存 ≤16G 或想用 CPU 跑GGUFMacBook 用户GGUF没得选一步到位不想折腾GPTQ生态最好如果你问我个人现在用啥——我目前主力是AWQ GGUF 双持。AWQ 部署在公司服务器上做 API 服务GGUF 装在 MacBook 上平时写代码查资料用。两层保险哪边都能用。最后说一句大实话量化这个事儿其实不用纠结太久。先随便选一个方案把模型跑起来比选错方案卡在原地强一百倍。如果手里正好有模型跑不动直接上 AWQ 4bit 试试大概率不会让你失望。