本文介绍了在本地运行大语言模型(LLM)时计算显存(VRAM)需求的实用公式与指导原则。核心逻辑为“显存 ≈ 参数量 × (位宽 ÷ 8)”,详细对比了FP16、FP8及各类量化格式(如GGUF、4-bit)的占用情况,并提醒开发者需额外考虑KV缓存和框架开销等“显存税”。

如果你在本地运行模型,一旦考虑到权重最初是如何训练和量化的,那么“模型 → 显存(VRAM)”的简单思维就会失效。
这里有一个更好的思考方式:
VRAM (GB) ≈ 参数量 (B) × (有效位宽 ÷ 8)
这个公式解释了以下所有内容:
直观理解如下:
GGUF 格式根据具体方案介于两者之间:
超激进的量化甚至更低,但会牺牲性能。如果只记住一点,请记住:

在考虑权重之前,请明白:模型本身只是显存账单的一部分。真正的杀手是其周边的开销。
底线是:如果你只为权重预留预算,那么显存肯定会溢出。
将上述逻辑转化为实际的模型大小:
7B 模型:
13B 模型:
70B 模型:
405B 模型:
现在你明白为什么人们要么进行激进量化,要么进行多卡切分(如张量并行 Tensor Parallelism),或者干脆放弃并选择云端服务。
以下是针对个人拥有 GPU 的实际转化参考。
8 GB VRAM:
12 GB VRAM:
16 GB VRAM:
24 GB VRAM:
48 GB VRAM:
80 GB VRAM:
如前所述,即使计算结果显示可以容纳,显存依然可能耗尽。因为权重只是故事的一部分。
你还需要为以下内容预留内存:
经验法则: 额外预留 10–30% 的显存以确保安全运行。如果你正在处理长上下文(32K, 128K 等)、高并发或 Agent 工作流,你将需要更多显存。
混合专家模型常让人困惑。例如,“8x7B” 听起来像 56B,但每个 Token 仅运行一部分专家。
因此,计算成本 ≠ 显存成本。关键在于:
取决于模型的加载方式,你可能仍需要为所有专家提供内存,或者你可以将它们分片到多个 GPU 上。如果你像对待稠密模型(Dense)那样对待 MoE,要么会严重高估,要么会严重低估。
GGUF 常被视为“作弊码”,但事实并非如此。它是一种容器 + 量化策略,针对以下场景进行了优化:
但是,这些显存数据仅适用于该运行时。一旦切换到其他框架,权重可能会被反量化,显存占用可能会大幅跳升。所以,“它能在 6 GB 显存运行”并非普适真理,而是特定运行时的结论。
你不需要记住庞大的兼容性矩阵,只需记住这个:
VRAM (GB) ≈ 参数量 (B) × (有效位宽 ÷ 8)
然后根据以下因素进行调整:
就是这样。一旦内化了这一点,你就不再需要猜测,而是开始设计系统。更重要的是,你不再问“我能运行这个吗?”,而是开始问“我想如何运行这个?”。
这才是真正有趣的地方。下次见。
- 原文链接: x.com/theahmadosman/stat...
- 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!