GPUFits

大模型显存计算器

精确计算任意大模型的显存需求:按量化档位与上下文长度分解权重、KV 缓存与系统开销。免费、数据可溯源、无需注册。

大模型显存计算器
总需求
3.9GB
Llama 3.2 3.21B · Q4_K_M · 4K
权重
2.0 GB 50%
KV 缓存
0.5 GB 12%
系统开销
1.5 GB 38%

许多运行时的默认上下文小于模型上限(例如 Ollama 默认仅 2048 token),实际占用以你的配置为准。

这个计算器怎么用

  1. 选模型。列表覆盖 Llama、Qwen、Gemma、DeepSeek 等主流开源模型,架构参数(层数、KV 头数、headDim)取自 Hugging Face 官方 config.json,不是估算值。
  2. 选量化档与上下文长度。量化档按每参数比特数(bpw)排列,bpw 数值由 GGUF 实测文件大小反推;上下文长度直接决定 KV 缓存大小,别默认拉满。
  3. 选显卡,读判定。判定分四档:舒适(需求 ≤ 可用显存的 80%)、紧张(≤ 100%)、需要多卡(≤ 120%)、不可行(> 120%)。Mac 等统一内存机型的可用显存按标称 × 0.75 折算,因为系统还要占用一部分。

显存需求是怎么算出来的

总需求 = 权重 + KV 缓存 + 系统开销,三块互相独立:

权重 = 参数量(B) × bpw ÷ 8
KV 缓存 = 2 × 层数 × KV 头数 × headDim × 2字节(fp16) × 上下文token数 ÷ 10⁹
系统开销 = 1.5 GB(固定)
  • 权重按量化档线性缩放:Q8_0 为 8.51 bpw,Q4_K_M 为 4.9 bpw,Q2_K 为 3.17 bpw。MoE 模型按总参数计算——所有专家都必须装进显存,不能只装每 token 激活的那几个。
  • KV 缓存公式开头的 2 是 K、V 两份。它与上下文长度严格线性:上下文翻倍,KV 翻倍。把 KV 从 fp16 量化到 q8(1 字节)可直接减半。DeepSeek-R1 这类 MLA 架构走另一条公式:层数 × (kvLoraRank + qkRopeHeadDim) × 字节 × 上下文,KV 占用远小于同规模 GQA 模型。
  • 系统开销固定 1.5GB,预留给 CUDA context 与推理运行时,不随模型或上下文变化。

手算示例:Llama 3.1 8B,Q4_K_M,8K 上下文

权重:8.03B × 4.9 ÷ 8≈ 4.9 GB
KV:2 × 32层 × 8头 × 128 × 2字节 × 8192 ÷ 10⁹≈ 1.1 GB
系统开销1.5 GB
合计≈ 7.5 GB

结论:12GB 的 RTX 3060 属「舒适」(7.5 ≤ 12 × 0.8),任何 8GB 显卡都直接不可行。把上下文拉到 32K,KV 变成约 4.3GB,合计约 10.7GB——3060 就落入「紧张」档了。

装不下时的取舍顺序

  1. 先降量化档。Q4_K_M 降到 Q3_K_M,权重省约 18%(4.9 → 4.0 bpw),质量损失通常可接受;Q2_K 质量损失明显,只作最后手段。
  2. 再缩上下文。KV 与上下文线性相关,32K 砍到 8K 即省掉四分之三的 KV。多数 RAG 与对话场景用不到满血窗口。
  3. KV 量化到 q8。KV 缓存直接减半,对生成质量的影响通常小于权重再降一档。
  4. 考虑多卡。同型号多卡可用显存直接相加、不打折,但推理速度吃 0.85 的等效带宽惩罚(理论估算 ±30%),主板、电源、散热成本也要翻倍。
  5. 最后才是 CPU 卸载。部分层放系统内存后,等效带宽掉到 60–100 GB/s,速度出现断崖(理论估算 ±30%),只适合离线批处理,不适合交互使用。

常见问题

70B 模型需要多少显存?
70B 模型在 Q4_K_M 量化、8K 上下文下约需 47GB——超出所有单卡消费级显卡。双 RTX 4090(48GB)可紧张运行;2×A6000 或 4×4090 可舒适运行。
上下文越长越吃显存吗?
是的。KV 缓存随上下文长度线性增长。以 Qwen3-32B Q4_K_M 为例,从 8K 加到 32K 上下文会多出约 6.5GB。
系统开销一项是什么?
为 CUDA context 与运行时显存预留的固定 1.5GB,加在权重与 KV 缓存之上。
Q4_K_M 比 Q8_0 省多少显存?
权重部分按 bpw 等比例缩小:Q4_K_M 为 4.9 bpw,Q8_0 为 8.51 bpw,权重省约 42%。以 Llama 3.1 8B 为例,权重从 8.5GB 降到 4.9GB;KV 缓存与权重量化档无关,不受影响。

相关阅读