题记与说明
- 类型:研究主题(主题研究)
- 日期:2026-10-29
- 研究方式:先用网络检索筛选来源,再逐一精读。本次共精读 5 个来源:2 篇原论文(GPTQ、AWQ)、1 篇系统性评测论文(GGUF 各格式统一评测)、1 篇 GGUF 格式技术博客(含社区/官方 ppl 表)、1 篇面向消费级硬件的格式选型指南;另用检索补充了消费级显卡吞吐量的社区实测数据。
- 来源清单:
- GPTQ 论文(ICLR 2023):https://arxiv.org/abs/2210.17323 (全文 HTML:https://arxiv.org/html/2210.17323v2 )
- AWQ 论文(MLSys 2024 最佳论文):https://arxiv.org/abs/2306.00978 (全文 HTML:https://arxiv.org/html/2306.00978v4 )
- 统一评测论文《Which Quantization Should I Use? A Unified Evaluation》:https://arxiv.org/html/2601.14277v1
- GGUF k-quants / i-quants 技术博客(Toni Sagristà Sellés,含官方 ppl 表):https://tonisagrista.com/blog/2026/quantization/
- 消费级硬件格式选型指南(GGUF vs EXL2 vs AWQ vs GPTQ):https://local-ai-zone.github.io/blog/quantization-formats-guide.html
- 补充(消费级显卡吞吐量,检索所得,未经本会话逐一验证):llama.cpp 官方 quantize README(https://github.com/ggml-org/llama.cpp/blob/master/tools/quantize/README.md )、geerlingguy/ai-benchmarks Issue #43(https://github.com/geerlingguy/ai-benchmarks/issues/43 )、llm-bench.io RTX 3090 页(https://llm-bench.io/hardware/rtx-3090 )、OpenBenchmarking llama.cpp Vulkan GPU 对比(https://openbenchmarking.org/result/2512070-NE-LLAMACPPV90 )
一、七个维度提取
1. 核心问题
大模型动辄数十 GB(FP16 下 7B≈14GB、70B≈140GB),消费级显卡只有 8–24GB 显存。问题分三层:
- 能不能把权重压到 4 bit 甚至 3 bit,而精度损失可以忽略?(GPTQ、AWQ 回答的问题)
- 各种量化格式/算法在真实基准上各损失多少?哪一位宽、哪种格式是"甜点"?(统一评测与 GGUF ppl 表回答的问题)
- 在消费级显卡(RTX 3090/4090、4070 笔记本、8–12GB 入门卡)上,各种方案的实际速度与选型结论是什么?(本主题要求的"实测结论汇总")
关键概念澄清(来自来源 2、5):GPTQ 和 AWQ 是量化"算法",GGUF 是 llama.cpp 的量化"文件格式",三者不在同一层面比较——GGUF 内部的 k-quants 决定精度损失,GPTQ/AWQ 是带校准的"聪明"量化算法。
2. 主要主张
- GPTQ:用近似二阶(Hessian)信息做逐层误差补偿,可以把 175B 级模型压到 3–4 bit 且"可忽略的精度退化"(论文原文:"reducing the bitwidth down to 3 or 4 bits per weight, with negligible accuracy degradation"),量化一个 175B 模型约 4 GPU 小时。
- AWQ:激活分布(而非权重本身)才是识别"显著权重"的正确信号,只需保护约 0.1%–1% 的显著通道就能大幅降低量化误差;用数学等价的逐通道缩放代替混合精度,比 GPTQ 需要的校准数据少约 10 倍,且在 INT4/INT3 上稳定优于 RTN 与 GPTQ。
- GGUF/k-quants:两级块量化(小组→超块、scale 再量化)让 4 bit 的 Q4_K_M 只有 +0.05 左右的 ppl 损失(7B 模型),约为模型体积 75% 的压缩;"格式的设计比标称位宽更重要"。
- 统一评测:在 Llama-3.1-8B-Instruct 五项基准平均分上,4 bit 只损失约 0.4%–0.9%、5 bit 的 Q5_0 甚至比 F16 基线还高,而 3 bit 的 Q3_K_S 平均损失达 5.73%,其中 GSM8K(数学推理)从 77.63 掉到 68.31(−9.32 分)——推理/数学任务对量化远比常识任务敏感。
- 消费级实测汇总:4 bit 是消费级显卡的甜点(≈99% 的 BF16 质量);AWQ 论文在 RTX 4090 上实测 TinyChat 比 HF FP16 快 2.7–3.9×,4070 笔记本实测 Llama-2-13B 33 tok/s(FP16 连 7B 都装不下);RTX 4090 跑 7B Q4_K_M 约 130–170 tok/s、3090 约 90–120 tok/s(社区聚合数据)。
3. 方法
- GPTQ:基于 OBQ(Optimal Brain Quantization)。逐层最小化层输出重建误差,用校准集估计 Hessian H=2XXᵀ;三个关键近似:
- 发现贪心排序几乎无益 → 所有列按任意固定顺序量化,把复杂度从 O(d_row·d_col³) 降到 O(max{d_row·d_col², d_col³});
- 懒批更新(B=128 列一批)解决显存带宽瓶颈;
- Cholesky 重构 H⁻¹ 解决数值误差累积(H⁻¹ "become indefinite"),加 1% 对角平均的阻尼。
- 校准:C4 数据集;量化用单张 A100 80GB(OPT-175B 4.2h,BLOOM-176B 3.8h)。⚠️ 我检索时看到"用 RTX 3090 量化"的说法,但精读全文确认论文中量化实验全部在 A100 80GB 上做,未出现 RTX 3090。
- AWQ:观察"不到 1% 的显著权重"由激活幅度决定 → 对激活大的通道做逐通道缩放 s(数学等价变换,不引入混合精度),s 由离线激活统计 + 网格搜索(α 网格 20 点)确定;无需反向传播、无需重建;校准仅用 Pile 的 16 条序列(GPTQ 用 192 条,"AWQ needs a much smaller calibration")。推理引擎 TinyChat 融合 W4A16 去量化内核。
- GGUF/k-quants:文件格式 + 两级块量化(如 Q4_K:小组 32 权重 → 超块 scale 本身再量化);_M/_S/_L 后缀表示不同层混用不同位宽;i-quants(IQ 系列)用非线性重建 + 查找表 + importance-matrix(imatrix)校准换取更小体积;legacy 量化(Q4_0/Q8_0)为简单线性块量化。
- 统一评测:单一模型 Llama-3.1-8B-Instruct,13 种 GGUF 配置(Q3_K_S/M/L、Q4_0/1、Q4_K_S/M、Q5_0/1/K_S/M、Q6_K、Q8_0)+ F16 基线;lm_eval v0.4.9.2 跑 GSM8K(5-shot)/HellaSwag/IFEval/MMLU/TruthfulQA(MC2) + WikiText-2 ppl + llama.cpp 吞吐(pp=512, tg=128)。全部在纯 CPU 服务器上(双路 Xeon 8488C,96 核)——这正是它的局限之一。
4. 数据与证据
GPTQ(WikiText2 ppl,越低越好):
| 模型 | FP16 | 4bit RTN | 4bit GPTQ | 3bit RTN | 3bit GPTQ |
|---|---|---|---|---|---|
| OPT-175B | 8.34 | 10.54 | 8.37 (+0.03) | 7.3e3(崩溃) | 8.68 |
| BLOOM-176B | 8.11 | 8.37 | 8.21 | 571 | 8.64 |
论文注:"GPTQ loses only 0.03 perplexity at 4-bit on the 175B model, while RTN drops 2.2 points"。速度:A6000 上 FP16 589ms → 3bit 130ms(4.53×,GPU 从 8 张减到 2 张);A100 上 230ms → 71ms(3.24×,5 张减到 1 张)。batch=1、序列长 128。
AWQ(Llama-2-7B WikiText2 ppl):FP16 5.47;INT4-g128:RTN 5.73 / GPTQ 5.69 / GPTQ-R 5.63 / AWQ 5.60;INT3-g128:RTN 6.66 / GPTQ 6.43 / AWQ 6.24(LLaMA-7B INT3 无重排的 GPTQ 高达 8.81 vs AWQ 6.35)。GSM8K(INT4-g128):7B FP16 13.87 → AWQ 13.57(GPTQ 12.13、RTN 11.07);70B:FP16 56.41 → AWQ 56.40(几乎零损失)。速度:"TinyChat brings 2.7–3.9× speedup to three families of LLMs (Llama-2, MPT and Falcon) on 4090",平均 3.2–3.3×;"at least 2.6× speedup over AutoGPTQ";"up to 1.7× speedup over llama.cpp on Orin";4070 笔记本 Llama-2-13B 33 tok/s;树莓派 4B 0.7 tok/s。
GGUF 7B ppl 表(ΔPPL 相对基线,来源 4):
Q8_0 +0.0004|Q6_K +0.0044("Almost lossless")|Q5_K_M +0.0142|Q4_K_M +0.0535("Most popular default",~4.5 bpw)|Q4_K_S +0.1149|Q3_K_M +0.2437|Q3_K_S +0.5505|Q2_K +0.8698("not recommended");legacy:Q4_0 +0.2499、Q4_1 +0.1846、Q5_0 +0.0796、Q5_1 +0.0415。结论句:"Q4_K_M seems to be the community sweet spot offering ~75% size reduction with minimal quality loss";"A well-designed 4-bit format (Q4_K_M, IQ4_XS) can outperform a naive 5-bit legacy format"。
统一评测(Llama-3.1-8B-Instruct,五基准平均分 Avg / ppl):F16 基线 Avg 69.47 / ppl 7.32 / 15317 MiB。
| 方案 | 体积压缩 | Avg | WikiText-2 ppl |
|---|---|---|---|
| Q4_K_S | 70.83% | 69.17(4bit 帕累托最优) | 7.62 |
| Q4_K_M | 69.41% | 69.15 | 7.56 |
| Q5_0 | 65.19% | 69.92(全场最高) | 7.43 |
| Q6_K | 58.98% | 69.23 | 7.35 |
| Q8_0 | 46.87% | 69.41 | 7.33 |
| Q3_K_M | 75.03% | 68.07 | 7.96 |
| Q3_K_S | 77.23% | 65.49(−5.73%) | 8.96 |
任务敏感性:GSM8K 77.63(F16) → 68.31(Q3_K_S);HellaSwag 所有方案波动 <1 分;MMLU 在 Q3_K_S 掉到 59.31(F16 63.50);IFEval 部分中位宽反而更高(Q4_K_S 80.26 vs 基线 78.93,作者提醒可能属评测噪声)。CPU 吞吐:tg128 最快 Q3_K_S 9.91 tok/s(F16 2.83);pp 最高 Q4_0 97.35(F16 79.57)。
消费级显卡实测汇总(本主题核心交付,按来源分级):
| 来源等级 | 硬件 | 实测内容 | 结果 |
|---|---|---|---|
| 同行评审论文(AWQ) | RTX 4090 | TinyChat INT4 vs HF FP16 | 2.7–3.9× 加速(平均 3.2–3.3×) |
| 同行评审论文(AWQ) | RTX 4070 Laptop | Llama-2-13B INT4 | 33 tok/s;FP16 连 7B 都放不下 |
| 同行评审论文(AWQ) | Jetson Orin | vs llama.cpp | 最高 1.7× |
| 论文(GPTQ,工作站卡) | A6000 / A100 | 3bit 矩阵向量推理 vs FP16 | 4.53× / 3.24×(batch=1) |
| 社区 ppl 表(llama.cpp) | 通用 | Q4_K_M 7B | +0.05 ppl,≈75% 压缩 |
| 指南(local-ai-zone) | 24GB 卡 | 70B 选型 | EXL2 5.0 bpw;13B 用 6.0 bpw |
| 指南(local-ai-zone) | 12GB 卡 | 7B/13B 选型 | AWQ 4bit 13B;EXL2 4.0bpw 7B |
| 指南(local-ai-zone) | 8GB 卡 | 7B/3-4B 选型 | AWQ 4bit 7B;GGUF Q4_K_M 3–4B |
| 社区聚合(检索,未逐一验证) | RTX 4090 / 3090 | llama.cpp Q4_K_M 生成速度 | 7B:~130–170 / ~90–120 tok/s;13B:~70–100 / ~50–75 tok/s |
选型结论引文:"GGUF Q4_K_M is the safe default — it runs everywhere and the quality is excellent";"ExLlamaV2 (EXL2) 是消费级 NVIDIA GPU 上最快的推理引擎";"On benchmarks AWQ often matches GGUF Q5_K_M at Q4 file sizes";"GPTQ: Worse than AWQ at 4-bit"。
5. 结论
- 4 bit 是消费级甜点:k-quant 的 Q4_K_M(+0.05 ppl)或统一评测中 4 bit 平均损失 0.4%–0.9%,体积省约 70–75%。
- 位宽相同 ≠ 质量相同:统一评测金句 "The quantization format matters, not just the nominal bit-width"——同为 7.43 ppl 的 Q5_0/Q5_1/Q5_K_S 在 GSM8K/IFEval 上分化;Q5_0 在 5 bit 帕累托最优,Q4_K_S 压过 Q4_K_M,Q8_0 被帕累托支配("Q5_0 provides both higher reduction and lower AvgLoss")。
- 3 bit 是悬崖边:平均损失 1%→2%→5.7%(Q3_K_L→M→S),数学/推理类任务(GSM8K −9.32)最先崩;2 bit 及以下不建议常规使用。
- 算法层面 AWQ 在低位宽上压 GPTQ:INT4 ppl 5.60 vs 5.69、INT3 6.24 vs 6.43,且校准需求小 10 倍、抗域偏移;但 GPTQ 仍是事实标准之一,AutoGPTQ 生态成熟。
- 消费级硬件路径:纯 NVIDIA + 求极限速 → EXL2;单文件跨平台/苹果/AMD/CPU → GGUF Q4_K_M;显存紧张(8–12GB)→ AWQ 4bit 或 GGUF;CPU-only → 只有 GGUF 可选。
- 速度本质:这些 W4 精度方法都靠"省显存带宽"提速(反量化到 FP16 再算),对 batch=1 的生成推理最有效;GPTQ 论文明确 "does not provide speedups for the actual multiplications, due to the lack of hardware support for mixed-precision operands"。
6. 局限
- GPTQ 论文自认:仅权重、无激活量化;内核只针对低 batch 生成推理;C4 校准使 C4 评测"not fully zero-shot";混合精度无硬件支持导致乘法本身不加速。
- AWQ 论文自认:缩放因子 s 过大反而增大非显著通道误差(PPL 在 s=2 最好而非 s=4);不可导,靠网格搜索;W4A16 去量化"must be incorporated into the primary computation loop… posing implementation challenges"。
- 统一评测:单一模型(Llama-3.1-8B)、纯 CPU 环境跑分——没有消费级 GPU 数据;作者自己提醒 Q5_0 超过 F16 "should be interpreted cautiously"(可能是评测噪声);未测 IQ 系列、GPTQ、AWQ、EXL2。
- GGUF ppl 表:数据来自 llama.cpp 社区(7B 老模型),对 8B/新架构只有参考意义;i-quants 无 ppl 数据且"Without it (imatrix), quality can degrade noticeably"。
- 选型指南:只有相对排序(Good/Excellent),无实测 tok/s;EXL2/AWQ 仅 NVIDIA 可用;博客性质,非同行评审。
- 我推断的共性局限:各来源用的基线模型不同(OPT/BLOOM/Llama-2/Llama-3.1/7B 老模型),数字不能直接横向比较;量化对多语言(中文)能力的影响几乎没有来源覆盖。
7. 对我的启发
- 给消费级显卡选型的默认决策树:8GB 以下 → GGUF Q4_K_M(3–4B);8–12GB → 7B AWQ/GGUF Q4_K_M;16–24GB → 13–14B 高位宽(Q5_K_M/Q6)或 32B Q4;70B 级 → EXL2 5.0bpw 或 GGUF 多卡/CPU offload。Q4_K_M 作为"不知道选什么就选它"的默认值是被多个独立来源共同验证的。
- 数学/代码/Agent 类应用宁可 5 bit:GSM8K 是最脆弱的指标;做推理密集的本地 Agent 时 Q3_K_S 级别的量化可能悄悄毁掉工具调用与算数正确性,IFEval 还可能出现"量化后反而变好"的噪声假象,需用自己的任务集复测。
- 写文档/复述时区分三个词:量化算法(GPTQ/AWQ)、量化文件格式(GGUF)、推理引擎(llama.cpp/TinyChat/ExLlamaV2)——大量二手资料混淆它们,这正是本主题最容易讲错的地方。
- 校准数据重要且便宜:AWQ 16 条 Pile 序列就够,GGUF 做 imatrix 也能显著救低位宽(Q3 以下);拿到模型后自己做校准/imatrix 是性价比最高的优化。
- 可复用方法论:统一评测论文"把同一模型按位宽×格式切片、统一 harness 跑多维基准 + 记录帕累托前沿"的评测设计,可直接搬到我自己模型选型的实测方案里。
二、逐来源精读详记
来源 1:GPTQ: Accurate Post-Training Quantization for Generative Pre-trained Transformers(ICLR 2023)
- 链接:https://arxiv.org/abs/2210.17323 | 全文:https://arxiv.org/html/2210.17323v2 | 代码:https://github.com/IST-DASLab/gptq | 作者:Elias Frantar 等(IST Austria / …)
- 方法脉络:OBQ(逐个贪心量化权重、量化一个就更新剩余权重补偿误差,Hessian H=2XXᵀ)→ GPTQ 三步近似:
- 固定顺序逐列量化(去掉贪心排序),复杂度 O(d_row·d_col³) → O(max{d_row·d_col², d_col³});
- 每 128 列一批懒更新(带宽瓶颈);
- H⁻¹ 的 Cholesky 分解预取所需行 + 阻尼(λ=平均对角的 1%),解决 H⁻¹ 数值病态("become indefinite")。
- 关键数字(已在上表):OPT-175B 4bit 仅 +0.03 ppl;3bit 8.68(RTN 是 7.3e3 直接崩溃);量化 175B 用时 4.2h(A100 80GB);A6000 3bit 推理 4.53×、A100 3.24×。
- "首个把 175B 塞进单卡"的上下文:FP16 要 5×80GB,LLM.int8() 要 3×80GB,GPTQ 3bit 1 张。
- 限制原文:"our kernels target generative inference in the low batch-size setting";"does not provide speedups for the actual multiplications";"our current results do not include activation quantization"。
- 与消费级显卡的关系:论文本身用 A100/A6000(数据中心/工作站卡),但"~4 GPU 小时量化 175B"意味着消费级卡可以量化更小的模型;社区生态(AutoGPTQ、GPTQ-for-llama)才是把 GPTQ 带到消费级的主力(此判断为我的推断,未在本次来源中验证)。
来源 2:AWQ: Activation-aware Weight Quantization for LLM Compression and Acceleration(MLSys 2024 最佳论文)
- 链接:https://arxiv.org/abs/2306.00978 | 全文:https://arxiv.org/html/2306.00978v4 | 代码:https://github.com/mit-han-lab/llm-awq | 作者:Ji Lin, Jiaming Tang, Haotian Tang, Shang Yang 等(MIT Han Lab)
- 核心洞察原文:"There is a small fraction (0.1%-1%) of salient weights; skipping the quantization of these salient weights will significantly reduce the quantization loss";"To identify salient weight channels, we should refer to the activation distribution, not weights."
- 技术选择:不用混合精度("such a mixed-precision data type will make the system implementation difficult"),改用数学等价的逐通道缩放保护显著通道;s 由激活统计离线收集 + α 网格搜索(20 点);无需反向传播 → 抗校准集过拟合,可跨域跨模态。
- 对比 GPTQ 的核心表(Llama-2-7B WikiText2):INT4-g128 AWQ 5.60 < GPTQ 5.69 < RTN 5.73(FP16 5.47);INT3-g128 AWQ 6.24 < GPTQ 6.43。引文:"AWQ consistently outperforms round-to-nearest (RTN) and GPTQ (w/ and w/o reordering) across different model scales (7B-70B)"。GSM8K 70B:56.40 vs FP16 56.41。
- 校准效率:"AWQ needs a much smaller calibration to reach a good quantized performance"——16 序列 vs GPTQ 192 序列(10×小)。
- 消费级实测(TinyChat 引擎):RTX 4090 2.7–3.9× vs HF FP16;AutoGPTQ 至少 2.6×;Orin 上比 llama.cpp 最高 1.7×;RTX 4070 笔记本跑 Llama-2-13B 33 tok/s(显存不够 FP16 7B);Llama-2-7B 内核:52→62 tok/s(FP16 融合)再 ×3.1(量化内核);树莓派 4B 0.7 tok/s。
- 限制:s 权衡("overly large s will increase the relative error for the non-salient channels",s=2 PPL 最低而非 s=4);不可导靠网格搜索;W4A16 去量化要进主计算循环才能快,工程难度高。
来源 3:Which Quantization Should I Use? A Unified Evaluation of GGUF Quantization Formats(arXiv 2601.14277)
- 链接:https://arxiv.org/html/2601.14277v1
- 为什么重要:首篇对 llama.cpp GGUF 各格式做系统化 lm_eval 评测的论文;作者指出先前研究 "do not systematically evaluate the GGUF-specific quantization formats"。
- 设置:Llama-3.1-8B-Instruct(F16 基线 15317 MiB);13 种配置;llama.cpp commit b7600;lm_eval v0.4.9.2;双路 Xeon 8488C 共 96 物理核,纯 CPU。
- 帕累托前沿:5bit → Q5_0(Avg 69.92,全场最高);4bit → Q4_K_S(Avg 69.17,压缩 70.83%,支配 Q4_K_M);3bit → Q3_K_L(−0.99%)→ Q3_K_M(−2.02%)→ Q3_K_S(−5.73%,压缩上限 77.23%);8bit → Q8_0 被支配。
- 任务敏感性排序:GSM8K(77.63→68.31 @Q3_K_S)>> MMLU(63.50→59.31 @Q3_K_S)> IFEval > TruthfulQA > HellaSwag(全程 <1 分波动)。
- 反直觉发现:ppl 相同的方案下游表现分化(Q5_0/1/K_S 全部 ppl=7.43,但 GSM8K/IFEval 有差);部分中位宽 IFEval 高于基线(Q4_K_S 80.26 vs 78.93);Q5_0 > F16 基线——作者都提醒可能是噪声。
- CPU 吞吐:tg128:Q3_K_S 9.91 tok/s > Q4_0 > … > F16 2.83;pp512:Q4_0 97.35 最高(F16 79.57),pp 比 tg 对格式更敏感、变化"more irregularly"。
- 局限:单模型、单 harness、无 GPU 数据、无 IQ 系列——结论对"GGUF 家族内部选型"可信,对"GPTQ/AWQ/EXL2 vs GGUF"不能外推。
来源 4:GGUF 量化指南(k-quants / i-quants / 官方 ppl 表转述)— Toni Sagristà Sellés
- 链接:https://tonisagrista.com/blog/2026/quantization/
- 概念:GGUF 是 llama.cpp 的"de-facto default"格式;k-quants:"grouped/blockwise quantization with per-group scales",两级块(小→超块)+ scale 双重量化;i-quants:"importance-matrix/non-linear quantization for aggressive compression",用查找表 + 非线性重建换体积,"trade decoding speed for size",需 imatrix 校准,"Without it, quality can degrade noticeably"。
- 7B ppl 表(ΔPPL 相对 FP16,见上文表):梯度非常清晰——Q8_0 近无损(+0.0004)→ Q6_K +0.0044 → Q5_K_M +0.0142 → Q4_K_M +0.0535 → Q4_K_S +0.1149 → Q3_K_M +0.2437 → Q3_K_S +0.5505 → Q2_K +0.8698。legacy(Q4_0 +0.2499 等)全面被同位宽 k-quant 取代。
- 选型引文:"K-quants or I-quants are generally preferred over legacy formats at ≤ 5 bits";"Q4_K_M seems to be the community sweet spot";避免 Q2_K 与 IQ2_XXS;_M 后缀 = 敏感层保高位宽。
- 配套事实(llama.cpp 官方 README,https://github.com/ggml-org/llama.cpp/blob/master/tools/quantize/README.md ):现版 README 只列各格式 bpw(Q4_K_S 4.6672、Q4_K_M 4.8944、Q3_K_M 3.9960、Q6_K 6.5633、Q8_0 8.5008、F16 16.0005,针对 Llama-3.1-8B),不再含 ppl 表;明确警告
--allow-requantize"can severely reduce quality compared to quantizing from 16bit or 32bit";ppl/KLD 是精度损失的标准度量,可用 imatrix 最小化。
来源 5:消费级硬件选型指南 — GGUF vs EXL2 vs AWQ vs GPTQ(local-ai-zone)
- 链接:https://local-ai-zone.github.io/blog/quantization-formats-guide.html
- 四个方案定位:GGUF(全平台、免校准、k-quant);EXL2(任意目标 bpw 3.5–8.0、逐层位宽分配、NVIDIA-only、消费卡最快);AWQ(4bit、保护 ~1% 显著通道 ~8bit);GPTQ(4/8bit、Hessian 逐列误差补偿)。
- 体积:8B 模型 4bit:GGUF Q4 ≈ 4.5GB,EXL2/AWQ/GPTQ ≈ 4.0GB;"GGUF Q4_K_M is typically 10-15% larger than EXL2 4.0 bpw"。
- 质量:4bit ≈ "99% of BF16 quality on most benchmarks";"AWQ often matches GGUF Q5_K_M at Q4 file sizes";"GPTQ: Worse than AWQ at 4-bit";EXL2 4.25–5.0bpw 近无损、6bit 与 BF16 难分。
- 按显卡配速(原文引述):24GB(3090/4090)→ "EXL2 5.0 bpw for 70B models, EXL2 6.0 bpw for 13B models";12GB(3060/4070)→ "AWQ 4-bit for 13B, EXL2 4.0 bpw for 7B";8GB(3060 Ti/4060 Ti)→ "AWQ 4-bit for 7B, GGUF Q4_K_M for 3-4B";Apple Silicon → GGUF Q4_K_M 或 MLX;CPU-only → "GGUF Q4_K_M is the only practical option"。
- 趋势:FP4/NVFP4 有望 2026 年底成为默认;GGUF 在向 vLLM 等后端扩散。
三、综合结论:消费级显卡实测速查(跨来源合并)
- 速度(batch=1 生成):4bit 量化相对 FP16 的加速来自省带宽,量级 2.5–4.5×;AWQ 论文实测 4090 上 2.7–3.9×(对比 HF FP16 基线),GPTQ 论文实测 A6000/A100 3.24–4.53×(对比 FP16 内核基线);4090 vs 3090 同设置大约快 1.3–1.6×(社区聚合)。
- 精度:4bit 损失 0.4%–0.9%(统一评测)或 +0.05 ppl(Q4_K_M@7B);6bit/Q8 近无损;3bit 开始伤推理(GSM8K −9 分),2bit 不建议。
- 默认值共识:Q4_K_M 是"跨平台安全默认"(三个独立来源一致);纯 NVIDIA 追速度选 EXL2;质量敏感选 Q5_K_M/Q6_K;AWQ 在同体积下质量≈Q5_K_M。
- 风险点:低位宽(≤3bit)+ 数学/代码/工具调用任务是重灾区;requantize(重量化)会明显掉质量,务必从 16bit 原始权重直接量化。
- 证据强度分级:GPTQ/AWQ 论文 = 同行评审、可复现;统一评测 = 系统但仅 CPU + 单模型;GGUF ppl 表 = 社区多年积累但针对旧 7B 模型;local-ai-zone 与吞吐聚合数字 = 经验性,选型前应在自己硬件上用 llama-bench 复测。
四、未决问题 / 可再深入
- 8B 以上新模型(Qwen3、Llama-3.x 70B)上 Q4_K_M 的 ppl 损失是否仍是 +0.05 量级,无系统来源。
- 量化对中文能力的影响:本次所有来源均为英文基准,未覆盖。
- KV cache 量化(q8_0/q4 KV)与权重量化叠加后的精度损失:未纳入本次来源。
- GPTQ 与 AWQ 在消费级卡上的直接同条件对比实测:各论文实验设置不同,暂无公平对照。