推理显存三段式:

VRAM ≈ 模型权重 + KV cache + 激活/运行时开销

权重是静态的(只与参数量和精度有关);KV cache 随上下文长度线性增长;激活随 batch 增长。下面以 deepseek-v4-flash(MoE,总参 284B / 激活 13B / 1M 上下文)逐项拆解。

0. 模型参数速览(官方 config.json)

项值
层数 / hidden / 词表43 / 4096 / 129,280
注意力MLA 变体:KV 压成 512 维 latent + 64 维 RoPE,Shared-KV(K/V 共用一条向量)
注意力层配比3 层全量 + 20 层 CSA(4x 压缩)+ 20 层 HCA(128x 压缩),另加 128 token 滑动窗口
专家256 routed(top-6)+ 1 shared,expert intermediate 2048
官方权重精度专家 FP4 + 非专家 FP8(QAT 原生量化,不是后量化)

1. 权重显存 = 参数量 × 每参数字节数

精度每参数284B 权重
BF16/FP16(理论”原版”全精度)2 B568 GB(≈529 GiB)
FP8 / INT81 B284 GB
INT40.5 B142 GB
INT4 + scale(group=128)≈0.52 B≈146 GB
MXFP4(block32 + E8M0 scale)≈0.53 B≈151 GB

GB 按 1e9 字节、GiB 按 2^30;GPU 显存颗粒按 GiB 计。

MoE 关键点:显存看总参,速度看激活参。 每 token 只激活 13B(6 专家 + shared + 注意力),但 256 个专家共 277B(≈97.5%)必须全量驻留显存——路由是动态的,无法预知下一个 token 选哪 6 个专家。13B 决定的是 FLOPs 与生成速度,不决定显存。

参数分布验算(≈284B):routed experts 43×256×(3×4096×2048) ≈ 277B;shared expert ≈1.1B;注意力+indexer ≈2-3B;emb+lm_head ≈1.1B。

官方发布精度:V4 为 QAT 训练,官方 checkpoint 专家已是 FP4、非专家 FP8 blockwise,实测权重 ≈150-162 GB(GGUF 卡:AD-BF16 原样重打包 162.1 GB、AD-MXFP4 154.5 GB)。即对这个模型而言”原版”≠BF16。

2. KV cache = 每 token 每层字节 × 层数 × 上下文长度

通用公式:

  • MHA/GQA/MQA:bytes/token = 2(K+V) × n_kv_heads × head_dim × n_layers × 每元素字节
  • MLA(V3 式):KV 压成单个 latent,bytes/token = (kv_lora_rank + rope_dim) × n_layers × 字节;V3.2 为 (512+64)×2×61 ≈ 70 KB/token
  • V4 再沿序列维度压缩:CSA 每 4 token 合 1 条、HCA 每 128 token 合 1 条,且 Shared-KV(一条 576 维向量同时当 K 和 V)

BF16 下 deepseek-v4-flash 每 token 摊到各层的 KV:

层类型层数每 token 字节小计
全量(ratio 0)3576×2 = 11523456
CSA(1/4)202885760
HCA(1/128)209180
合计43≈9.2 KB/token≈9.4 KB

1M 上下文:≈10 GB(BF16 KV)/ ≈5 GB(FP8 KV)。CSA 层另有 Lightning Indexer 索引键缓存(~128 维/token/层量级),合计上浮到 15 GB 量级。交叉验证:官方口径”1M 下 V4-Flash KV 为 V3.2 的 7%“,V3.2 同条件 ≈70 GB → ≈5 GB,量级一致(个位十几 GB);对比 naive GQA8 基线官方称仅 ~2%。

结论:V4 时代 1M 上下文的 KV 也只有个位~十几 GB,显存大头始终是权重。 别照搬 V3 时代”长上下文 KV 比权重还大”的直觉。

3. 激活与运行时开销

  • 激活 ∝ batch × seq × hidden × 层数;单 batch 解码通常 GB 级,远小于权重
  • 框架预留:vLLM/SGLang 按 gpu_memory_utilization(常 0.85-0.9)预占 KV pool;CUDA context/graph ~1-3 GB
  • MTP 投机头(config num_nextn_predict_layers: 1):小几 GB 内

4. 总量与部署档位

版本权重+1M KV+开销合计可跑硬件
理论原版 BF16568 GB+~15 GB≈585 GB8×H800 80G 紧、8×96G 稳
官方混合精度(FP4 专家+FP8)~155 GB+~10 GB≈165-175 GB2×H800 96G / 2×DGX Spark(社区实测 1.5M ctx)/ Mac ≥192G 统一内存
INT4 量化~146-155 GB+~10 GB≈160-170 GB同上,或 8×RTX 4090 24G

Insight:INT4 版与官方版权重几乎一样大——专家占 97.5% 参数且官方已 QAT 到 4bit,社区 INT4 基本是”原样打包”;再往下压(<3bit)PPL/KL 快速劣化(GGUF 卡有实测表)。想进一步省显存,方向是压 KV(FP8/NVFP4 KV)和稀疏化 KV 管理(见 2606.09079_flashmemory-deepseek-v4 的预测式 KV 管理,KV 再压到基线 13.5%)。

5. 速查公式(任意模型)

权重 GB ≈ 参数量(B) × 每参数字节            # BF16=2, FP8=1, INT4≈0.5+scale
KV GB  ≈ 2 × n_kv_heads × head_dim × 层数 × 字节 × seq × batch / 1e9   # MHA/GQA
         MLA: 2×n_kv×d_head 换成 (kv_lora_rank + rope_dim)
         V4 : 每层再 × 1/compress_ratio(4 或 128),+滑动窗口常量项
激活/开销 ≈ 1-5 GB 起步,随 batch 线性
MoE: 权重按总参算,FLOPs 按激活参算

关联

资源