首页/AI/大模型部署与运维速查/显存预算四块构成

显存预算四块构成

单卡显存预算分四块:权重、KV 缓存、激活与工作区、框架/驱动开销;权重决定「跑不跑得起来」,KV 决定「能并发多少」,两张表分开估算再合账。

显存预算分四块

单卡显存要同时满足四类占用:模型权重、KV 缓存、激活与工作区、框架与通信缓冲。权重决定「跑不跑得起来」,KV 决定「能并发多少」,工作区随批大小变化,框架开销基本固定。把前三块分开算再合账,比笼统留个百分比更可靠,出问题时也更容易判断该压哪一项。

四块构成

组成决定因素随并发增长
权重参数量乘精度字节数否,多卡时按并行切分
KV 缓存序列长度、并发数、模型结构与缓存精度是,接近线性增长
激活与工作区批大小、算子实现与后端选择是,但幅度较小
框架与通信缓冲引擎实现与并行配置基本固定,含通信缓冲

分阶段估算

分阶段估算
# 第一步:权重能不能装下(用十进制口径,注意与工具显示口径一致)
权重 ≈ 参数量 × 每参数字节数
# 第二步:KV 池能撑多少并发
KV 池 = 卡容量 × 引擎显存比例 - 权重 - 工作区预留
# 第三步:由 KV 池反推并发上限,再用高水位长度(如 P95)重算一次
# 第四步:留余量:框架开销与碎片按总量的一成预留

典型使用场景

  • 采购前评估:判断目标模型与并发目标能否在选定卡型上落地
  • 排查溢出:定位是权重超了、KV 超了,还是工作区被批大小顶爆
  • 调整参数:按构成决定先缩短上下文,还是降低引擎显存比例
  • 多实例共卡:给每个实例分配比例时先算清各自四块占用之和
  • 混部设计:小模型与大模型同卡时,按权重与 KV 分别核算

口径提醒

精度口径每参数字节数按 FP16、INT8、四位分别取值
单位口径十进制 GB 与二进制 GiB 相差约百分之七
统计口径工具显示的已用显存包含分配器保留的缓存
预留口径工作区与碎片按实测校准,不要照抄别人的比例
分阶段估算的顺序不能颠倒:先确认权重装得下,再算 KV 池推并发上限,最后用实测曲线校准预留比例。
只按权重选卡是最常见的误判:长上下文与高并发下 KV 缓存可以超过权重占用,容量规划必须把两块放在一起看。

易错点

  • 只算权重就上卡:KV 与工作区没有预留,一上并发就显存不足
  • 按平均长度估 KV:长请求扎堆时直接触发抢占或失败,必须看长度分布的高水位
  • GB 与 GiB 混用:差百分之七的量级在边界机型上直接决定是否溢出
  • 把引擎显存比例当作可用容量:比例乘以卡容量才是总预算,还要减掉权重与工作区
  • 忽略多实例叠加:两个实例各自的比例相加超过总量时,运行中途必然失败

数据来源与参考

  • vLLM 官方文档:显存占用与调优(docs.vllm.ai)
  • NVIDIA 数据中心部署指南(docs.nvidia.com/datacenter)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌