估算与实测闭环

用三份数据互相校准:启动日志的 KV 容量与并发估计、运行期 nvidia-smi 水位、公式计算值;偏差超出预期就回查系数(KV 头数、精度、长度口径)并更新容量表。

三份数据互相校准

容量规划要靠三份数据互相校准:启动日志里报告的缓存容量与并发估计、运行期显卡的实际水位、以及公式算出来的理论值。三者偏差超出预期,就回头检查系数:缓存头数、数据精度、长度口径。校准后的系数写进部署文档,同型部署下次直接复用。

基本信息

适用平台自托管推理服务的容量与显存排查
三份数据启动日志、运行期水位、公式计算值
校准对象缓存头数、数据精度、长度口径
产出物更新后的容量表与部署文档

三件套

三件套
# 1) 启动日志:缓存可容纳的 token 数与并发估计
# 2) 运行期水位:
nvidia-smi --query-gpu=memory.used --format=csv -l 5
# 3) 用公式重算,与上面两处逐项对照

典型使用场景

  • 新机型上线:先跑一遍校准,再对外写容量承诺
  • 精度切换:量化会改变权重占用,缓存系数也可能变化
  • 框架升级:缓存管理实现变化后,旧的估算值需要复核
  • 事故复盘:实际水位与估算偏差大时,先找出是哪一项系数错了

三份数据怎么读

数据来源看什么常见偏差原因
启动日志缓存可容纳的 token 数与并发估计长度口径与预留设置不一致
运行期水位显卡显存的实际占用曲线含权重与工作区,不能直接当缓存
公式计算按头数、精度、长度算出的理论值系数取错或忽略了碎片
把校准后的系数写进部署文档:同型部署下次直接复用,不必重复试错。
记录测量条件:并发、输入输出长度与采样参数一起记,否则两组数字之间没有可比性。
偏差的方向也是信息:实测远低于估算多为预留过多,实测高于估算多半是碎片与工作区被低估。
把采集脚本固定下来:每次用同一条命令取数,避免不同人用不同口径,把差异误当成系统变化。

易错点

  • 估算与实测各写各的:偏差不回收,下次规划继续凭感觉
  • 只看显卡总占用不看缓存水位:权重与缓存的占用混在一起,判断不出可并发数
  • 校准一次就不再复核:框架与模型换版本后系数会变,结论要跟着更新
  • 拿峰值当持续容量:突发时刻的水位不代表可以长期维持的并发

数据来源与参考

  • vLLM 官方文档:显存与指标(docs.vllm.ai)
  • NVIDIA nvidia-smi 文档(docs.nvidia.com/deploy/nvidia-smi)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌