GPU服务器租用:训练与推理配置估算
按模型权重、训练状态、KV 缓存与运行开销估算显存需求,并结合 NVIDIA 硬件规格、AWS 购买方式及停机后仍可能产生的 EBS 与 Elastic IP 费用,整理租用 GPU 服务器的配置与核验步骤。
判断 GPU服务器租用是否合适,应把训练与推理拆开计算:训练还要计入梯度、优化器状态与激活,推理还要计入 KV 缓存与运行时工作区。GPU 数量不能只靠标称显存相加得出,必须结合项目支持的分片方式;费用则要把计算、存储、IP、网络和其他资源分项核算。下面按“估算—匹配硬件—选择购买方式—开机验收”推进。
训练与推理分开算:GPU服务器租用的配置路径
训练峰值
先从模型和训练项目文档确认参数数量、每个参数占用的字节数,以及批大小、序列长度、检查点和并行策略。显存需求可先写成:
TRAIN_PEAK_BYTES =
WEIGHT_BYTES
+ GRADIENT_BYTES
+ OPTIMIZER_BYTES
+ ACTIVATION_BYTES
+ WORKSPACE_BYTES
GPU_COUNT_CANDIDATE =
CEILING(TRAIN_PEAK_BYTES / USABLE_BYTES_PER_GPU)
GPU_COUNT_CANDIDATE 只是候选值。项目必须支持相应切分,而且每张卡上的模型分片、激活和运行时工作区合起来不能超过可用显存;互联能力也要向供应商核对。模型精度、优化器和检查点实现没有统一固定值,应以项目当前文档为准。
推理峰值
推理不能只计算模型权重,还要为动态缓存和运行时留出空间:
INFERENCE_PEAK_BYTES =
WEIGHT_BYTES
+ KV_CACHE_BYTES
+ RUNTIME_WORKSPACE_BYTES
KV_CACHE_BYTES =
KV_ELEMENTS × BYTES_PER_ELEMENT
KV_ELEMENTS 要结合模型结构、上下文长度和活动序列数量计算。改变上下文或并发后,应重新计算 KV_CACHE_BYTES,不能沿用单请求结果。
把估算值映射到具体硬件
以 H100 为例,NVIDIA H100 GPU 规格页列出 H100 SXM 为 80GB、H100 NVL 为 94GB;最大 TDP 分别为最高 700W(可配置)和 350-400W(可配置),并区分 SXM 与 PCIe 双槽风冷形态。
向供应商核对时,应确认实际卡型、数量、每卡显存、互联方式、功耗和散热条件。规格页中的标称显存只是硬件参数,不能直接当作模型可用预算;框架工作区、分片方式和通信缓冲区都要另行计算。
GeForce 租机先核对许可
如果候选设备属于 GeForce 或 Titan,需要先查看 GeForce 软件许可第 2.7 和 2.8 条。第 2.8 条将相关软件许可限定于用户自有的 GeForce 或 Titan 硬件,并明确不授权数据中心部署;第 2.7 条禁止出售、出租、分许可、分销或转让该软件,或用其提供商业托管服务,除非获得明确授权。
因此,机器能够点亮并不代表适合用于托管服务。涉及租用或商业托管时,应让供应商和内部责任人核对适用授权。以上为一般信息,不构成法律意见。
按购买方式核算费用
按 Amazon EC2 计费与购买选项说明,EC2 On-Demand Instances 按秒计费;Savings Plans 是对以 USD/小时计量的一致用量作出的 1 年或 3 年承诺;Reserved Instances 针对特定实例配置,包括实例类型和 Region,期限也是 1 年或 3 年;Capacity Blocks 则用于预留 GPU 实例集群。不同方式的承诺对象不同,不能只比较一个表面单价。
向供应商页面或报价单逐项查找:
- GPU 或实例计算单价、计费单位及承诺适用范围;
- 存储、IP、网络传输和报价单中列出的其他资源;
- 停用、删除、未使用承诺及计费状态变化的规则。
再按自己的报价或账单填值:
GPU_COMPUTE_CHARGE =
UNIT_PRICE × BILLABLE_UNITS
TOTAL_CHARGE =
GPU_COMPUTE_CHARGE
+ STORAGE_CHARGE
+ IP_CHARGE
+ NETWORK_CHARGE
+ OTHER_RESOURCE_CHARGE
承诺方式应按供应商报价中的承诺费用与使用费用拆分,避免重复计算。以 AWS 为例,EC2 实例状态说明指出,实例停止后不再收取实例使用费,但 EBS 卷和 Elastic IP 仍可能产生费用;每次从停止转为运行都会开启新的计费周期,并设有一分钟最低计费时间。因此,只计算 GPU 实例费用会遗漏其他支出。
租机开机后的验收顺序
先确认实例实际提供的 GPU 与报价一致,再运行 nvidia-smi 官方文档中的查询命令:
nvidia-smi -q
nvidia-smi --query-gpu=pci.bus_id,persistence_mode
nvidia-smi --help-query-gpu
-q 用于显示 GPU 属性,不支持的数据会显示为 N/A;--query-gpu 接收逗号分隔的属性列表,可用 --help-query-gpu 查看。验收时核对板卡序列号与机身标签,并检查 ECC 退役页、Row Remapper、温度和板卡功耗。风扇转速显示的是预期转速,不能把它当作阻塞情况下的实际转速。
运行 CUDA 应用前,还要按照 CUDA Compatibility 说明确认 NVIDIA 驱动与构建应用所用 CUDA Toolkit 兼容。随后用实际模型精度、上下文长度和并发运行代表性任务,检查峰值显存、错误日志及任务是否完成;具体启动命令和 endpoint 应以模型与运行时项目的当前文档为准。
常见出错点
- 只计算权重,漏掉训练状态、激活或 KV 缓存;
- 直接累加标称显存,没有验证每卡分片、运行时开销和互联;
- 只比较 GPU 小时单价,漏掉承诺费用、存储、IP 和网络费用;
- 根据 GeForce 能运行就推断可以部署或提供商业托管;
- 只确认
nvidia-smi可用,没有运行与生产参数一致的任务。
本文步骤均按正文所链接的官方文档整理,未运行或测量;使用前应按当前版本复核。