跳到主内容
快讯直播
AI智模界
AI 词典

GPU 时分复用:一张卡怎么同时跑多个模型

一句话定义: GPU 时分复用(Time-Slicing)是把同一块 GPU 的计算时间切成一个个很短的时间片,轮流交给不同的进程或租户使用,让它们在同一段时间里"看起来"是同时在跑的。

它到底在切什么

想象公司只有一间会议室,但有三个人要开会。没有第二间房,前台只好让每人进去讲 20 秒,然后换下一个。三个会都在推进,但谁也没法一口气讲完。GPU 时分复用就是这个逻辑:调度器在毫秒级不停地切换,进程 A 跑一会儿、进程 B 跑一会儿。

要特别注意:被切的是"时间",不是"显存"。每个进程依然按自己的需要把模型权重、AI 词典:KV Cache">KV Cache 等数据搬进显存并一直占着。所以一张显存有限的卡上,几个模型各自的显存加起来超了,照样会 OOM——时分复用救不了显存不够。

和相邻概念的区别

方案切的是什么隔离性典型感受
时分复用 Time-Slicing时间片弱,互相干扰能用,但延迟忽高忽低
MPS(Multi-Process Service)同一个上下文里并发跑 kernel中吞吐好些,仍无硬隔离
MIG(Multi-Instance GPU)硬件上切成独立实例,含显存与计算单元强像几张小卡,贵且切法固定
批处理(Batching)把请求合成一批喂给同一个模型—真正提升吞吐、还能降平均延迟

一张表看下来就清楚了:时分复用解决的是"卡不够分"的问题,不是"性能不够"的问题。

代价是什么

  • 延迟抖动。 你的请求排在别人后面等时间片,P99 延迟(尾部延迟)会明显变差。离线批处理无所谓,在线对话就很难受。
  • 切换开销。 上下文切换要把状态换进换出,GPU 上尤其贵,因为显存带宽本来就是稀缺资源。切得太碎,光切换就吃掉一部分算力。
  • 互相拖累。 一个租户跑了个特别大的 kernel,占满时间片,其他租户就卡住。没有服务质量(QoS)保障时,这叫"吵闹的邻居"问题。
  • 计费与配额难做。 按时间片分出去的算力,很难精确折算成"谁用了多少"。

对从业者的实际意义

对小团队和个人,时分复用是省钱的正解:一张卡上同时挂两三个量化小模型加一个 embedding 服务,利用率上去了,成本摊薄了。对线上推理服务,要谨慎——对延迟敏感的接口,宁可独占或上 MIG,也别指望时分复用兜底。对做多租户平台的人,关键问题是"有没有硬隔离",没有的话就要在调度层做优先级和限流。

另外,各个平台开不开时分复用、时间片设多长、默认策略是什么,差异很大,实际以官方文档和你的压测结果为准。

AI 生成本文由 AI 基于公开信息自动生成,仅供参考。