如何使用 LLM 显存计算器
LLM 显存计算器用于回答一个很具体的问题:本地显卡能不能跑某个大语言模型。先输入模型参数量,单位是十亿参数,也就是常见的 7B、8B、14B、32B、70B 中的 B。然后选择权重量化精度,例如 FP16、INT8、INT4 等。量化精度主要影响模型权重本身占用的显存,同一个 8B 模型在 FP16 和 INT4 下的权重显存会有明显差异。
如果暂时没有完整参数,可以先使用模型预设。Llama 风格 8B 适合普通本地推理入门,Qwen 风格 14B 代表中等规模模型,Llama 风格 70B 可以展示大模型即使量化后仍然需要较大显存。8B 长上下文预设则用于观察上下文长度增加后,KV 缓存如何变成主要显存来源。
接着填写上下文长度、批大小、Transformer 层数、隐藏维度、注意力头数和 KV 头数。这里的 KV 头数很关键:许多现代模型使用分组查询注意力,KV 头数可能远少于注意力头数,因此长上下文显存会比普通多头注意力更低。KV 缓存精度用于描述缓存中 K/V 张量的存储格式,运行缓冲比例则给推理引擎工作区、临时张量、显存碎片和框架开销留出余量。
右侧结果会拆分为模型权重显存、KV 缓存显存、运行缓冲显存和总显存,并提示大约需要 8GB、12GB、16GB、24GB、48GB 还是更高显存的 GPU。这个档位是规划参考,不是绝对承诺。如果显卡还要负责显示输出、同时运行其他程序,或者推理框架启用了较大的 CUDA 图,建议选择更高一档。
公式与原理 - LLM 显存计算器
LLM 显存计算器把本地推理显存拆成三部分:模型权重、KV 缓存和运行缓冲。模型参数量以 B 为单位输入,结果以 GiB 显示。
模型权重显存 GiB =
模型参数量 B * 1,000,000,000
* (权重位宽 / 8)
/ 1024^3
KV 缓存会随着层数、批大小、上下文长度和 KV 头数增长。计算器先用隐藏维度除以注意力头数得到每个头的维度,再乘以 K 和 V 两份张量。
单头维度 =
隐藏维度 / 注意力头数
KV 缓存显存 GiB =
层数
* 批大小
* 上下文长度
* KV 头数
* 单头维度
* 2
* (KV 缓存位宽 / 8)
/ 1024^3
运行缓冲不是固定物理常数,它会受到推理引擎、显存分配器、分页注意力、FlashAttention、CUDA 图和量化元数据影响。因此工具使用可调百分比,并设置一个较小的最低缓冲值,避免把理论值误认为显卡可完全占满。
运行缓冲显存 GiB =
max(0.5, (模型权重显存 GiB + KV 缓存显存 GiB) * 运行缓冲百分比 / 100)
总显存 GiB =
模型权重显存 GiB
+ KV 缓存显存 GiB
+ 运行缓冲显存 GiB
显卡档位按照总显存匹配最小可容纳档位。如果总显存已经超过该档位的 90%,结果会提示空间偏紧,因为真实环境中还可能存在框架常驻内存、显存碎片、显示占用和后台进程。
使用场景 - LLM 显存计算器
LLM 显存计算器适合本地模型部署、家用显卡选型、推理服务器规划和 RAG 原型评估。你可以用它判断 8GB 显卡是否能跑 7B 或 8B 的 INT4 模型,也可以比较 INT8、INT5、INT4 版本到底节省了多少权重显存。如果模型已经能加载,但一拉长上下文就爆显存,这个工具可以快速指出问题是否来自 KV 缓存。
在长上下文场景中,它尤其有用。上下文长度从 8K 增加到 32K 或 128K 时,模型权重显存不变,但 KV 缓存会按长度线性增长。批大小也会线性放大 KV 缓存,因此单人聊天能跑的配置,未必能直接用于多人并发服务。
这个工具也适合阅读模型卡时做快速判断。只要模型卡给出了层数、隐藏维度、注意力头数和 KV 头数,就可以估算长上下文下的缓存显存。采用 MQA 或 GQA 的模型通常更适合长上下文本地推理,因为 KV 头数更少。LLM 显存计算器只聚焦“我的显卡能不能跑”“量化后需要多少显存”“上下文增加会占多少显存”这些真实部署问题,避免和 API 成本计算、token 计数或上下文窗口比较工具重叠。