AI基础设施与推理优化 · 第 5 期

GPU利用率30%?共享一张卡翻倍

云原生AI · K8s GPU调度 · 多租户

大模型服务的通病:一张卡只跑一个模型,GPU利用率常低于30%。K8s + Device Plugin + MIG/时间分片,让多个推理服务共享一张GPU,利用率翻倍、成本砍半。云原生AI不是把模型塞进容器那么简单,是把GPU当可切分的资源来调度。
⏱ 约 10 分钟 🎯 想在K8s上高效跑LLM的人 📦 源:ht-cloud-native-ai 教程

01问题:GPU是孤岛

传统部署一个模型占一张卡,请求来了才用、空闲时GPU空转——昂贵的H100利用率30%是常态。

K8s原生只管CPU/内存,GPU是「二等公民」:早期要靠nvidia-docker,调度器不认识GPU。NVIDIA Device Plugin补上这层——把GPU作为extended resource暴露给K8s,Pod可以request nvidia.com/gpu: 1。但默认是独占整卡:一个Pod拿走一张GPU,别的Pod进不来,利用率还是上不去。

传统:1 Pod = 1 GPU  利用率 ≈ 30%(请求间隙空转)
共享:N Pod = 1 GPU  利用率 ≈ 70~90%(拼车填满)

共享的三种姿势:MIG(A100/H100硬件切分,隔离最强)、时间分片(GPU Time-Slicing,软共享,按时间片轮转)、MPS(多进程服务,共享上下文,吞吐高但隔离弱)。选哪个看隔离要求和延迟敏感度。

GPU不是孤岛,
是可切分的资源。
灏天文库 · AI基础设施与推理优化 P.13

02K8s GPU调度演示:独占 vs 共享

切「独占/共享」模式,看两个节点上4个推理Pod怎么分配GPU,以及利用率差距。共享模式让多Pod拼车一张卡,利用率翻倍。

☸ K8s GPU调度演示
切模式,看GPU怎么从独占变共享,利用率怎么翻倍。
4
Pod1Pod2Pod3Pod4空闲

03三种GPU共享怎么选

选型逻辑:多租户/安全敏感 → MIG;内部服务/简单上手 → Time-Slicing;同团队/追吞吐 → MPS。生产环境最常用MIG + Time-Slicing组合:MIG做大粒度切分,每个MIG实例内再Time-Slicing细共享。NVIDIA GPU Operator把这些自动化部署到K8s,开箱即用。

MIG

硬件切分

隔离最强,A100/H100支持,多租户首选。

Time-Slicing

时间轮转

配置简单,隔离弱,内部服务用。

MPS

上下文共享

吞吐最高,隔离最弱,同团队用。

独占

不共享

延迟最稳但利用率低,高优服务用。

共享的代价是隔离,
隔离的代价是利用率。
灏天文库 · AI基础设施与推理优化 P.14

04带走这套清单

✅ K8s上跑LLM 6 条可执行规则

  1. 装NVIDIA GPU Operator:Device Plugin + 驱动 + DCGM exporter一键就绪,别手动配。
  2. 多租户用MIG:A100/H100硬件切分,隔离最强,故障不串扰。
  3. 内部服务用Time-Slicing:配置简单,利用率翻倍,接受延迟波动。
  4. 追吞吐用MPS:同团队可信负载,共享上下文,吞吐最高。
  5. 配HPA+DCGM指标:按GPU利用率自动扩缩容,别只看CPU。
  6. 用vLLM做runtime:连续批处理+PagedAttention,单Pod内吞吐最大化。
云原生AI的本质:
把GPU当可切分的资源调度。
灏天文库 · AI基础设施与推理优化 P.15