LLM 显存计算器

使用 LLM 显存计算器估算本地大语言模型推理显存,拆分模型权重、KV 缓存、运行缓冲和推荐显卡档位。

840.0K 次使用 最近更新 · 2026-06-10 本地运行 · 零上传
AD

如何使用 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 计数或上下文窗口比较工具重叠。

关于LLM 显存计算器的常见问题

LLM 显存计算器估算什么?

它估算本地推理时的模型权重显存、KV 缓存显存、运行缓冲显存、总显存,以及大致需要的 GPU 显存档位。

这个工具会计算 API 价格或 token 数吗?

不会。它只关注本地 GPU 显存需求,不计算 API 价格、不做 token 计数,也不比较模型上下文窗口。

为什么 KV 头数会影响显存?

采用 GQA 或 MQA 的模型通常 KV 头数少于注意力头数,长上下文时 KV 缓存显存会明显下降。

我的数据会被存储吗?

不会。所有计算都在浏览器本地完成,不会发送到服务器。