模型观测站

跑 70B 模型的显存账本:权重、KV cache 与量化

2026-11-12 · 约 8 分钟

「我这台机器能不能跑 70B」这个问题,网上的答案通常是一个孤零零的数字。但显存占用由四项构成,其中只有一项跟参数量直接相关。

四项开销

总显存 ≈ 权重 + KV cache + 激活峰值 + 框架开销

权重      = 参数量 × 每参数字节数(量化等级决定)
KV cache  = 2 × 层数 × 头数 × 头维度 × 序列长度 × 批大小 × 精度
激活峰值  ≈ 与批大小、序列长度相关,推理时通常 < 2 GB
框架开销  ≈ 0.5–1.5 GB(CUDA context、分配器碎片)

第一项:权重

每参数字节数是量化等级的直接结果:

量化每参数字节70B 权重备注
FP16 / BF162.0约 140 GB基准精度
INT8 / FP81.0约 70 GB多数场景质量损失很小
Q6_K约 0.82约 57 GB
Q5_K_M约 0.70约 49 GB
Q4_K_M约 0.58约 41 GB性价比常用的拐点
Q3_K_M约 0.48约 34 GB长文推理开始出现明显退化

注意:上表是「纯权重」。实际加载还要加上 embedding、输出层以及对齐填充,通常再高 3%–8%。

第二项:KV cache,最容易被低估

KV cache 与参数量无关,只跟结构、序列长度、并发数有关。对常见的 70B 级模型(80 层、64 头、头维度 128):

每 token 每序列的 KV ≈ 2 × 80 × 64 × 128 × 2 字节 ≈ 2.6 MB(FP16)

8K 上下文、单并发  ≈ 21 GB
32K 上下文、单并发 ≈ 84 GB
8K 上下文、8 并发 ≈ 168 GB

这就是为什么「权重塞得下」不等于「跑得起来」:长上下文场景里,KV cache 往往比权重还大。

两个常见的压缩手段:

第三、四项:激活与框架

推理时激活峰值相对固定,批大小 1、8K 上下文通常在 1–2 GB。框架开销则是固定税:CUDA context 约 300–500 MB,加上分配器碎片,实际预留 1 GB 比较稳。

把它们加起来:三档配置

目标配置显存估算可行性
70B Q4,短上下文2 × 24 GB41 + 8 + 1.5 + 1 ≈ 52 GB刚好,需要张量并行
70B Q4,8K 上下文2 × 48 GB41 + 21 + 1.5 + 1 ≈ 65 GB宽松
70B FP16,32K 上下文4 × 80 GB140 + 84 + 2 + 1 ≈ 227 GB需要 4 卡

一句话总结

先算权重,再算 KV cache,最后加 2–3 GB 固定开销。绝大多数「跑不动」的案例,问题都出在第二步被忽略了。

← 返回首页