← AI Hashrate

LLM 量化详解:Q4 vs FP16 vs Q8 vs Q2

每个精度档位在 VRAM 和质量上的代价 · AI Hashrate 指南

当模型塞不进你的显卡时,量化是你手里最有力的那个开关。同一个 70B 模型,改一个设置,内存需求可以是 156 GB,也可以是 54 GB。这篇指南讲清楚这些数字是什么意思、每一档要牺牲什么,以及 AI Hashrate 的估算为什么只聚焦两档:Q4FP16

一分钟搞懂什么是量化

LLM 本质上是一张巨大的数字表格,这些数字叫权重。原始训练格式下,每个权重通常用 16 位浮点数存储——每个参数占 2 字节。量化就是用更少的位数重新存储这些权重:每个参数 8 位、4 位、甚至 2 位,同时配合巧妙的缩放处理,让模型的行为尽量保持不变。

每个权重的位数更少,意味着三件事:VRAM 占用更低(模型本体更小)、解码更快(每生成一个 token 都要从内存里读一遍全部激活权重,权重越小,在内存总线上搬运得越快),以及一定的质量损失——位数压得越低,损失越大。

FP16、Q8、Q4、Q2 到底是什么意思?

档位位/权重~字节/参数典型质量影响
FP16 / BF16162.0参考级质量
Q88~1.0大多数用途下几乎无感
Q44~0.55(含缩放系数/元数据)有轻微损失,有时能察觉
Q22~0.3明显退化;不得已才用的档位

Q4 和 Q2 的字节/参数数字是近似值:实际格式(GGUF、AWQ、GPTQ 等)除了量化后的权重,还要额外存缩放系数,所以一个"4 位"模型的平均值是每参数约 0.55 字节,而不是精确的 0.5。

每一档到底能省多少 VRAM?

用 AI Hashrate 公式(权重 + 8K 上下文的 KV + 1 GB 开销)算一个 Llama-3.1-8B 级别的模型:

档位权重估算总量能装下的显卡示例
FP1616.0 GB18.6 GBRTX 4090 24GB
Q8(~1.0 B/参数)~8.0 GB~10.6 GB12 GB 卡,比较紧
Q44.4 GB7.0 GBRTX 3060 12GB,任意 8 GB 卡
Q2(~0.3 B/参数)~2.4 GB~5.0 GB6 GB 卡

从 FP16 降到 Q4,内存开销大约砍掉 60%,同一张卡上解码大约快 3–4×,因为解码速度由内存带宽决定:每个 token 要搬的字节越少,每秒能出的 token 就越多。你可以在任意 AI Hashrate 硬件页面的估算 tok/s 列里直接看到这一点。

Q4 实际会损失多少质量?

比大多数人预期的要小,模型越大越是如此。公开评测的社区共识是:强模型的 Q4 量化版能保住绝大部分跑分,而且越大的模型对 4 位量化耐受越好——70B 的 Q4 通常被认为比 13B 的 FP16 更能打,两者内存占用还差不多。Q4 损失最容易暴露的场景:多步长推理链、精确算术、冷门知识回忆。日常聊天、摘要和写代码辅助,大多数用户觉得强模型的 Q4 完全够用。

我们这里刻意不给任何数字化的质量结论——质量高低取决于具体 benchmark,而本站的数字只做显存和速度估算。

Q2 什么时候值得用?

几乎永远不该是首选。Q2 只为一种场景存在:硬跑一个远超你硬件承受能力的大模型,并接受肉眼可见的退化——比如把 70B 的 Q2 塞进一张 24 GB 的卡。即便如此,实践中一个激活参数小的 MoE 模型或中等尺寸的 Q4 模型通常表现更好。把 Q2 当实验品,别当日常主力。

AI Hashrate 为什么只估算 Q4 和 FP16?

三个原因:

所以你到底该选哪个量化档?

简单的决策规则:选能在 Q4 下装进你的 VRAM 且留有富余的最大模型;只有当模型装得很宽松、且任务对质量敏感时才升到 FP16;只有当其他档位都装不下时才往 Q4 以下降。在 AI Hashrate 首页可以把你的具体显卡对任意模型查一遍——适配/速度矩阵会即时算出两档在 8K 上下文下的结果。