AI 模型与选型5 分钟阅读
您的模型需要多少 GPU 显存(VRAM)?
GPU 显存决定了您能运行哪些模型、上下文能有多长,以及能同时处理多少请求。以下是我们使用的计算公式、常见开放权重模型的实例,以及适配每个模型的最便宜服务器。
CryptGPU 团队发布于

核心要点
- 权重大小 = 参数量 × 每参数字节数:70B 模型在 BF16 下约需 140 GB,FP8 下约需 70 GB,4 位下约需 35 GB。
- KV 缓存会随上下文长度和并发请求数增长:Llama 3.1 70B 在 BF16 下每个 token 约 0.33 MB,一段 128K token 的对话约需 43 GB。
- CryptGPU 的显存选型规则:BF16 下每 10 亿参数 2.4 GB,FP8 下 1.2 GB,4 位下 0.65 GB,GPU 显存按 92% 计为可用。
- 训练需要的显存远不止于此:全参数训练配合 Adam 优化器约为每参数 18 字节,LoRA 约为每 10 亿参数 3 GB,QLoRA 约为 0.75 GB。
从权重开始
第一项很简单:
weights (GB) = parameters (billions) × bytes per parameter
- BF16 或 FP16:每参数 2 字节。Llama 3.1 70B 约需 140 GB。
- FP8:每参数 1 字节。同一模型约需 70 GB。
- 4 位格式(如 GPTQ、AWQ 或 MXFP4):每参数约 0.5 字节,实际会略高一些,因为还要存储缩放系数。同一模型约需 35 GB。
真实的权重文件符合这一规律。gpt-oss-120b 拥有 1168.3 亿个参数,其混合专家权重以 MXFP4 格式发布,权重文件大小为 60.8 GiB(约 65 GB),约合每参数 0.56 字节。DeepSeek-V3 和 DeepSeek-R1 拥有 6710 亿个参数,以 FP8 权重发布,因此仅主模型就约需 671 GB。
加上 KV 缓存
在生成过程中,模型会为每一层里每个序列的每个 token 都保留一个键向量和一个值向量。这就是 KV 缓存,它会随着上下文长度和同时处理的序列数增长:
KV per token (bytes) = 2 × layers × KV heads × head dimension × bytes per value
KV cache (bytes) = KV per token × tokens of context × concurrent sequences
这里的 2 对应键和值两部分。使用分组查询注意力的模型,其 KV 头数远少于注意力头数,因此缓存开销更容易控制。Llama 3.1 70B 有 80 层、8 个 KV 头,头维度为 128,因此在 BF16 下每个 token 的开销为 2 × 80 × 8 × 128 × 2 = 327,680 字节,约 0.33 MB。
| 模型 | 层数 / KV 头数 / 头维度 | 每 token(BF16) | 8K token | 32K token | 128K token |
|---|---|---|---|---|---|
| Llama 3.1 8B | 32 / 8 / 128 | 0.13 MB | 1.1 GB | 4.3 GB | 17.2 GB |
| Qwen3-32B | 64 / 8 / 128 | 0.26 MB | 2.1 GB | 8.6 GB | 34.4 GB(配合 YaRN) |
| Llama 3.1 70B | 80 / 8 / 128 | 0.33 MB | 2.7 GB | 10.7 GB | 42.9 GB |
| Llama 3.1 405B | 126 / 8 / 128 | 0.52 MB | 4.2 GB | 16.9 GB | 67.6 GB |
以上数字均按单个序列计算;8K、32K 和 128K 分别指 8,192、32,768 和 131,072 个 token。Qwen3-32B 原生支持 32,768 个 token,配合 YaRN 缩放可达 131,072 个。在 Llama 3.1 70B 上,32 个并发的 8K 对话需要 86 GB 缓存,超过 FP8 权重本身的大小。vLLM 等推理引擎可以用 FP8 存储缓存,从而将其减半。DeepSeek-V3 和 R1 使用多头潜在注意力,将缓存压缩为一个潜在向量,因此这个公式会高估它们的实际需求。
预留余量
显存占用并不只有权重和缓存。激活值、CUDA 或 ROCm 上下文、推理引擎的缓冲区,以及显存碎片化,都会占用一部分空间。以下两条经验法则能让估算更贴近实际:
- GPU 显存按 92% 计为可用。一块 80 GB 的 H100 约可用 73.6 GB,一块 288 GB 的 B300 或 MI355X 约可用 265 GB。
- 对于中等上下文长度的推理,在权重基础上增加 20%,4 位格式则增加 30%。若上下文很长或批量很大,应改为直接计算 KV 缓存。
由此得出:BF16 下每 10 亿参数 2.4 GB,FP8 下 1.2 GB,4 位下 0.65 GB,这也是我们的选型助手所使用的系数。将其应用到我们的服务器上,可用显存如下:
| GPU(每卡显存) | 1 GPU | 2 GPU | 4 GPU | 8 GPU |
|---|---|---|---|---|
| B300 或 MI355X(288 GB) | 265 GB | 530 GB | 1,060 GB | 2,120 GB |
| B200(180 GB) | 166 GB | 331 GB | 662 GB | 1,325 GB |
| H200(141 GB) | 130 GB | 259 GB | 519 GB | 1,038 GB |
| RTX PRO 6000(96 GB) | 88 GB | 177 GB | 353 GB | 707 GB |
| H100(80 GB) | 74 GB | 147 GB | 294 GB | 589 GB |
| L40S(48 GB) | 44 GB | 88 GB | 177 GB | 353 GB |
| RTX 5090(32 GB) | 29 GB | 59 GB | 118 GB | 不提供 |
| RTX 4090(24 GB) | 22 GB | 44 GB | 88 GB | 不提供 |
| RTX 5080(16 GB) | 15 GB | 29 GB | 59 GB | 不提供 |
微调与全参数训练
训练过程中,显存里存放的远不止权重本身。
- 配合 Adam 优化器的全参数训练在混合精度下,激活值之外每参数需要 16 字节:16 位权重占 2 字节,梯度占 2 字节,FP32 主权重和 Adam 的两个矩估计占 12 字节,具体见 ZeRO 论文。激活值会随批量大小和序列长度增长,因此我们按每参数 18 字节预算:8B 模型约需 144 GB,70B 模型约需 1.26 TB。
- LoRA 将基础模型冻结在 16 位精度(每参数 2 字节),只训练小型适配器矩阵。算上激活值,预算约为每 10 亿参数 3 GB:8B 模型 24 GB,70B 模型 210 GB。
- QLoRA 将冻结的基础模型加载为 4 位,并在此基础上训练适配器:约为每 10 亿参数 0.75 GB,70B 模型为 52.5 GB。
用 FSDP 或 DeepSpeed ZeRO 进行分片,可以将这些状态分摊到服务器内的各个 GPU 上,因此真正起决定作用的是服务器的总显存。参见多 GPU 配置。
实例讲解
下面把这些系数应用到真实模型上,参数量取自官方模型卡片,显存按 92% 计为可用:
| 模型与任务 | 预估需求 | 适用的最便宜服务器 | 最便宜的 NVIDIA 服务器 |
|---|---|---|---|
| Llama 3.1 8B,BF16 推理 | 19.2 GB | 1× RTX 4090,$269 | 相同 |
| Llama 3.1 8B,LoRA | 24 GB | 1× RTX 5090,$329 | 相同 |
| Qwen3-32B(32.8B),FP8 推理 | 39.4 GB | 2× RTX 4090,$538 | 相同 |
| Llama 3.1 70B,QLoRA | 52.5 GB | 2× RTX 5090,$658 | 相同 |
| gpt-oss-120b(116.83B),MXFP4 | 75.9 GB | 1× RTX PRO 6000,$959 | 相同 |
| Llama 3.1 70B,FP8 推理 | 84 GB | 1× RTX PRO 6000,$959 | 相同 |
| Llama 3.1 8B,全参数训练 | 144 GB | 1× MI355X,$1,409 | 2× RTX PRO 6000,$1,918 |
| Llama 3.1 70B,LoRA | 210 GB | 1× MI355X,$1,409 | 4× RTX PRO 6000,$3,836 |
| Llama 3.1 405B,FP8 推理 | 486 GB | 2× MI355X,$2,818 | 8× RTX PRO 6000,$7,672 |
| DeepSeek-V3 或 R1(671B),FP8 推理 | 805 GB | 4× MI355X,$5,636 | 4× B300,$16,076 |
有三点需要说明。OpenAI 表示 gpt-oss-120b 可以放进单块 80 GB 的 GPU(例如 H100);我们的规则为缓存预留了更多空间,因此列出的是 96 GB 的显卡。当一个模型被拆分到多块 PCIe 显卡上(RTX 4090、RTX 5090、RTX PRO 6000)时,GPU 之间要通过 PCIe 交换数据,速度比 NVLink 或 Infinity Fabric 慢,因此要确认您的推理引擎或训练框架能很好地处理这种拆分。另外,对于 405B 模型,在 NVLink 上 2× B300($8,038)和 4× H200($9,116)也同样适用。
MI355X 之所以经常出现,是因为它在我们的产品线中每美元显存最多;它的取舍在我们的 MI355X 文章中有介绍。
在选型助手中查看
我们配置器中的选型助手正是应用了这些系数:选择模型大小和工作负载,它就会显示所需显存、适配的最便宜配置,以及剩余的显存。请把这个结果当作起点。长上下文、大批量和某些引擎所需的显存会超出经验法则的估算,因此在确定配置之前,先加载一次模型,用 nvidia-smi 或 rocm-smi 观察实际使用情况。
对于我们可以预装的开放模型,例如 Qwen、DeepSeek、gpt-oss、Gemma 和 Kimi,开放模型页面列出了每个模型所需的显存,以及运行它的最便宜服务器。




