签合同之前,先把这四个坑谈清楚

租 GPU 算力,技术团队看的是卡型和带宽,法务看的是条款,最后吃亏的往往是夹在中间的工程负责人。我们签过几家云厂商的 GPU 租赁合同,复盘下来,四个条款最值得逐字谈:SLA 定义、计费粒度、故障责任、长约与弹性。谈不清楚,上线后全是扯皮。

SLA:可用性数字背后的定义权

合同里写"月度可用性 99.9%"听起来很美,但魔鬼在定义里。第一个问题:可用性的分子分母是什么?是"实例可 SSH 登录"算可用,还是"GPU 能正常跑任务"算可用?我们遇到过实例能 ping 通、但 nvidia-smi 报错的情况,厂商一开始说这算可用——因为"实例在线"。最后谈下来的定义是:以 GPU 设备可用且能执行 CUDA 任务为准,检测脚本由双方认可,采样间隔 5 分钟。

第二个问题:免责窗口。几乎所有合同都有"计划维护不计入不可用",你要谈的是上限:单月计划维护总时长不超过多少小时、是否提前 72 小时通知、维护窗口能不能选在你的低峰期。第三个是赔付:别只看赔付比例(通常是 10%~30% 的代金券),要看触发门槛和赔付形式。代金券只能续费用,能不能折成现金或延长服务期,谈判时可以提。

计费粒度:卡时还是节点时,差的不只是一点

GPU 租赁常见的计费方式有三种:按卡时(每块 GPU 每小时)、按节点时(整机 8 卡打包)、按任务/按量。8 卡 H100 的机器,按节点时租通常比 8×卡时便宜 10%~20%,但前提是你的任务真的能吃满 8 卡。如果你的任务是单卡推理,租整节点就是浪费。我们的经验是:训练用节点时谈打包价,推理用卡时按需拿,合同里两种都写上单价,允许按月切换一次计费方式。

还有两个细节:一是计费起止点,是从实例创建成功开始,还是从你第一次 SSH 上去开始?中间差的那几分钟初始化时间,量大了一样是钱。二是"停止计费"的定义:关机停机是否停计费(包月通常不停,按量通常停),释放实例后有没有延迟计费。把这几条写进补充条款,别信口头承诺。

故障责任:ECC 错误和节点掉线,谁的锅

GPU 集群最常见的两类故障:ECC 显存错误和节点掉线/网络分区。ECC 可纠正错误其实很常见,关键看阈值:单卡 24 小时内可纠正 ECC 超过多少次,厂商必须换卡或迁移。谈不下来这个数,你的训练任务就会三天两头被中断。我们的合同里写的是:连续 7 天单卡可纠正 ECC 日均超 50 次,租户有权要求换卡,换卡期间不计费。

节点掉线更麻烦:8 卡训练跑了一周,第 6 天掉了一个节点,checkpoint 恢复花了 4 小时,这 4 小时的卡时算谁的?我们的条款是:因厂商侧故障导致的任务中断,中断期间费用全免,外加一次免费的故障复盘(要他们的 SRE 出报告,说明根因和改进)。这条的价值不在钱,在于逼厂商把根因说清楚——同样的故障再来一次,你就知道该不该换厂商了。

另外记得要"故障通知 SLA":厂商发现故障后多少分钟内通知你。我们吃过亏:节点半夜掉了,厂商早上才发邮件,任务挂了 6 小时没人知道。现在合同里写的是 30 分钟内通过 webhook 通知,外加你自己的监控做双保险。

长约锁价 vs 弹性条款

GPU 价格波动大,长约(一年起)通常能拿到 7 折左右,但锁死也有风险:新卡发布、你的业务转向,都会让长约变成负担。我们谈判的框架是:核心用量签长约锁价(比如 60% 的常备算力),弹性部分按量或签"可退订"的季度约。弹性条款里要争取三条:用量上浮时的价格保护(突发扩容不超过长约价的 1.3 倍)、提前终止的违约金上限(别签"剩余全款",谈成"剩余 30%")、以及卡型升级权(H100 长约期内如果 H200 大规模可供,有权按差价升级)。

一句话:算力合同谈的不是价格,是"出问题时谁承担什么"。价格差 5% 和故障扯皮一周,哪个贵,算笔账就知道了。