显存计算器

显存 / 内存计算器

精确计算任意模型 × 量化 × 上下文长度的内存需求

选择模型,查看是否能在你的硬件上运行

4K
1
14816

在上方选择模型和量化格式以查看内存估算

这个估算是怎么算出来的

三项相加。模型权重 = 参数量 × bpw ÷ 8,换算为 GiB,再加 2%,用于覆盖多数量化器保持较高精度的 embedding 与 norm 张量。KV 缓存 = 2(K 和 V)× 层数 × kv_heads × head_dim × 上下文 × batch × 2 字节,最后一项是 fp16 缓存。激活缓冲取前两项之和的 10%,对应推理运行时每次前向分配的临时张量。选中索引内的模型时,计算器使用该模型自身实测的 bpw,而不是通用档位表 —— 两者可能相差很大:GPT-OSS 权重多为原生 MXFP4,其 Q8_0 实际是 5.10 bpw 而非 8.5。

为什么上下文长度比你以为的更关键

选定量化档位后权重就固定了,KV 缓存不会。它随上下文长度和 batch 线性增长,在长上下文模型上甚至会超过权重本身。决定这条曲线陡峭程度的是分组查询注意力(GQA)kv_heads 往往远小于注意力头数。Llama 3.1 8B 有 32 个注意力头,但只有 8 个 KV 头,因此缓存只有多头注意力的四分之一。两个体量相同的模型可能有完全不同的显存曲线 —— 所以本计算器从每个模型真实的 config 读取 layerskvHeadsheadDim,而不是假定一个通用形状。

与实测差多少

Llama 3.1 8B 在 Q4_K_M 下估算为 4.62 GB,而 bartowski 的实际文件为 4.58 GiB —— 足以据此决定买哪张卡。但它仍然是估算。不同运行时的预留差异很大:llama.cpp 的计算缓冲随 batch 与上下文增长,vLLM 会按固定比例预占显存(--gpu-memory-utilization,本站生成的命令默认 0.85),而 CUDA 本身在任何权重加载前就要占掉几百 MB 上下文。裁决颜色已经把这些考虑进去 —— 绿色表示估算占用不超过显存的 88%,琥珀色到 105%,因此绿色结果本身就留有余量。

常见问题

这个数字包含系统和显示占用吗?
不包含。它估算的是模型自身的需求。如果这张卡同时在驱动显示器,比较前请先扣掉约 0.5–1.5 GB —— 这也是绿色阈值定在 88% 而非 100% 的原因之一。
为什么同一个量化档位在不同模型上体积不同?
因为 bpw 是一套混合方案的平均值。Q4_K_M 会把部分张量保持在更高精度,具体比例取决于架构 —— 大部分参数位于专家层的 MoE 模型,量化结果与稠密模型不同。如果索引里的模型实际提供了该档位,计算器会用它的实测值而非通用值。
显示琥珀色的模型能跑吗?
通常可以,但要降低上下文或减小 batch —— 两者都直接压缩 KV 缓存。拉低上下文滑块,观察总量下降。如果短上下文下仍是琥珀色,那说明问题出在权重本身,需要换更低的量化档位。
反向模式有什么不同?
正向模式回答「这个模型能装进我的卡吗」。反向模式从显卡出发,列出索引中所有能装下的「模型 × 量化档位」组合,可按质量、速度或占用排序。两者使用同一套按模型的实测数据,因此结论一致。
这些数字是实测还是估算?
显存数字是计算得出,不是实测。模型索引中每个量化档位的 vramGB 与速度值都带有可信度标记 —— 实测、估算或社区数据;基准页面记录了实测数据背后的硬件与框架版本。