首页/AI/大模型部署与运维速查/单卡多模型混合部署
部署形态与选型43 条

单卡多模型混合部署

一张卡上同时服务多个模型(如对话模型 + Embedding + Rerank)时,按「常驻小模型 + 按需大模型」分配显存,并限制并发加载数量防止互相挤占。

单卡多模型混合部署

一张卡上同时服务多个模型时(对话模型加向量化与重排),做法是先做显存预算分配:把高频小模型设为常驻,低频大模型按需加载,并限制同时驻留的实例数量,防止互相挤占。硬性约束是各实例声明的显存比例之和要小于 1,并给框架与驱动留出余量。

基本信息

规划方式先做显存预算分配表,再按表设置各实例的显存比例
硬性约束各实例显存比例之和小于 1
端口划分每个实例独立端口,便于单独观测与排障
加载策略高频模型常驻,低频模型按需加载
主要风险互相挤占导致 OOM 或加载失败

典型使用场景

  • 对话模型与向量化、重排服务同卡部署,节省机器成本
  • 小模型多租户:多个小模型共享一张卡,按租户分配实例
  • 开发机同时跑多个模型做对比验证
  • 成本控制:把低频模型改成按需加载,释放显存给高频模型
  • 预留余量:给突发请求与框架开销留出显存空间

显存预算分配示例

显存预算分配示例
24GB 卡预算分配(示意):
  向量化模型        1.5 GB
  重排模型          1.5 GB
  对话模型(7B 低位量化)  5 GB 权重 + 4 GB KV
  系统与碎片预留    2 GB
  合计             14 GB,余量留作突发

多实例端口划分

多实例端口划分
# 每个实例独立端口与显存比例,比例之和必须小于 1
vllm serve ./models/chat  --port 8000 --gpu-memory-utilization 0.45
vllm serve ./models/embed --port 8001 --gpu-memory-utilization 0.15

# 校验:启动后核对卡上各进程占用与实例可用性
nvidia-smi --query-compute-apps=pid,used_memory --format=csv

预算分配表怎么填

项目估算方式说明
小模型常驻权重 + 少量 KV高频调用,常驻收益高
大模型权重按量化档位估算量化后体积明显下降
KV 预算按窗口与并发估算长上下文场景占比高
系统与碎片预留固定留出一块太少会偶发 OOM
多模型共存时每个实例的显存比例之和要小于 1:留出的余量不是浪费,而是驱动、框架与运行时碎片的生存空间。
常驻与按需要区分开:把高频小模型常驻,低频大模型按需加载,否则每次冷启动都会让用户等一长段加载时间。

易错点

  • 两个实例都按默认显存比例启动:第二个实例必然 OOM,先规划比例再启动
  • 只看显存不看算力争抢:同卡多模型互相抢占算力,延迟波动比单模型大得多
  • 按需加载不做预热:首次请求等待很长,网关与客户端的超时要覆盖这段冷启动
  • 不记录端口与实例的对应关系:出问题时不知道该查哪个实例的日志与指标

数据来源与参考

  • vLLM 官方文档(docs.vllm.ai)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌