独享 GPU 与共享 GPU:共享会带来哪些变化
共享 GPU 的形式多种多样,从硬件分区到单纯的时间切片都有。本文介绍每种模式对显存、延迟、隔离和调试的影响,以及什么情况下共享是完全合理的选择。

选独享 GPU 还是共享 GPU,听起来像是价格上的细节,但它决定了您能分配多少显存、延迟有多稳定、谁的代码和您的数据运行在一起,以及您能调试得多深入。“共享”涵盖的技术差别很大,既有隔离性很强的硬件分区,也有几乎没有隔离的单纯时间切片。本指南逐一解释这些技术、它们会给 AI 工作负载带来哪些变化,以及什么情况下共享完全是个好选择。
独享 GPU 与共享 GPU:GPU 共享的五种方式
独享 GPU 是分配给单个客户的一整张物理卡,连同它的全部显存、算力和功耗预算。除此之外的方式,都属于某种形式的共享:
- vGPU。NVIDIA 的虚拟 GPU 软件让多台虚拟机共享一张物理 GPU。每台虚拟机分到固定份额的 GPU 显存,称为配置文件(profile);在常见的时间切片模式下,GPU 的各个引擎由调度器控制,在各虚拟机之间轮流切换。客户机看到的是一张更小的 GPU。
- MIG(多实例 GPU)。这是 NVIDIA 自 A100 起的高端数据中心 GPU(如 H100 和 H200)以及 RTX PRO 6000 Blackwell 所具备的一项硬件功能,可将一张 GPU 切分为多个相互隔离的实例,每个实例都有自己的显存、缓存和计算单元。一张 H100 最多可切分为 7 个实例,RTX PRO 6000 最多可切分为 4 个。
- 时间切片。多个进程或容器轮流使用一张 GPU,例如 Kubernetes 集群把一张 GPU 上报为多张。每个进程或容器都能看到全部显存,但这是同一个共享池,不按租户设限;NVIDIA 在该功能的官方文档中也指出,与 MIG 不同,它不提供显存隔离或故障隔离。MPS(多进程服务)让多个进程并发运行而不是轮流运行,隔离性同样有限。
- 共享主机上的容器。您获得一张或多张完整的 GPU,但它们位于某台主机上的容器中,而这台主机同时运行着其他客户的容器。GPU 归您独享;CPU、内存、磁盘、网络、内核和驱动则是共享的。
- 算力市场主机。独立运营者把自己的机器挂到算力市场上出租。GPU 可能是整卡,但硬件质量、可用性、网络和物理安全因主机而异,而且每台主机都由其运营者掌控。
| 模式 | 可用显存 | 算力 | 与其他租户的隔离 | 驱动控制权 |
|---|---|---|---|---|
| 整卡,裸金属 | 全部 | 全部 | 整台机器归您独享 | 完全控制 |
| 整卡,直通虚拟机 | 全部 | 全部 | 虚拟机边界,GPU 不共享 | 在虚拟机内完全控制 |
| MIG 实例 | 固定份额 | 固定份额的计算单元 | 硬件分区 | 无:由主机设定分区 |
| vGPU(时间切片) | 固定份额 | 分时共享 | 虚拟机边界,GPU 共享 | 客户机驱动与主机驱动绑定 |
| 时间切片或 MPS | 同一个共享池 | 分时共享或并发 | 很少或没有 | 无 |
| 共享主机上的容器 | 整卡 | 整卡,CPU 和 I/O 共享 | 容器边界,共享内核 | 无:使用主机驱动 |
显存:您实际能分配多少
共享首先拿走的就是显存,而对大语言模型(LLM)来说,显存通常正是最关键的约束。MIG 实例或 vGPU 配置文件只给您整张卡的固定一部分:80 GB H100 上最小的 MIG 实例只有 10 GB。FP8 精度的 70B 模型仅权重就需要约 70 GB,因此任何小于整卡的切片都装不下它;即使是 BF16 精度、约 64 GB 的 32B 模型,也装不进半张卡的切片。
时间切片在纸面上看起来更好,因为每个租户都能看到全部显存。但实际上,这个共享池是先到先得的。许多框架会预先占用显存:vLLM 默认占用 90% 的 GPU 显存,JAX 则会预分配 75%。两个这样的框架运行在同一张时间切片 GPU 上就会发生冲突,邻居的显存分配可能让您的任务因显存不足(OOM)而失败,而这与您的代码毫无关系。我们的 LLM 显存需求指南列出了常见模型所需的显存,能让您迅速判断切片到底能否满足需要。
性能稳定性与嘈杂邻居
平均值掩盖了共享的大部分代价,尾延迟则会将其暴露出来。在时间切片模式下,一个租户运行时,其他租户只能等待;因此,当有两个繁忙的租户时,每个租户最多只能获得约一半的 GPU 时间,上下文切换还会带来额外开销。如果推理请求恰好在邻居占用 GPU 时到达,就只能干等。
MIG 的可预测性要高得多,因为每个实例都独占自己的计算单元和一份显存带宽。代价是一个硬性上限:H100 的七分之一切片始终只是七分之一,即使卡上其余部分处于空闲状态也是如此。
共享主机上的整卡则存在更隐蔽的问题。分词、数据加载和预处理要争抢共享的 CPU 核心;数据集和检查点要争抢共享的磁盘和网络;挂在同一个 PCIe 交换芯片下的 GPU 要争抢主机带宽。对训练而言,稳定性比看上去更重要:在同步数据并行训练中,每一步都要等待最慢的那张 GPU,因此只要有一个 worker 被限速,所有 worker 都会被拖慢。
安全隔离
每多一层共享,就多一道信任边界:虚拟化层(hypervisor)、vGPU 管理器、GPU 驱动、容器运行时和主机内核。只有每一道边界都守得住,您的数据才能对相邻租户保持私密。
- 容器共享主机内核。内核或驱动中的漏洞可能被利用,从一个租户突破到另一个租户,这就是为什么容器被视为比虚拟机更弱的隔离边界。
- 时间切片 GPU 共用同一个设备,没有显存隔离或故障隔离,因此一次崩溃或一个行为异常的进程就可能影响这张卡上的所有人。
- 算力市场主机由运营者管理,除了算力市场的平台条款之外,您与他们之间没有任何合同关系;而他们对存放您权重和数据的机器拥有物理访问权限和管理权限。
- 残留数据也很重要。问清楚上一个租户离开后磁盘如何处理:是否会擦除?如何擦除?
在您自己的组织内部共享,则是另一种信任模型。用 MIG 对您自己的 GPU 分区、运行多个内部服务,完全不会引出上述问题,因为每个邻居都是您自己。
调试与可观测性
当任务在半夜出故障时,可见性决定了您修复的速度。有了整卡和 root 权限, 能显示每一个进程和每一个字节的显存占用,Nsight Systems 和 Nsight Compute 等性能分析工具能看到整个设备,GPU 错误(Xid 消息)也会出现在您可以读取的内核日志中。您还可以自行选择驱动和 CUDA 版本,并照样在其上运行自己的容器(参见我们的 Docker 与容器指南)。
共享环境会缩小这一视野。在共享主机上的容器中,驱动版本由主机固定,您的 CUDA 用户态库必须与之保持兼容,而记录 GPU 故障的内核日志通常无法访问。在 vGPU 上,性能分析工具通常处于禁用状态,除非主机方启用它们。在时间切片 GPU 上,利用率数据混杂了您和邻居的工作,因此运行变慢可能是您的代码导致的,也可能是别人的任务造成的,而您无从分辨。出于同样的原因,可复现性也会受到影响。关于如何监控独享 GPU,请参阅我们的 GPU 监控指南。
什么情况下共享也无妨
共享是一种权衡,而且往往是正确的权衡:
- Notebook 和原型开发
:使用小模型时, 10–20 GB 的切片就绰绰有余,延迟也无关紧要。 - CI 和冒烟测试:只需使用 GPU 几分钟,而不是几小时。
- 教学和工作坊:许多学员每人只需要一点 GPU 资源。
- 小型内部服务:例如嵌入模型或分类模型,您可以用 MIG 把它们集中部署到自己的 GPU 上。
- 突发性批处理任务:能够容忍速度波动,并且可以干净利落地重启。
如果您需要完整的显存、稳定的延迟、长时间不间断运行、快速的多 GPU 通信,或者需要明确知道谁能访问这台机器,就选择独享 GPU。我们的 GPU 服务器选购指南可以帮您完成下一步:确定显卡规格。
如何检查您租用的是什么
不管服务商的页面上怎么写,几条命令就能告诉您实际拿到的是什么:
nvidia-smi -L
nvidia-smi --query-gpu=name,memory.total,memory.used,mig.mode.current \
--format=csv
nvidia-smi -q | grep -i "virtualization mode"
nvidia-smi topo -m
会列出所有 GPU;如果启用了分区,还会在其下方列出 MIG 设备。nvidia-smi -L memory.total应与整卡容量一致;vGPU 配置文件只会显示其中一部分。如果您还没启动任何程序,memory.used的值就远超几百 MB,说明 GPU 上还有别的东西在运行。mig.mode.current应显示为“Disabled”;在不支持 MIG 的 GPU 上则为“N/A”。虚拟化模式在裸金属上显示为“None”,在独占整张 GPU 的虚拟机中显示为“ Pass-Through ”,在 vGPU 客户机中显示为“VGPU”。显示 GPU 之间的连接方式:NV 条目表示 NVLink,PIX、PXB、NODE 或 SYS 则表示 PCIe 路径。nvidia-smi topo-m
主机也要检查:nproc、free 和 lsblk 会显示 CPU、内存和磁盘情况,可据此核对是否与承诺的配置一致。
FullGPU 的做法
我们只出租完整的物理 GPU,每张 GPU 只分配给一位客户:不做 vGPU 切分,不做 MIG 分区,也不做分时共享。
- 8 卡服务器是裸金属服务器。整台机器都归您独享:GPU、CPU、内存、NVMe 和网卡,中间没有任何虚拟化层。
- 单卡套餐是整卡直通的独享虚拟机。客户机驱动直接与物理卡通信,卡上的全部显存都归您使用,虚拟机边界则把您与主机隔离开来。
- 您通过 SSH 获得 root 权限,系统采用预装 NVIDIA 驱动、CUDA、Docker 和 NVIDIA Container Toolkit 的 Ubuntu 22.04 或 24.04 镜像;AMD 服务器则采用 ROCm 镜像。版本和工具都由您自己选择。
- 磁盘在更换客户时会被安全擦除(参见数据删除),您自己的多台服务器之间还可应要求开通私有网络。
如果您只需要一张卡,我们的单卡服务器从 32 GB 的 RTX 5090 到 288 GB 的 B300 都有。如果您需要 NVLink 和整台主机,我们的 8 卡服务器是搭载 NVIDIA 或 AMD GPU 的裸金属机器。
专用 GPU 内存与共享 GPU 内存
“共享 GPU 内存”还有另一层含义。在 PC 上,Windows 会分别显示“专用 GPU 内存”(即显卡上的显存)和“共享 GPU 内存”(显存不足时 GPU 可以借用的一部分系统内存)。借用的系统内存要通过 PCIe 访问,速度比 GPU 自身的显存慢几十倍,因此一旦模型溢出到这部分内存中,运行速度就会急剧下降。在服务器上,道理是一样的:权重、KV 缓存和激活值都应该放在显存中。正因如此,决定一台服务器能运行哪些模型的是显存,而不是系统内存;显存计算器可以针对您的模型进行核算。
常见问题
独享 GPU 和共享 GPU 有什么区别?
独享 GPU 是分配给单个客户的一整张物理卡,连同它的全部显存和算力。共享 GPU 则通过 vGPU 配置文件、MIG 分区、时间切片或共享主机在多个租户之间分配,这会减少您可用的显存,或者降低性能稳定性或隔离性。
MIG 实例等同于独享 GPU 吗?
不等同。MIG 实例是经过硬件隔离的切片,拥有自己的显存和计算单元,因此是隔离性最强的共享形式,但您只能获得 GPU 的一部分:在 80 GB 的 H100 上,最小的实例只有 10 GB。
如何判断我的云 GPU 是否被共享?
FullGPU 的单卡套餐是虚拟机吗?
是的。单卡套餐是整卡直通的独享虚拟机,因此 GPU 及其全部显存都只归您使用。我们的 8 卡服务器则是裸金属服务器。
什么情况下共享 GPU 就够用了?
对于 Notebook、小模型、CI 测试、教学,以及能容忍延迟波动的突发性任务,一个切片通常就够了。当您需要完整的显存、稳定的延迟或长时间不间断运行时,请改用独享 GPU。


