打开网易新闻 查看精彩图片

作者 | 棱镜

过去几年里,GPU 几乎成为所有技术团队的“硬通货”。高端 GPU 不仅价格贵,而且很难购买到。以 A100 为代表的数据中心级 GPU 在市场上长期维持在 10000 美元到 12000 美元区间,叠加地区供应与合规管制,使 GPU 逐渐演变为一种高成本、难扩展的稀缺计算资源。

与 GPU 紧缺的普遍认知相悖的是,许多组织同时面临着 GPU 利用率长期偏低的现实问题。根据 ClearML 发布的 2025–2026 年全球 AI 基础设施调研报告,35% 的企业已将提升 GPU 利用率列为首要基础设施目标,而 44% 的组织缺乏有效的 GPU 利用率管理策略,由此造成的 GPU 容量浪费每年可达数百万美元级别

源于实际生产环境的反馈进一步验证了这一点,在大量 GPU 计算场景,尤其是以推理作为核心的业务,GPU 的实际利用效率普遍偏低,在不少企业环境里,GPU 的平均利用率长期低于 50%;而在 OCR、NLP 推理的典型在线场景中,单卡 GPU 的算力利用水平甚至只有 20%–30%。也就是说,在 GPU 持续短缺的情况下,诸多已部署的算力未实现充分利用。

为解决这一矛盾,业界其实进行过很多尝试。过去几年,有关 GPU 共享的技术探索不断涌现,其核心思路便是把多个 GPU 应用部署到同一张 GPU 卡上,以提高单张 GPU 卡的资源利用水平。然而,在生产环境里,这类方案始终面临一个问题:共享之后用起来没那么好用。既有的方案无法同时达成算力隔离、显存隔离、故障隔离以及资源灵活切割等关键能力,资源 QoS 难以保障,多个任务之间彼此干扰,甚至单个任务出现异常就会影响整卡的稳定。怎样在保障业务性能和隔离安全的基础上,实现可用、可控的 GPU 共享机制?

本文将以 GPU 使用结构的变化为切入点,分析 GPU 长期“用不好”的原因,并通过腾讯云 TencentOS qGPU 内核态虚拟化以及在离线混部技术解析,探讨 GPU 资源切分与调度能力怎样走向生产可用,并实现降本增效。

1 为什么需求暴涨的同时,GPU 却长期“用不好”?

价格高、供应受限导致 GPU 不够用已经成为很多技术团队的共识。但倘若把观察的视角从采购规模转向实际运行情形就会发现,问题的根源并非仅仅是硬件数量,而是 GPU 的使用方式正在变化。

过去,GPU 主要在离线训练或高吞吐计算任务中使用,负载相对平稳,整卡独占也相对合理。但随着 AI 能力渐渐嵌入业务体系,推理及在线服务在 GPU 工作负载里的占比渐渐增大。这类业务对低时延和稳定性具有更高的要求,请求模式呈现出峰值时间短暂、突发性强但整体不连续的特性。这种情况下,单个应用很难持续填满整张 GPU。

然而,为保证服务稳定,许多推理服务仍选择长时间独占 GPU。该方式直接造成算力与显存无法按需分配,GPU 在大量的时间未实现充分利用。即便不同业务在时间上表现出高度互补,也难以共享同一张卡。随着业务规模扩大,资源浪费的现象也被逐步放大。

GPU 使用模式已然出现改变,可依然在采用早期独占式的管理方法,为何 GPU 无法像 CPU 那样实现高效调度?

更深层的原因是,GPU 与 CPU 在计算模型上的核心差异,造成其难以直接借用成熟的云原生调度范式。GPU 并非更快的 CPU 类型,其显存、算力、Kernel、Stream 和执行上下文高度耦合,CUDA 编程模型默认以进程级对设备的独占为前提。这使得调度系统难以感知 GPU 内部真实负载,算力与显存不易被独立、稳定地管控,而单个任务异常,往往会被放大成整卡无法使用的风险。因此,GPU 在很长的时间里都未被看作标准化、可共享的计算资源。

2 GPU 共享方案技术路径与边界

当 GPU 利用率问题逐步成为行业共识后,共享几乎是绕不开的方法。近几年,出现了多种围绕 GPU 共享的技术路径,它们在一定程度上提高了并发能力,但在生产环境里面也渐渐暴露出各自存在的局限。

业界主流 GPU 共享方案及其局限

较早被采用的方案,来自用户态或框架层的 API 拦截思路,经由在 CUDA Runtime 或深度学习框架层面介入 GPU 的调用,这类方案能在不调整底层驱动的状况下,做到多任务并发运行。 优点为部署灵活,但代价同样十分明显。这类方案属于上层调度,它既要求应用侧进行适配,也无法深入到 GPU 实际的执行阶段。鉴于难以准确感知不同 CUDA Kernel 的真实计算消耗,算力隔离仅停留在近似控制层面,复杂负载下容易失效。这是该类方案难以实现生产级 GPU 共享的核心原因。

采用虚拟化的 vGPU 方案在隔离性上更进一步。依靠虚拟机层面对 GPU 进行划分,vGPU 能提供较强的资源边界,适配多租户的环境。然而方案面临的最大问题是不支持容器,仅仅支持虚拟化场景。在 K8S 的云原生场景不适用,而且也无法灵活配置显存和算力。

NVIDIA MPS 主要是针对并发执行效率问题,它允许多个进程共享 GPU 执行上下文,在吞吐型场景中成效明显,然而不提供资源隔离的相关能力。单个任务对显存或算力的异常占用,还是有可能影响别的任务,生产环境里面临故障传播的风险。

随着硬件能力的演进,MIG 被看作相对更贴近硬件层的共享方案,MIG 可从物理层面实现对 GPU 的切分,在隔离性方面具有优势,然而其切分规格是既定的,还依赖特定 GPU 型号,同时也不支持显存及算力的灵活配置。

整体来看,这些方案都在不同指标上进行了取舍。在真实生产环境中,一旦负载情况复杂或任务出现异常,这些方案的局限便会迅速暴露出来。也正因为如此,当用户态和外围机制逐渐难以满足要求,行业开始将探索方向转向更底层。

内核态 GPU 虚拟化技术解析

GPU 调度的复杂性决定了真正的资源控制点,不在框架层,而是在驱动和内核层。与用户态方案相比,内核态技术不依靠特定框架或 CUDA Runtime,对上层业务基本没有影响。应用无需对代码做出修改就能得到更细粒度的资源控制能力。同时,算力与显存的限制在驱动层可以强制执行,从工程方面明显降低了任务的彼此干扰,也为故障隔离提供了基础条件。

腾讯云 TencentOS qGPU 正是按照这一逻辑进行实践的,其技术路径选用以内核态 GPU 虚拟化作为切入点,在驱动层实现算力跟显存的精细切分,再引入故障隔离相关机制,防止单一任务异常波及整卡的稳定。 在此基础上,qGPU 把这些被分割的 GPU 资源纳入云原生调度体系,让 GPU 成为可让调度系统理解的细粒度资源单元。 在 ResNet50 推理测试中,qGPU 在多 Pod 场景下实现了严格的算力隔离,实际性能与预设配比有着高度一致性。不同切分规格下,各 Pod 性能累加与原生 GPU 基本一致,整体性能损耗几乎可以忽略。

3 从资源切分到在离线混部,决定 GPU 利用率上限的关键

当 GPU 资源能够被稳定切分,一个新挑战随之出现:这些 GPU 资源是否真的能持续、高效地被利用起来?在生产环境里,这更多依赖调度策略的安排,而非切分粒度自身。很多情况下,GPU 无法共享并非是技术上不可行,而是缺乏合适的调度策略。

在离线混部成为 GPU 利用率提升的关键

在实际业务中,在线推理与离线任务的需求差别极为明显,在线推理围绕用户请求开展,对延迟、稳定性有严格的要求。离线任务则更看重整体吞吐与执行成本,对完成时间的要求相对没那么严格。

从时间角度看,这两类负载一般情况下并不同步。在线服务有明显的流量波动,而离线任务可在空闲时段执行。如果能实现混部,离线任务就可以填补在线业务所剩的空闲算力,进而大幅提升 GPU 的整体使用效率。

GPU 混部的工程难点

GPU 混部的难点,首先表现在调度控制上。在线业务负载突然上升时,系统得及时把算力资源回收,待到负载下降后恢复离线任务,这对抢占时机及恢复机制提出了较高要求。

其次是业务优先级方面的问题。处于混部的场景中,不同任务就性能抖动的容忍度差异明显。若缺少清晰、可执行的优先级机制,混部极易影响到在线服务的稳定性。

更现实的挑战来自 GPU 本身。GPU 做上下文切换的成本偏高,显存状态复杂,任务执行期间往往伴随着大量中间数据。要是资源边界的界定模糊,混部非但不能让利用率有所提升,反倒有概率引入新的未知变数。这就是许多团队对于 GPU 混部保持谨慎的原因。

qGPU 在这一阶段解决的问题

处于这一阶段,qGPU 关注的重点不再只是资源切分,而是怎样在稳定隔离的状况下支持混部运行。借助在底层构建明确的资源边界,在线任务跟离线任务可在同一张 GPU 上并行着运行,同时避免相互间的干扰。更关键的一点是,qGPU 让 GPU 成为调度系统可理解和管理的资源。GPU 不再被固定绑定到某个应用,而是可以依照业务优先级及负载变化做动态分配。这让 GPU 利用率提升不再依靠人工调试,转而成为系统层面的长期能力。

当 GPU 能够被切分、被调度、被混合使用,资源利用率才具备持续提升的可能。这同样为 GPU 共享在更大规模生产环境里落地奠定了基础。

4 跨行业实践:当 GPU 共享走向生产可用

当 GPU 共享真正拥有稳定隔离以及统一调度能力后,其价值开始在各行各业的业务中逐步被验证。

1. 金融行业:在强稳定性约束下释放闲置算力

金融行业里,GPU 主要用在 OCR、NLP 推理以及部分实时分析的场景中, 这类业务对稳定性跟隔离性的要求极高。长久以来普遍采取整卡独占的方式去运行,造成大量算力处在闲置状态。

结合腾讯云 TencentOS qGPU 的实践经验,一旦 GPU 能在底层实现算力与显存的硬隔离,多个推理任务便可在同一块 GPU 上并行运行,而不会彼此干扰。在业务负载稳定的前提下,GPU 平均利用水平显著上升。此外,由于隔离边界清晰,单一任务的异常状况不再干扰整卡的运行,这让金融生产环境中的 GPU 共享具备了可接受的风险水平。

2. 互联网企业 OCR 场景:从独占低效到规模化共享

在 OCR 场景里,GPU 出现低利用率问题格外典型。OCR 推理任务一般计算密度不大,单模型在 GPU 上难以形成持续不断的高负载。某头部互联网企业在引入 GPU 共享前,在线 OCR 业务大多采用 GPU 独占式部署,单张 GPU 的利用率长期低于 40%,但业务侧不敢合并部署,原因就在于不同任务之间缺乏有效的隔离手段,要是出现异常,往往会让整卡的稳定性受到影响。

在引入基于内核态虚拟化的 qGPU 方案后,该企业把原本独占的 GPU 资源整合进统一的容器调度体系。GPU 被切分成更细粒度的逻辑资源单元,还在算力及显存方面构建明确的隔离边界。多个 OCR 推理服务得以在同一张 GPU 上并行运行,无需对原有应用代码进行修改。从运行的实际效果看,业务部署密度提高了 1 - 3 倍,GPU 能同步承载更多推理实例,以往无法利用的碎片算力被填满。在 GPU 总规模维持原状的前提下,整体 GPU 利用率提升了约 100%,年化 TCO 成本节约超 50%。

3. 在线教育场景:在成本压力下实现在离线混部

在线教育平台一般会同时运行几十种模型、20 余个 AI 推理服务,每个模型负载较低,不过数量众多,GPU 显存及算力长期无法充分消耗。就传统方案而言,MPS 或用户态拦截机制不易实现可靠的故障隔离,难以支撑大规模生产使用。

通过 qGPU 的方案,该平台把 GPU 资源池化,且依据业务优先级调度:在线推理服务拿到稳定算力的保障,离线任务在空闲时段自动填充剩余资源,实现在离线混部运行。从实际落地效果看,GPU 资源部署密度提升了 3 倍以上,月 TCO 成本下降约 40%,整体的推理效率提升约 30%,业务侧基本无感,不必替换 CUDA 库,也无需修改模型代码。

5 写在最后

在可预见的未来,GPU 的稀缺不会很快结束。价格高、供应受限,依旧是多数团队躲不过的现实情况,持续单纯借助堆卡,只会让成本压力不断扩大,没办法从根本上解决问题。与此同时,GPU 的角色正在变化,它不再仅仅是一个性能更强的计算设备,而是渐渐转化为需要长期管理的基础设施资源。随着推理及在线服务成为主流负载,独占式使用方式难以与新的业务形态相适配。

真正的难点不在于有没有 GPU 共享方案,而在于这些方案是否具备工程可用性。只有在 GPU 可被稳定切分、被调度系统理解,且在不同业务之间能够安全复用,算力才可实现持续利用。只有当 GPU 像 CPU 那样实现被治理,而不是被抢占,算力紧张的问题,才有可能在结构上获得缓解。