指南

独享 GPU 与共享 GPU:共享会带来哪些变化

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

阅读约 7 分钟

选独享 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 权限,nvidia-smi 能显示每一个进程和每一个字节的显存占用,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
  • nvidia-smi -L 会列出所有 GPU;如果启用了分区,还会在其下方列出 MIG 设备。
  • memory.total 应与整卡容量一致;vGPU 配置文件只会显示其中一部分。如果您还没启动任何程序,memory.used 的值就远超几百 MB,说明 GPU 上还有别的东西在运行。mig.mode.current 应显示为“Disabled”;在不支持 MIG 的 GPU 上则为“N/A”。
  • 虚拟化模式在裸金属上显示为“None”,在独占整张 GPU 的虚拟机中显示为“Pass-Through”,在 vGPU 客户机中显示为“VGPU”。
  • nvidia-smi topo -m 显示 GPU 之间的连接方式:NV 条目表示 NVLink,PIX、PXB、NODE 或 SYS 则表示 PCIe 路径。

主机也要检查:nproc、free -g 和 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 是否被共享?

运行 nvidia-smi,检查总显存是否与整卡容量一致、MIG 模式是否已禁用,以及虚拟化模式是否为“None”或“Pass-Through”而不是“VGPU”。如果您还没启动任何程序,显存就已经被占用,这也说明有邻居存在。

FullGPU 的单卡套餐是虚拟机吗?

是的。单卡套餐是整卡直通的独享虚拟机,因此 GPU 及其全部显存都只归您使用。我们的 8 卡服务器则是裸金属服务器。

什么情况下共享 GPU 就够用了?

对于 Notebook、小模型、CI 测试、教学,以及能容忍延迟波动的突发性任务,一个切片通常就够了。当您需要完整的显存、稳定的延迟或长时间不间断运行时,请改用独享 GPU。

独享 GPU,按月计费

整卡 GPU US$449/月起,含 root 权限和流量,支持加密货币支付。

查看 GPU 与价格 用显存计算器估算所需 GPU

部署 GPU 服务器

本月即可用上您的 GPU 服务器。

选择配置,在同一表单中创建账户,并用余额支付首月费用。服务器在 10 分钟内交付。

  • 10 分钟内交付
  • 任何月份均可取消
  • 加密货币支付,最高加赠 50%

登录 FullGPU

管理您的 GPU 服务器、余额和账单。

首次使用 FullGPU? 创建账户