GPU 虚拟化(vGPU / MIG)
AI TERM术语词条GPU Virtualization
术语释义
GPU 虚拟化把一张物理卡切成多份或跨机共享,用来提高利用率、隔离多租户,但会带来性能与显存开销。
GPU 虚拟化解决的是「一张卡能不能同时给多个使用者」的问题。单机上的常见路线有两类:把物理卡切成若干互相隔离的实例,每个实例拥有独立的显存与计算配额;或者用软件层把整卡共享给多个进程,按时间片轮转。前者隔离性更好,后者利用率更高,但相互影响也更明显。此外还有跨机共享的做法——多台机器通过网络访问同一个卡池,它更接近 GPU 池化,前提是低延迟网络与驱动、调度组件的兼容性都到位,否则通信开销会吞掉收益。
常见形态
- 硬件分区:把一张卡切成多个规格固定的实例,显存与计算资源物理隔离,适合推理与小规模微调。
- 时间片共享:多个进程轮流使用整卡,切换开销小、配置简单,适合开发调试与低负载任务。
- 整卡直通:把整张卡交给一个容器独占,性能与显存最完整,适合大模型训练与长任务。
- 按配额调度:在编排层限制每个任务的显存与算力上限,防止个别任务占满整卡。
切分之后会损失什么
切分粒度越细,单实例可用的显存与带宽越小,能装下的模型也越小。对显存带宽敏感的大模型推理,切分后吞吐的下降往往比按比例折算的更多。这里要区分切分方式:硬件分区会把片上缓存与内存带宽一并隔离,实例之间基本互不影响;软件共享或显存超分则会让多个实例争用同一份缓存与内存控制器,一个任务的突发访问可能让同卡其他任务的延迟明显抖动。
怎么选
- 训练任务独占:长周期训练对稳定性与显存最敏感,生产环境通常直接独占整卡。
- 推理按实测切分:按单实例实际能承载的并发与显存占用决定切分数量,避免切得过多导致排队。
- 开发环境共享:调试与实验负载轻、容错高,共享能显著提高利用率。
- 预留隔离余量:为延迟敏感任务留出独立资源,不要把关键业务与测试任务混在同一张卡上。
评估时的实用指标
- 单实例可用显存:它决定能装下的模型规模,是最先要确认的硬指标。
- 切分后的实测吞吐:与整卡吞吐对比,看下降幅度是否落在可接受的范围内。
- 延迟抖动:共享环境下要关注尾部延迟,而不只是平均响应时间。
- 调度与回收效率:任务结束后资源能否及时释放,直接影响整体利用率。
从运维角度看,虚拟化还会改变监控口径:单卡指标不再等同于单个任务的指标,需要按实例或按容器重新聚合,否则容量规划会失真。它提高的是资源利用率与多租户能力,而不是单任务的性能上限。