模型显存估算

🔮 Model VRAM Estimator

Estimate the VRAM needed for model weights and inference from parameter count, precision bytes and activation overhead, to choose deployment hardware.

📐 计算公式 / 原理
显存估算(本页代码口径):权重显存 W=参数量(十亿)×每参数字节数(GB,精度口径 FP32=4、FP16=2、INT8=1 字节);总显存=W+激活MB÷1000(GB)。校验:无强校验,空值按 0 兜底;图表与明细要求参数量、每参数字节均>0。判据:总显存≤24GB 判「能放进 24GB 卡」,否则判「不够」。
推理显存主要由权重决定:FP16 为 2 字节、INT8 为 1 字节、FP32 为 4 字节。训练还要加梯度与 Adam 状态(各再占 1 份与 2 份权重),加上随批量与序列长度增长的激活值,常是权重本身的数倍。

📐 计算公式与说明

显存判读(与上式互补):总显存随参数量线性增长,页面按 1/3/7/13/30/70B 参数量扫描出折线;每十亿参数显存=每参数字节数(GB),激活以 MB 输入后 ÷1000 折算 GB 计入总量。校验:与上方一致,参数量、每参数字节>0 才渲染。判据:无固定分级,精度字节减半权重显存同比例减半,激活开销由输入 MB 直接给定(预设含 FP16 推理、FP32 训练、INT8 量化三档)。

训练还需优化器状态(通常 2–4 倍权重)。

📚 深度解析:模型显存估算

💡 常见使用场景

7B 模型显存
7B 参数 FP16:权重≈7e9×2=14GB;加 KV 缓存与激活后推理约 16~18GB,可在 24GB 显卡跑;若训则需额外梯度+优化器(约 3~4 倍权重)。

❓ 常见问题(FAQ)

为什么训练显存远大于推理?
训练需保留前向激活供反向、存梯度(同尺寸)与优化器状态(Adam 约 2 倍权重),常使总显存达权重 3~4 倍;推理只需权重+少量激活。
显存不够怎么办?
量化降权重字节数、用梯度检查点换计算省激活、降 batch、或模型并行/张量并行分片;必要时上更大显存或分布式。

Formula & Standard References

Item Formula / Note Source / Standard
Weight footprint weight bytes equal parameter count times bytes per parameter IEEE 754-2019 floating point
Activation footprint activation memory grows with batch and sequence length and often exceeds the weights Korthikanti et al. 2022, activation recomputation
Headroom framework caching and fragmentation need headroom beyond the theoretical total PyTorch CUDA memory management docs