GPU推理副本数设置怎么做?显存判断方法

GPU推理副本数设置容易被 QPS、显存和冷启动同时影响。本篇用单副本显存、并发拐点、GPU调度边界和上线验证流程,帮助团队先定保守初始值,再通过压测和真实流量校准。

本文评估口径:本文围绕 GPU推理副本数设置,不承诺通用性能指标,只给上线前初始副本数判断框架;最终容量仍需基于目标模型、硬件、推理框架和真实请求做压测验证。

GPU推理副本数设置不是简单把副本开到 CPU 服务那样多。一个副本会占用模型权重、运行时缓存、KV Cache 或批处理缓冲,不同并发下的显存曲线也不同。更可靠的做法是先确定单副本能承载什么,再决定副本数和扩缩容策略。

先确认单副本能否稳定装下模型

Kubernetes 支持通过设备插件把 GPU 作为可调度资源暴露给 Pod,容器通常以资源请求方式声明需要的 GPU 数量[1]。但调度成功只说明资源被分配,不代表模型在目标并发下显存足够。

显存判断应拆成三层:

  • 静态占用:模型权重、推理引擎、运行时库和常驻缓存。
  • 动态占用:请求上下文、batch、KV Cache、输入输出张量。
  • 安全余量:框架碎片、峰值请求、重试和监控采样带来的额外波动。

如果单副本在低并发下已经接近显存上限,继续增加副本数并不能解决问题,反而可能导致调度失败或 OOM。此时应先考虑模型量化、batch策略、显存隔离或更合适的 GPU 规格。

GPU推理副本数设置的显存并发与扩缩容判断矩阵图

图1:GPU推理副本数设置中显存、并发、延迟和调度边界的判断矩

再估算单副本并发上限

副本数的核心问题是:一个副本能在目标延迟内处理多少请求。对于文本生成、图片生成、Embedding 或传统模型推理,这个上限差异很大。不能只看平均 QPS,还要关注 P95 / P99 延迟、排队时间和失败率。

一个可落地的估算顺序是:

  1. 固定模型版本、镜像、GPU规格和推理框架[1]
  2. 从低并发开始压测,记录显存、GPU利用率、延迟和错误率。
  3. 找到延迟明显抬升或显存接近阈值的拐点。
  4. 把拐点前的稳定吞吐作为单副本容量,再加安全折扣。

这里不建议直接用离线 benchmark 结果推生产副本数。真实流量的输入长度、请求峰谷、缓存命中和下游依赖都会改变容量判断。

GPU推理显存并发估算矩阵

图2:GPU推理副本数设置中用显存余量、并发拐点和延迟目标估算

副本数要和GPU调度边界一起看

当副本需要独占整卡时,副本数上限受 GPU 卡数影响;当平台采用 MIG、时间片或其他共享方式时,还要关注隔离粒度、显存边界和调度策略。副本数决策会直接受到 GPU调度 模型影响,不能只由应用团队单独设置。

常见场景可以这样判断:

场景 初始副本策略 风险点
单模型低并发 1-2 个副本起步 冷启动和单点维护窗口
多模型共享GPU 按显存和优先级切分 互相抢占、延迟抖动
峰值明显业务 保留最小常驻副本 + 弹性扩容 冷启动时间可能赶不上流量峰值
强SLO服务 按P95/P99容量倒推副本 成本较高,需要容量冗余

扩缩容不能只看请求数

Kubernetes HPA 可以基于指标调整副本数[2],KServe 等推理平台也提供推理服务部署与伸缩能力[3]。但 GPU 推理扩容存在镜像拉取、模型加载和显存初始化时间,扩容速度通常慢于普通无状态服务。

因此,GPU推理副本数设置要同时规划最小副本数、预热策略和流量峰值保护。对于冷启动长的大模型,完全依赖突发扩容可能无法满足延迟目标。

上线前用四个问题定初始值

建议上线评审时直接回答:

  • 单副本显存是否稳定?低并发和目标并发下是否都保留安全余量。
  • 单副本容量是多少?用压测拐点而不是理论吞吐做依据。
  • 扩容要多久生效?包含调度、镜像、模型加载和就绪检查时间。
  • 失败时如何降级?是否能限流、排队、切备用模型或临时增加节点。

如果这四个问题无法回答,副本数就不应直接写死为生产结论。可以先采用保守初始值,上线后用真实流量校准,再逐步调整。

GPU推理副本数上线验证流程

图3:GPU推理副本数从初始估算、压测验证到线上校准的上线验证

小结

GPU推理副本数设置要从单副本显存开始,而不是从期望 QPS 倒推一个看似整齐的数字。先确认模型能稳定运行,再通过压测找到单副本容量,最后结合调度边界、扩缩容速度和延迟目标确定初始副本数。

适合生产的副本数不是一次算出来的,而是“初始估算 + 压测验证 + 线上校准”的结果。

参考资料

常见问题

GPU推理副本数设置可以直接按QPS计算吗?

不建议只按QPS。GPU推理还受显存、输入长度、batch策略、延迟目标和冷启动影响。QPS可以作为结果指标,但不能替代显存和延迟拐点测试。

一个GPU上可以放多个推理副本吗?

取决于平台能力、模型大小、显存余量和隔离方式。若没有明确的显存隔离或共享策略,多个副本可能互相影响,导致延迟抖动或显存不足。

HPA适合GPU推理服务吗?

可以使用,但要谨慎选择指标和窗口[2]。普通CPU利用率不一定反映GPU排队情况,扩容还涉及模型加载时间。建议结合请求队列、延迟、GPU指标和最小常驻副本设计。

副本数越多延迟一定越低吗?

不一定。副本数过多可能带来显存浪费、调度失败、冷启动增加和缓存命中下降。只有当瓶颈来自排队且资源足够时,增加副本才更可能降低延迟。

原创声明:本文为 CNBPA 云原生社区原创技术内容,非商业转载须注明出处:https://www.cloudnative-tech.com/p/9565/。文中原创图示、架构图和文章内容未经许可不得用于商业转载、培训课件、营销材料或二次分发。
(0)
上一篇 4天前
下一篇 2026年4月23日 下午7:19

相关推荐