如果您需要租用 GPU 服务器来处理训练、推理、微调或媒体工作负载,请先从书面的工作负载与验收计划开始,而不是从 GPU 列表开始。正确的需求说明可在预留资源成为生产依赖之前,对所需的加速器内存、运行时、拓扑、数据路径、恢复行为和成功指标进行测试。
当您的团队需要控制加速器环境(例如运行时、模型权重、存储布局、网络或部署计划),但不想自行购买和运营硬件时,GPU 租用便是合适的运营模式。真正需要考虑的并不是“哪款 GPU 的每小时费率最低?”,而是租用的 GPU 能否安全、可预测地达成既定工作负载成果,并且成本能够向团队说明。
本指南为 AI 开发人员和 ML 基础设施工程师提供一种实用方法,用于规划 GPU 租用、进行部署并将其验收纳入生产环境。本文刻意不对供应商进行排名,也不引用短期价格。这些因素变化太快,无法据此作出持久的工程决策。相反,本文重点关注可随您跨云和跨租用模式使用的架构、验证检查项及工作负载信号。
快速回答:选择能够满足您的内存、延迟、吞吐量、数据驻留和运营控制要求,同时持久性和独占性最低的 GPU 租用方案。在承诺更长期的预留之前,先使用真实模型、具有代表性的提示词以及书面验收测试进行验证。
从工作负载开始,而不是从 GPU 列表开始
GPU 租用请求应以工作负载简介开始。诸如“我们需要一块 H100”这样模糊的请求,会使容量比较、部署测试或成本说明变得困难。一份有用的简介会描述必须完成的工作以及不可变动的边界条件。
| 简介字段 | 记录内容 | 为何会改变租用决策 |
|---|---|---|
| 工作负载类型 | 微调、批量推理、交互式推理、渲染、训练或实验 | 决定吞吐量、首次出结果时间、排队时间还是作业完成情况是否为首要衡量指标。 |
| 运行时 | 框架、兼容 CUDA 的依赖项、容器镜像、模型服务器和所需驱动程序 | 避免在 GPU 租用开始后才发现兼容性问题。 |
| 内存规模 | 模型权重、精度、上下文长度、KV 缓存、批量大小和余量 | 内存适配是设计约束,而非最后一刻的优化。 |
| 性能目标 | 作业数/小时、token/秒、p95 延迟、截止时间,或完成的图像/视频数量 | 创建通过/失败的验收测试,而不是一张基准测试截图。 |
| 数据边界 | 数据集大小、检查点频率、存储位置、入站/出站约束和保留策略 | 数据移动和存储可能会主导原本价格低廉的短期租用成本。 |
| 控制边界 | Root/容器控制、持久磁盘、固定主机、网络策略、多节点互连、支持责任归属 | 区分无服务器执行、GPU VM、专用节点和集群分配。 |
在许可的情况下,使用模型卡、具有代表性的提示词集以及接近生产环境的数据集切片。合成基准测试有助于排查问题,但无法有效替代产品实际所需的提示词长度组合、并发性、预处理和输出质量。
如何租用 GPU 服务器:使用书面验收卡
租用 GPU 服务器最安全的方式,是将首次分配视为验收测试。记录工作负载,申请能够安全运行它的最小配置,并在扩大预留规模或迁移生产流量之前收集证据。不要仅根据 GPU 名称或单一小时价格租用 GPU 服务器。
GPU 服务器租用验收卡
| 决策领域 | 需要请求或收集的证据 | 需要暂停的理由 |
|---|---|---|
| 工作负载约定 | 模型或制品、精度、预期上下文长度或作业时长、批量大小或并发量,以及对可接受结果的定义 | 请求仅称“需要一张 H100”,或未说明工作负载形态。 |
| 分配边界 | 作业需要单个 GPU、GPU 支持的 VM、专用主机还是多 GPU 节点;容量是否可能被中断 | 分配模型不符合该作业对状态、恢复或隔离的需求。 |
| 硬件身份 | 加速器名称和显存、驱动程序与 CUDA 兼容性、可见设备列表以及运行时镜像摘要 | 租用环境无法显示所请求的设备或兼容的软件栈。 |
| 拓扑 | 针对多 GPU 或分布式工作负载的 GPU 间及 GPU 到 NIC 拓扑;当工作负载依赖它时,提供具有代表性的集合通信测试 | 拓扑未知,或在生产环境之前从未演练分布式路径。 |
| 调度器路径 | 将接纳该作业的设备插件、资源请求、放置规则以及节点标签或亲和性 | 清单请求了加速器,却无法证明调度器将如何暴露该加速器。 |
| 节点就绪状态 | 双方认可的空闲节点健康检查,以及所有警告的记录 | 健康状态证据不可用,或对正在运行的生产作业执行侵入式诊断。 |
| 工作负载验收 | 固定的提示词集或训练步骤、预热规则、并发量、超时时间以及捕获的输出或检查点 | 没有可重复的工作负载和通过/失败边界,却将结果称为“快”。 |
| 恢复 | 检查点位置、恢复测试、重试负责人以及中断行为 | 未进行恢复演练,就假定可中断分配是安全的。 |
| 成本记录 | 一份不重叠的账本,记录计费的加速器时间、主机资源、存储或快照、网络、支持服务及已验收的结果 | 空闲时间、失败工作和已计费计算被重复计算。 |
对于 Kubernetes,请验证供应商设备插件路径以及工作负载清单。Kubernetes 通过设备插件公开 GPU 资源,并对扩展资源有特定的 limit/request 规则。在将清单视为部署证明之前,请参阅 Kubernetes GPU 调度指南。
对于处于空闲状态且可安全测试的 NVIDIA 数据中心节点,请记录目标实体及相关诊断的结果。NVIDIA 将 DCGM Diagnostics 记录为主动检查,可检测软件、内存、PCIe、NVLink、电源及其他路径;请与调度器协调这些检查,因为它们可能消耗实际容量。最小证据记录可以包括:
nvidia-smi -L
nvidia-smi topo -m
dcgmi discovery --list
dcgmi diag --run 1 --entity-id gpu:0
请使用为已安装 DCGM 版本所记录的命令语法、测试范围和权限。诊断通过仅是该次测试运行的证据,并非保证未来每个工作负载都会有相同表现的笼统承诺。
对于多 GPU 训练或分布式推理,请在验收工作负载中加入具有代表性的集合通信,并保留拓扑和网络接口证据。PyTorch 的分布式文档说明了可帮助调查通信路径问题的 CUDA/NCCL 上下文和诊断接口设置。对于基于 vLLM 的推理,请捕获与应用程序约定相匹配的指标——例如请求延迟、输出 token 行为、抢占以及与缓存相关的信号——而不是将一次性的终端响应当作性能结果来验收。
生产级 GPU 租用的六个层次
GPU 租用这一表述可以描述多种不同的产品。应将租用的加速器视为运行系统中的一个层次,而非完整解决方案。
- 容量层:GPU 型号、显存、分区、租户隔离、配额和分配时长。
- 运行时层:驱动程序、CUDA 库、容器运行时、框架、模型服务器和依赖项锁定文件。
- 数据层:对象存储、卷、检查点、模型制品、加密、生命周期规则和恢复测试。
- 网络层:入口流量、服务间流量、私有连接、防火墙规则、镜像拉取,以及任何多 GPU 或多节点互连需求。
- 调度层:作业队列、自动扩缩容策略、放置规则、重试、排空行为和容量回退。
- 运维层:身份、密钥、日志、指标、健康检查、诊断、预算和事件负责人。
在容量层看似便宜的租用方案,如果无法满足其下层需求,仍可能并不合适。例如,具有大型检查点的批处理作业可能受存储恢复限制;低延迟端点可能受冷启动或排队时间限制;而分布式作业可能受拓扑而非原始加速器数量限制。
选择与作业匹配的分配边界
不存在普遍“最佳”的 GPU 租用方案。真正有用的选择,是在不为闲置容量或不必要的运维工作付费的前提下,为工作负载提供足够控制能力的分配边界。
| 分配方式 | 最适合的场景 | 优势 | 注意事项 |
|---|---|---|---|
| 无服务器或基于作业的 GPU | 突发性、有明确边界的作业和实验 | 主机管理需求极低,并可轻松缩容至零 | 启动延迟、执行限制、存储交接和重试语义 |
| 共享或按需 GPU VM | 开发、一次性批处理作业和原型服务 | 可快速访问一个能够自行控制的环境 | 空闲时间、镜像漂移和容量可用性 |
| 专用 GPU 节点 | 长期运行的服务或对运行时有敏感要求的场景 | 可预测的放置方式以及更强的主机级控制 | 利用率不足、修补以及节点责任归属的明确性 |
| 集群分配 | 分布式训练、多个服务或平台团队 | 可重复的调度和共享运维 | 网络/拓扑验证、队列策略和运维复杂性 |
如果您已在运行 Kubernetes,GPU 将通过供应商设备插件进行使用。Kubernetes 将 GPU 资源记录为由设备插件提供的自定义资源,并指出 GPU 数量应放在容器的 limits 中;如果同时设置了 requests,其值必须与 limit 一致。Kubernetes 的 GPU 调度文档是了解当前资源行为的权威来源。
apiVersion: v1
kind: Pod
metadata:
name: inference-smoke-test
spec:
restartPolicy: Never
containers:
- name: server
image: registry.example.com/inference:immutable-tag
resources:
limits:
nvidia.com/gpu: 1
envFrom:
- secretRef:
name: model-service-secrets
该清单仅是一个调度请求,并非就绪证明。在将 GPU 租用视为可用容量之前,请确认驱动程序、运行时、模型工件、存储权限、网络策略和服务健康状态。在适合使用 NVIDIA 技术栈的场景中,NVIDIA GPU Operator 可自动部署在 Kubernetes 中配置 GPU 资源所需的 NVIDIA 软件组件;请针对您的环境固定并测试其支持的组件组合。
在部署前设计 GPU 租用架构
对于一次性实验,简单的环境可能已经足够。对于生产路径,请在预留容量前绘制请求流和故障流:
Client / job submitter
↓
Auth + queue / scheduler
↓
GPU workload service ─── logs, traces, model metrics
↓ ↓
Persistent model + data storage health / alerting
↓
Backup, checkpoint, and restore path
尽早提出四个架构问题:
- 哪些内容必须持久保存?确定模型权重、编译工件、缓存、提示词、检查点和输出是否可以随分配的释放而消失。简单地假设“已挂载卷”并不是恢复计划。
- 哪些内容必须保持私有?明确数据、软件包注册表、遥测和管理所需的网络与身份边界。将凭据权限限制为工作负载的实际需求,并在镜像外轮换凭据。
- 哪些内容必须扩展?区分单 GPU 服务、独立作业队列,以及需要协调多 GPU 或多节点通信的工作负载。它们的故障方式不同,所需的负载测试也不同。
- 容量消失时会发生什么?在中断发生前,定义检查点频率、作业重试规则、队列可见性、备选分配类别以及面向用户的降级路径。
答案可能是一个刻意保持精简的设计:单个 GPU VM、不可变镜像、挂载卷、作业队列和关机规则。目标并非为每次 GPU 租用构建一个集群,而是明确控制边界。
分阶段部署,而非进行一次长期预留
分阶段推出可降低您的首次长期租用变成调试会话的概率。在每个阶段保留简短的证据记录。
- 环境冒烟测试。启动完全相同的容器镜像。验证 GPU 可见、框架能够创建上下文、所需模型工件能够加载,以及服务只能访问其所需的依赖项。
- 功能测试。运行已知输入,并检查输出格式、安全逻辑和模型版本固定。对于训练或微调,证明检查点可以写入并恢复。
- 代表性负载测试。使用真实的提示词或作业分布。测量排队时间、启动时间、首个 token 或首个结果的时间、吞吐量、尾部延迟、内存余量、错误和重试。
- 故障测试。排空或停止一个工作节点,重启服务,使缓存失效,并模拟依赖项故障。验证检查点、重试、告警和用户可见状态是否按设计运行。
- 验收评审。将记录的结果与工作负载简报进行比较。仅在此之后,才决定是否延长、预留、专用化或扩展 GPU 租用。
对于 vLLM 这类模型服务器,不要将一个汇总的“每秒 token 数”视为完整答案。其当前的生产指标文档区分了端到端请求延迟、排队时间、推理时间、预填充时间、解码时间、首个 token 时间、token 间延迟以及缓存驻留信号。同样的原则也适用于其他运行时:衡量对用户体验和资源分配器都重要的各个阶段。
使用可以判定失败的性能验收测试
验收测试是工程团队与 GPU 租用决策之间的契约。它应足够简短,以便重复运行;也应足够具体,以便拒绝不合格的环境。
| 检查项 | 验收标准示例 | 应保留的证据 |
|---|---|---|
| 启动 | 已知镜像和模型版本在约定的部署窗口内就绪 | 镜像摘要、运行时日志、就绪时间戳 |
| 内存 | 计划的模型和并发度可适配,且不会出现内存不足错误或隐性驱逐 | 峰值内存、缓存行为、批处理/并发输入 |
| 吞吐量 | 代表性工作负载达到约定的已完成工作速率 | 输入组合、输出组合、并发度、测量窗口 |
| 尾部表现 | p95/p99 排队或响应表现保持在产品目标范围内 | 直方图/导出的指标及错误计数 |
| 可靠性 | 重启和重试行为可保留所需工作,或报告明确的失败 | 重启日志、检查点/恢复证明、重试策略 |
| 成本控制 | 根据明确的负责人规则停止、扩缩容或升级处理该资源分配 | 负责人、关闭规则、预算/使用量告警 |
对于专用或集群自有硬件,应在节点接收高价值工作负载之前对其进行验证。NVIDIA 的文档指出,DCGM Diagnostics 可测试部署、硬件和集成路径,包括计算、内存、PCIe、NVLink、功耗、散热以及通信相关检查。这些诊断可能消耗资源并与正在运行的工作冲突,因此应与调度器协调,并且仅在获准腾空的容量上运行侵入式测试。通过测试是运营证据,而非应用级负载测试的替代品。
跟踪已完成工作成本,而不仅是小时价格
小时价格是 GPU 租用决策的一个输入,但它并不描述实际的价值单位。应依据已完成工作指标租用 GPU 服务器,但每个计费组件只能计算一次:
已完成工作成本 =
(不重叠的加速器计费 + 主机资源 + 存储/快照
+ 网络/出站流量 + 支持或许可)
÷ 已接受的输出或已完成的作业
分母必须与产品相匹配:已接受的图像、已完成的视频、成功的作业、在 SLO 范围内的请求,或符合质量标准的批次。将空闲时间和失败作业记录为解释结果的诊断字段;如果它们已包含在加速器计费时间中,就不要再次添加。单独跟踪被拒绝的输出和重试;否则,看似很快的 GPU 租用可能掩盖可靠性或质量问题。
有关定价模型术语,请参阅GPU 租用价格指南;有关常在小时报价中消失的字段,请参阅GPU 云隐藏成本;在决定需要保持多少预热容量时,请参阅无服务器 GPU 与专用 GPU 指南。对于更广泛的基础设施决策,GPU 云与模型 API 指南说明了何时运行自己的运行时可能不如使用托管模型 API 有吸引力。
何时 GPU 租用并非合适的抽象方式
不要仅仅因为工作负载使用 AI 就租用 GPU 服务器。当您无需控制底层运行时、模型权重、加速器拓扑或数据平面架构时,托管模型 API 通常更简单。对于主要需要推理结果的产品功能,它可以减少部署工作。
当您需要自定义模型、受控运行时、固定的数据边界、专门的预处理/后处理、可预测的长期容量,或一个服务于多种工作负载的工程平台时,GPU 租用会更具吸引力。正确答案也可能是混合模式:将需要系统控制的工作负载保留在租用的 GPU 上,并通过 API 层路由通用模型调用。对于不需要直接控制加速器的工作负载,可以将 Flatkey 作为该 API 层进行评估;当主机级控制是要求时,不应将其描述为 GPU 集群的替代方案。
GPU 租用就绪检查清单
在延长预留期限或将 GPU 租用投入生产之前,请确认以下所有事项:
- 工作负载简介明确了模型版本、精度、内存形态、性能目标、数据边界和负责人。
- 所选的分配边界与作业相匹配:无服务器、VM、专用节点或集群。
- 运行时从不可变镜像启动,并且能够恢复所需的模型、数据和检查点工件。
- 代表性负载测试记录启动、排队、延迟、吞吐量、内存、错误和重试行为。
- 健康检查和告警均有负责人;诊断会在不干扰活跃租户或工作负载的情况下安排执行。
- 在容量变为空闲之前,已书面规定关停、缩容或预留审查规则。
- 成本视图以已完成的工作为依据,并包含存储、传输、运维、空闲时间和失败工作。
- 针对分配丢失、容量不足或部署失败,存在备用路径。
常见问题
租用 GPU 服务器之前应检查什么?
在租用 GPU 服务器之前,定义工作负载、分配边界、所需的加速器内存、兼容的驱动程序和运行时、拓扑要求、调度器路径、验收工作负载、检查点恢复测试以及已完成工作成本记录。使用经批准的健康检查流程验证空闲节点,然后在投入更多容量之前运行一个代表性作业。
GPU 租用服务包含什么?
这取决于分配模型。您可能获得的仅是作业执行环境、VM、专用主机或集群分配。应确认 GPU 容量、运行时访问、存储持久性、网络、支持边界和中断行为,而不要假定“GPU 租用”意味着某一特定级别的控制权。
如何在一块 GPU 和多块 GPU 之间进行选择?
从模型的内存需求和您的性能目标开始。仅当单个设备无法满足内存形态要求,或测得的瓶颈证明并行化合理时,才增加 GPU。多 GPU 工作还会增加拓扑、通信、调度和故障方面的考量,因此应将其视为不同的架构进行测试,而非简单的倍增。
我可以在 Kubernetes 上运行租用的 GPU 吗?
可以,前提是集群具有适当的供应商驱动程序和设备插件。Kubernetes 将 GPU 作为自定义资源公开;当节点间硬件不同时,请使用调度标签和放置规则。请验证完整的运行时和工作负载,而不仅仅是调度器分配。
首次 GPU 租用应运行多长时间?
初始分配应足够长,以完成冒烟测试、代表性负载测试以及故障/恢复检查。在书面验收测试通过实际重要的工作负载之前,不要承诺更长期的预留。
将决策写下来
最佳的 GPU 租用方案,是以最小且安全的控制边界满足经过验证的工作负载结果的方案。编写工作负载简介,分阶段部署,测量完整的请求路径,并保留使下一位工程师能够复现该决策的证据。如果您无法说明哪些内容必须持久化、哪些内容必须扩展、故障是什么样子,以及什么算作已完成的工作,那么您还没有准备好优化租用价格。
租用 GPU 服务器时,请利用这些证据决定是延长、预留、专用、扩展,还是选择不同的抽象层。如果产品只需要模型输出而不需要基础设施控制,请比较GPU 云与模型 API 指南中的运维权衡。
在下一个决策节点,请将此处的架构与GPU 服务器架构指南、GPU 服务器机架指南和Kubernetes GPU 集群指南进行比较。



