显存装得下,不代表跑得快。先算容量,再判断数据搬运是否限制计算。

容量预算

显存需要容纳权重、激活、中间工作区,以及生成模型的 KV cache。仅看模型文件大小会低估需求;不同引擎还有额外缓存与内存管理开销。

权重大小的粗估是「参数量 × 每参数字节数」。这只估权重,不能当作部署所需总显存。量化也有比例因子等额外数据。

带宽与复用

若同一份数据反复读取,tile 可以增加复用。若负载受搬运限制,仅增加计算单元不一定有效。小 batch 和大 batch 的资源约束可能不同。

排查顺序

  1. 看峰值显存与 OOM 位置。
  2. 固定输入,扫描 batch 和并发。
  3. 用 profiler 判断瓶颈,避免凭 GPU 利用率一个数字下结论。
  4. 量化后回归质量与完整服务指标。

相关:measurement、batching。

参考:CUDA Best Practices:内存优化。