LLM 量化大小计算器
GGUF 文件大小 = 参数 × 每权重比特 ÷ 8。按 llama.cpp 实测的 4.89 比特,Llama 3.1 8B 的 Q4_K_M 为 4.58 GiB,Q8_0 为 7.95 GiB,F16 为 14.96 GiB(llama.cpp quantize README,2026 年 10 月 16 日核对)。
使用方法
- 选择模型会自动填入参数、层数、KV 头数和头维度,也可以直接填 config.json 里的值。
- 设置上下文长度、KV 缓存精度和额外开销比例。
- 在表中查看各量化格式的每权重比特、文件大小和总内存。名称旁的百分比是相对 F16 的大小。
计算方法
文件大小 = 参数 × 每权重有效比特 ÷ 8。本工具采用 llama.cpp 在 Llama 3.1 8B 上实测的值:F16 16.00,Q8_0 8.50,Q6_K 6.56,Q5_K_M 5.70,Q4_K_M 4.89,Q3_K_M 4.00,Q2_K 3.16。来源:ggml-org/llama.cpp 仓库 tools/quantize/README.md,2026 年 10 月 16 日核对。
这些值比名称里的数字大,是因为 K-quant 为每个权重块单独存储缩放值和最小值,而且嵌入层、输出层等部分张量保留更高精度。按 80.3 亿参数计算,Q4_K_M 为 4.58 GiB,与 README 一致。
内存 = 文件大小 + KV 缓存 + 额外开销。KV 缓存 = 2 × 层数 × KV 头数 × 头维度 × 上下文 × 每个值的字节数,与 GPU 显存计算器相同。额外开销是你为缓冲区和运行时设定的比例。
结果以 GiB(2^30 字节)表示。其他模型的张量构成不同,实际文件可能相差几个百分点。
各模型的文件大小
| 量化 | Llama 3.1 8B | Qwen2.5 32B | Llama 3.1 70B |
|---|---|---|---|
| F16 | 14.96 GiB | 61.02 GiB | 131.41 GiB |
| Q8_0 | 7.95 GiB | 32.42 GiB | 69.82 GiB |
| Q6_K | 6.14 GiB | 25.03 GiB | 53.91 GiB |
| Q5_K_M | 5.33 GiB | 21.75 GiB | 46.84 GiB |
| Q4_K_M | 4.58 GiB | 18.67 GiB | 40.20 GiB |
| Q3_K_M | 3.74 GiB | 15.24 GiB | 32.82 GiB |
| Q2_K | 2.95 GiB | 12.05 GiB | 25.95 GiB |
怎么选
- Q4_K_M 是常用默认选择,大小约为 F16 的 31%。
- Q5_K_M 和 Q6_K 比 Q4_K_M 多用 16% 和 34% 内存,更接近原始模型。
- Q8_0 约为 F16 的一半,质量最接近 F16。
- Q3_K_M 和 Q2_K 能把大模型塞进小显卡,但质量损失更大。llama.cpp 的 README 列有各格式的困惑度。
常见问题
7B 模型用 Q4_K_M 有多大?
每 10 亿参数约 0.57 GiB,70 亿参数约 3.99 GiB。72.5 亿参数的 Mistral 7B v0.3 约 4.13 GiB。
为什么 Q4_K_M 超过 4 比特?
每个权重块都存有自己的缩放值,部分张量保留更高精度。llama.cpp 在 Llama 3.1 8B 上实测为每权重 4.89 比特。
70B 模型用 Q4_K_M 能放进 48 GB 吗?
文件约 40.2 GiB。上下文 8,192 Token 时 KV 缓存再加 2.5 GiB,加上 10% 开销约 47 GiB,非常紧。
和 GPU 显存计算器有什么不同?
内存公式相同,但把所有 GGUF 格式按实测的每权重比特放进一张表,方便一眼对比。