AI 推理服务多模型共卡部署时,如何规划显存配额并设计过载保护?
收藏回复举报
AI 推理服务多模型共卡部署时,如何规划显存配额并设计过载保护?
t('forum.solved') 已解决
发表于2026-07-30 21:38:13
0 查看

在 AI 推理落地中,"一张加速卡上同时跑多个模型"是极其常见的部署形态。典型场景包括:

  • RAG 系统:LLM(生成)+ Embedding(向量化)+ Reranker(重排)三模型共卡;

  • 多模态服务:ASR(语音识别)+ LLM(理解)+ TTS(语音合成)共卡;

  • Agent 应用:主 LLM + 多个轻量工具模型(分类、抽取)共卡。

这些模型对显存的需求特征截然不同:

模型类型显存特征流量特征
大模型(LLM)启动即占大头,KV Cache 池预分配长尾、单请求重
Embedding模型小但峰值受 batch 影响突发性强、短时高并发
Reranker中等,Cross-Encoder 计算重间歇性、依赖上游召回量

核心矛盾

主流推理框架(vLLM、TensorRT-LLM、MindIE 等)通常支持按比例预分配显存(如 gpu-memory-utilization 参数),但这个比例怎么定,几乎没有科学方法:

  1. 静态比例与动态负载的错配:框架按"启动时设定"的比例预分配,但实际流量是波动的。Embedding 流量突增时,它的实际峰值可能远超预留配额,而 LLM 那边的 KV Cache 池却空着用不上。

  2. OOM 的"互相击穿":A 模型流量突增 → 触发 OOM → 框架要么杀进程要么报错。最坏情况是 LLM 进程被 Embedding 的突发流量拖垮,整个服务雪崩。

  3. 缺乏"配额可观测":开发者通常不知道每个模型的真实显存 footprint,凭经验拍一个 0.7/0.3 的比例,迁移到不同硬件或不同模型时就失效。

具体疑问

  1. 如何精确测算一个推理模型在真实负载下的显存峰值?模型权重大小和实际占用之间有多大差距?

  2. 多模型共卡时,显存配额应该按静态比例分配,还是有动态协商机制?业界有没有成熟方案?

  3. 当某个模型流量突增即将 OOM 时,有哪些过载保护模式可以避免"一损俱损"?降级、限流、迁移各自的代价如何?

  4. 在什么规模下,共卡部署的性价比就不如物理隔离了?判断阈值是什么?

我要发帖子