先聊个真实场景。你打开某个算力平台,看到“RTX 4090 一小时 4 块钱”,觉得便宜得离谱,于是开了一台。用了三天,最后账单一看,不是预期的两三百,而是七八百。再往下翻明细,发现除了“GPU实例费用”,还有一堆“数据盘费用”“公网IP费用”“镜像费用”“欠费冻结手续费”甚至“关机保留费”。
这不是你一个人遇到过。GPU租用已经成为大模型训练、推理部署、图形渲染、科学计算里绕不开的刚需,但恰恰因为需求太旺盛,各家平台的计费规则越做越复杂。标题里那眼看得很清楚的“按小时计价”,拆开以后全是颗粒度极细的收费项。我过去几年在多个平台租过上百次GPU,从单卡做推理到多卡训模型都经历过,见过太多人因为看不懂计费规则而白花钱。这篇文章就把GPU租用的计费方式拆开讲透,重点说清楚那些账单里最容易让人踩坑的隐藏收费。
1. 看清GPU租用的真实计价单位
很多人把“GPU租用”理解成“我买了一台带显卡的电脑,按小时付钱”。这个理解方向没错,但它严重低估了计费系统的复杂度。GPU实例不是单一商品,而是一整套资源组合。
1.1 一张显卡背后还有一大堆看不见的组件
一台GPU云服务器或者算力容器,通常包含这样几个资源维度:
- GPU卡本身,包含型号、显存、卡数
- 计算节点上的CPU核数和内存容量
- 系统盘和数据盘,通常按GB计量
- 公网IP地址,有的平台单独收费
- 公网带宽,按固定带宽或按流量计量
- 镜像和快照,包含操作系统、CUDA版本、自定义环境
- 一些平台还会有“队列调度资源”或“实例保留期”相关的虚拟项
问题就出在这里。平台首页展示的“GPU单价”,绝大部分只覆盖了上面第一个维度,也就是“GPU卡本身的租用价格”。但一台能跑起来的实例,必须有CPU、内存、磁盘和网络,这些配套资源会另外计价。如果你在创建实例时选了比较大的数据盘,或者绑定了固定公网IP,那么即使你只用了一个小时GPU,账单里也会同时出现存储费、IP费、带宽费。
举一个我自己的例子。早年间在某平台开了一台带“40G显存”的实例,页面上写着每小时十几块。我以为是全部价格,结果跑了三个小时之后一看详单,GPU费用之外还有“高效云盘100G”“弹性公网IP”“NAT网关”等项目,加起来比单价贵了将近六成。从那以后我就养成了一个习惯:先把创建页右边的“月估费用”或“明细预览”截图,再点创建按钮。
1.2 同样是“一张A100”,真实算力可能差出一大截
另一个容易被忽略的点是,GPU实例的标价不仅取决于硬件型号,还取决于“以什么形态提供”。同一个A100,可以做成整卡独占、MIG分片、vGPU虚拟化、共享型实例这几种形态。它们价格逐级下降,性能和隔离性也逐级下降。
整卡独占最好理解,你拿到一整张GPU,显存、算力、带宽全部归你。MIG是N卡官方提供的硬件虚拟化方式,可以把一张A100切成多个独立实例,每个实例有独立的显存和计算核心切片,硬件层面隔离做得比较干净,但单个切片能干的事有限。vGPU和共享实例则属于“超卖型”资源,平台把一张卡卖给好几个人,GPU核心通过时间片轮流用,显存可能也是共享映射出来的。这种实例便宜,但邻居要是跑满负载,你的训练速度会肉眼可见地掉。
我经常用一个类比来解释:整卡独占就像你单独包了一辆出租车,随叫随走;MIG像拼车但座位是固定的;共享实例像挤公交车,便宜,但车上人一多,你在站台上再怎么着急也只能跟着车流走。做训练、微调、推理这类高负载任务,最好别碰共享型实例,因为你的成本不只是“租金”,还有“时间折损”。同样的任务,共享实例可能要多跑三倍时间,总成本反而不低。
2. 主流计费方式横向拆解
GPU租用行业的计费方式,粗分下来大概四类:按需计费、包月包年、竞价实例、按任务或按API调用计费。没有哪个绝对好,关键看你的任务持续时间和稳定性要求。
2.1 按需计费:最常见,但最小计费单位决定误差
按需计费的核心是“用多久算多久”,有的平台精确到秒,有的精确到分钟,还有的按小时向上取整。这看起来公平,实际差别很大。
我见过某个平台按小时计费,开了一台实例只跑了20分钟的实验,释放之后账单里依旧按完整一小时结算。平台的理由是“资源调度和初始化占用了小时粒度”。这个规则通常隐藏在购买页最底部,不仔细翻很难发现。如果是跑一个会持续几小时的任务,这种误差不算什么;但如果你的工作流是频繁启停做小实验,那天累计误差就很可观了,白白多付的钱可能占到总成本的10%以上。
另外要问清楚一个问题:实例从“创建”到“可连接”之间的初始化时间算不算计费时长。部分平台在你点击创建后,后台需要几分钟从镜像拉起系统、挂载数据盘、启动GPU驱动。这个过程通常会计费,哪怕你还在等IP地址出现。曾有一家平台,光是冷启动就要四到五分钟,我当时的做法是创建后立刻准备环境脚本,等SSH一通就自动安装依赖,尽量把“等机器”的时间压缩。
2.2 包月包年:单价低,但对空闲时间极其敏感
包月包年的逻辑很简单:锁定一台实例,按月付钱,单价通常只有按需的几折。对大模型微调这种连续几十个小时跑训练的场景,包月确实能省不少钱。
这个模式的坑在于“闲置率”。如果你的使用习惯是每天开四五个小时,剩余时间都让实例挂着,那么包月就不划算了。我给你算一笔账。假设一台实例按需价10元/小时,包月价3000元/月,那么包月相当于买断了约300个小时的按需资源。如果你实际使用不足300小时,等于每小时单价反而更高,还失去了灵活性。
更要注意的是,很多平台的包月实例不支持“停机不计费”模式。也就是说,你关掉系统里的关机按钮,GPU不再跑了,但实例依然占用资源池,平台仍然按包月价格计费。这和按需计费的“关机不计GPU费”完全是两回事。所以在包月之前,先评估这个项目的稳定运行时长。如果项目经常中断、反复调试,包月买的就是寂寞。
2.3 竞价实例:价格诱人,但随时可能被回收
竞价实例在行业内也叫spot实例或抢占型实例。它的核心机制是供求定价:平台有多余的算力,就以一个很低的底价放出来,用户出价高于底价就能拿到,但一旦有人出更高的价格,或者平台资源收紧,你的实例就会被强制回收。
这种方式的单位价格通常只有按需价的二折甚至更低,非常符合“薅羊毛”的心理。我曾在某海外平台用竞价方式跑过一个晚上的数据处理任务,成本比按需便宜了四倍。但代价是,任务刚跑到第三个小时,实例被回收了,所有内存数据清零,只有写到磁盘上的结果还在。那一次我花了半小时重新启动任务,把断点续跑逻辑修好,才敢继续用竞价。
竞价实例特别适合三类任务:可以断点续跑的分布式计算、对时间不敏感的批处理任务、短期的算法验证。不适合生产环境推理服务,也不适合那种跑到一半失败就前功尽弃的训练任务。还有一个细节提醒:竞价实例被回收时,你仍然要为回收前运行的时长付费,有的平台还会收取“数据盘删除后的残留块”费用,务必要在规则说明里确认清楚。
2.4 按任务或按API调用计费:省心但单价不透明
现在很多平台尤其是模型服务商,推出了“按渲染帧数”“按训练时长”“按Token调用量”计费的GPU服务。表面上你不再需要管实例开没开、GPU占没占用,只需要为结果付费。这适合不想折腾环境、只想快速测试一个模型的用户。
这种模式的隐藏问题在于,单价通常经过了一层封装。你在“GPU实例”上跑一个任务用了5分钟,平台按“任务计费”可能收你一个小时的费用,因为中间包含了调度、排队、镜像拉取、算力迁移等看不见的步骤。更夸张的实例我也见过,同一个量的任务,在裸机按需上当月折合几十块,走“任务计费”要上百。
所以我给朋友的建议是:按任务计费适合“低频率、高价值”的项目,比如你做一个月的实验只用三五次,每次跑一个多小时,这种模式省心划算。但如果你的项目已经进入高频迭代阶段,每天都要跑几十次,那还是回头学实例管理,按需加包月组合,成本能掉一半以上。
| 计费方式 | 适合场景 | 主要风险 | 常见隐藏费用 |
|---|---|---|---|
| 按需按小时/秒 | 短期测试、间歇使用 | 最小计费单位、冷启动计费 | CPU/内存配套费、带宽费 |
| 包月包年 | 连续训练、长期推理服务 | 闲置浪费、关机仍计费 | 存储容量超配、公网IP费 |
| 竞价/抢占型 | 可断点批处理、弹性任务 | 随时被回收、数据丢失 | 残留存储费、重构环境成本 |
| 按任务/API | 低频任务、非技术用户 | 单价封装不透明、队头阻塞 | 调度费、镜像拉取费、Token溢价 |
3. 隐藏收费重灾区盘点
这个标题里最值钱的关键词,其实是“避免隐藏收费”。说实话,正规大平台并不会真的“骗你”,他们只是把计费规则埋得很深。你看到的那个GPU单价,永远不等于最终的账单单价。以下五种情况是我认为最典型的隐藏收费重灾区。
3.1 关机不等于停止计费
很多新手以为,在实例里执行了“shutdown”或者点击控制台的“关机”,钱就不再扣了。这个理解在一部分按需计费平台里是对的,在包月和部分容器平台里是大错。
首先要区分三种状态:
- 运行中:GPU、CPU、内存、磁盘、IP、带宽全部计费
- 已关机但保留:GPU计费可能停止,但系统盘/数据盘/公网IP仍在计费
- 已释放:资源全部销毁,不再计费,但快照仍可能计费
我见过不少用户,训练任务跑完后点了“关机”就算完事。实际上,他的200G数据盘和固定公网IP还一直挂着,一个月下来GPU费用停住了,存储和IP费用却稳定增长。更坑的是,某些云平台的“关机”默认保留了实例,也就是说系统盘依然占用存储空间,价格虽然比GPU便宜,但每天累积也不容忽视。
正确的做法是,在任务结束后明确选择“释放”或“删除”实例。如果担心第二天还要继续用,就只保留必要的快照和数据集,不要保留整机。以我自己的习惯,凡是按需实例,每次跑完最后一步一定是释放,而不是关机。最多保留一份自定义镜像,因为镜像费用比整机便宜得多,而且可以在几分钟内重新拉起同样的环境。
3.2 公网带宽与流量费,越传越贵
GPU实例的单价再便宜,也架不住你把数据往外传。这里的“往外传”包括:通过公网下载模型权重、上传数据集、把训练结果存到自己的对象存储,以及对外提供推理接口。
带宽计费一般分成“固定带宽”和“按量流量”两种。固定带宽是你先买一个上限,比如5Mbps,不管用不用,每个月都要付固定费用。按量流量则是用多少GB扣多少钱。GPU算力平台上,很多人的模型文件动辄几十个GB,如果没注意流量包,一次下载或回传可能就比GPU本身费用还高。
我踩过一次最惨的坑,是在海外平台租了一台GPU来做模型权重迁移。当时实例在美东,我的数据集在美西的对象存储里,平台提示“同一账号跨区域Copy免费”,我没细看就跑了。结果FileCopy工具实际走了公网,一个30G的数据集硬生生花掉了几十美元流量费。
建议租用前先确认三点:数据是否存在同一个区域;模型和数据集是提前上传到平台的对象存储,还是临时用wget从外网拉;平台有没有提供“内网传输”专用节点。把这三件事搞清楚,你的流量成本能降低90%。
3.3 系统盘、数据盘、快照和镜像,每一项都能单独出账
GPU实例离不开存储。系统盘至少几十GB,训练数据集可能几百GB,环境快照和自定义镜像又会占用一份空间。问题是,很多平台对这三样东西分开计价。你看到的价格套餐里可能只包含默认的80G系统盘,一旦数据盘扩容到500G,多出来的部分单算。快照也是按增量空间收费,看起来是“自动备份”,每个月都在悄悄扣钱。
我建议你把存储规则当成“搬家合同”来看:搬家公司给你报的运费可能很便宜,但每个纸箱、每件家具单独算,到了现场你可能发现一个大衣柜也算两个箱子。GPU平台的存储费用就具备这种“单据化”特性。
实操上,我会给每个实例设置明确的生命周期:系统盘保持最小可跑环境,数据量大且热的数据放数据盘,冷数据放对象存储,训练完立刻删数据盘快照。创建实例时不要贪容量,先按最小起步,运行中如果发现磁盘不够再扩容,通常比一上来就开一个超大容量更省钱。
3.4 变配、续费、排队和启动时长,这些隐性差价容易忽略
隐藏收费不一定写在“费用”两个字下面,还可能藏在“规则”里。
变配差价就是一个例子。不少平台支持实例升级或降级,比如把GPU从一块升到两块,或者从A100换到H100。升级时,通常按新配置价格从操作时刻起计费,但降级可能按退费比例折算,而且折算公式各个平台不一样。如果你在月初买了包月,月中降级,平台可能只退“剩余天数的按需价差额”,而不是按包月单价差额退,结果就是退少了。
排队调度费也常被忽略。有些热门机型不仅贵,还要排队。平台会提示“排队中”,这个状态下GPU没有使用,但如果你创建的是“抢占式按需包”,可能已经在计费了。我遇到过一个平台,排队等待的时长会计入实例的“资源占用时间”,但页面没有任何醒目提示。
自动续费更容易翻车。很多云平台默认开启自动续费,而且续费周期越长折扣越高,于是你的银行账单上每隔一月就出现一笔你没确认过的“GPU包月费”。如果项目已经结束,记得在账单周期结束前关闭自动续费,这个操作需要手动处理。
3.5 环境故障和调试时间,也在烧钱
这一条最容易被当成“技术问题”而非“费用问题”,但我想强调:GPU租用的账单不仅来自资源计量,也来自计费时间内的空闲等待。你在GitHub上找驱动、装CUDA、调PyTorch版本、重启容器,这部分时间GPU也在跳表。
常见的情况包括:实例驱动和CUDA版本不匹配,导致torch无法使用GPU,需要重装环境;GPU在系统里变成了错误代码43,或出现类似Xid 79这类报错,平台客服让你重启解决,一重启就是几分钟;还有时候容器里nvidia-smi显示正常,但paddle或tensorflow一跑就报CUDNN版本冲突。
这些并不是平台欺诈,但它们确实造成了“GPU没有产出却仍在计费”的时间成本。避免的办法是,在下单之前确认镜像里已经内置好你需要的驱动和深度学习框架版本,不要在裸机环境里从零编译。我自己的做法是,首次跑通一个任务后立刻做一份自定义镜像,后续所有实例都从这份镜像拉起。一次镜像制作花费几十分钟,省下的是之后每次部署的反复调试。
4. 不同场景下的计费方式选择
没有一种计费方式全场景适用。下面按最常见的三类需求给出我的建议,你会发现组合比单选更重要。
4.1 大模型微调和训练:包月为主,按需补缺口
大模型微调有个特点,训练过程连续且时长长,动辄十几个小时到几天。如果全程按需计费,成本很容易失控;如果全部包月,又可能因为实验过程中反复改参数、停机器,实际利用率不高。
更合理的组合是:以包月实例作为主力,因为训练任务大概率会持续多天;用按需实例做实验前的环境准备和数据处理,跑通之后再迁移到包月实例上。如果项目周期只有两三天,那就直接用按需,没必要买包月。
另外,如果你的训练任务量波动很大,比如高峰期需要同时8卡,低峰期只需要2卡,可以考虑“包月基础资源+临时扩容”的组合。基础节点用包月锁定,临时节点用按秒计费按需拉起,跑完即时释放。这套路和我平时管理真实训练集群的逻辑一致:长稳任务保底,弹性任务抢时间。
使用k8s调度GPU的话,更需要关注计费粒度和调度粒度的一致性。有些平台支持按“GPU卡数”和“显存大小”作为调度资源,但计费订单可能按“整个Pod占用的节点”扣费,导致调度了半张卡,账单却按整机算。这个坑在混合部署场景里特别常见。
4.2 推理服务部署:选稳定包月或按调用,避开竞价
推理服务最怕不稳定,任何一次卡顿或者实例回收,都会直接导致线上请求失败。竞价机虽然便宜,但被回收的随机性太大,不适合生产环境。
对中小型推理服务,我会优先选择按需或包月的整卡实例,并做好自动重启和健康检查。对流量波动很大的服务,可以考虑“按调用计费”的平台,把成本直接与请求量挂钩,这样天然不会有闲置浪费。但要注意,按调用计费通常包含了服务托管的溢价,如果调用量长期稳定,其实不如包月划算。
推理服务还需要重点考察两项配置:GPU显存和带宽。显存决定了模型能不能装下,带宽决定了并发吞吐上限。有些包月套餐标价很低,但只给了很小的带宽或者较弱的CPU,推理请求一上来GPU利用率没跑满,反而被网络或CPU拖了后腿。这种场景下,你以为买的是算力,其实买的是输出给用户的响应能力。
4.3 短期测试、课程实验和小型Demo:按需秒级最合适
如果你只是验证一个想法、跑一个小Demo、或者做一门课程作业,请务必使用按需实例,并且按秒计费。买包月就是纯浪费。按天租也是次优解,因为课程作业通常每天就玩两三个小时。
这类低强度场景下的最佳姿势是:提前准备好脚本和数据集,开实例后第一条命令就自动执行全套流程,跑完自动释放。这里的“自动释放”不是关机,而是调用平台API删除实例。很多平台支持在创建时设置“最长运行时长”,到点自动释放。我第一次参加一个GPU编程课程时,就是因为没设置自动释放,明明作业早就交完了,实例又白挂了两天,多付了几十块。
5. 实操:租用前中后如何把成本压到最低
这一部分是我真正想让你保存下来的内容。成本控制不是靠感觉,而是靠一套固定流程。
5.1 创建实例前的“价格确认清单”
在下单前,我建议你按下面这张清单逐项确认,能勾选清楚的绝不含糊:
- GPU型号、显存大小、卡数是否与需求匹配
- GPU提供方式:整卡、MIG分片、vGPU还是共享型
- 配套CPU核数和内存容量是否够用
- 系统盘默认容量,数据盘按GB计费的单价
- 公网IP是否单独收费,能否解绑
- 带宽计费方式是固定带宽还是按量流量
- 镜像是否免费,自定义镜像是否要额外存储费
- 计费最小单位:秒、分钟还是小时
- 冷启动时间是否计费
- 关机后GPU费是否停止
- 释放实例后快照和磁盘是否继续收费
- 竞价实例的回收保护政策和通知方式
- 欠费冻结规则,恢复数据是否需要手续费
- 自动续费是否开启,关闭路径在哪
这十几条听上去啰嗦,但每一条都是真金白银。我甚至建议你把这些内容整理成一个备忘录,每到一个新平台租GPU时,先在创建页里逐项核对,而不是直接点“立即购买”。
5.2 创建中和关机后的正确操作细节
创建实例时,不要只在配置页选一个GPU型号就完事。把“高级选项”展开,里面有大量和费用相关的字段。举例来说,数据盘默认位置尽量不要跨可用区,因为跨可用区的存储读写会额外收费;登录方式如果是密钥对,可以节省一些生成镜像时的授权成本;实例名称带好标签,后面核对账单时会轻松很多。
关机后的操作也很关键。如果你已经完成训练,建议按这个顺序清理:
- 把需要保留的结果上传到对象存储或自己的服务器
- 删除临时数据,保留数据集副本到对象存储
- 把跑通的环境做成自定义镜像,用来以后拉起新实例
- 删除数据盘快照(先确认真没用了)
- 释放实例,而不是关机
- 解绑公网IP,避免IP闲置费
- 查看账单页面,确认该实例已消失,不再出现在计费列表里
这个过程我重复了无数次,已经成了肌肉记忆。哪怕平台再怎么改页面,只要按这个思路清理,账单都不会失控。
5.3 账单核对的技巧:把费用归类到资源
每个月或每个项目结束后,我会导出一份账单明细,把费用字段拆成几大类:GPU计算费、存储费、网络费、镜像费、其他服务费。核对的时候只看两个关键指标。
第一个是“GPU总时长”是否和你的实际运行记录吻合。我会在自己代码里加轻量日志,记录每次训练开始和结束时间,造出一个“我自己的计费表”,再跟平台账单交叉比对。差别超过5%,就要去查是否有冷启动、排队或关机残留。
第二个是“存储费”是否符合预期。如果磁盘容量没变,但存储费一直在涨,大概率是快照在自动扩容,或者有旧实例的系统盘没有清干净。
还有一个小技巧:精确到秒的平台,在账单里往往能看到“不足一分钟按一分钟计费”之类的字样,这类规则会显著影响短任务的成本,一定要在你做批量短任务前看明白。
5.4 用自动化脚本减少人工误操作
人工操作最容易忘记释放实例。我的做法是写了一个简单脚本,所有按需实例都带一个环境变量,标记预计结束时间,到点后自动调用云厂商的API释放。
伪代码思路如下:
import datetime import schedule def release_expired_instances(instances, deadline): for instance in instances: if instance.start_time + deadline < datetime.datetime.now(): instance.release() print(f"released {instance.id} at {datetime.datetime.now()}") schedule.every(5).minutes.do( release_expired_instances, load_instances(), EXPECTED_LIFECYCLE )这只是个示意,不同平台的API调用方式不同,但核心思路是一致的:不要依赖人类记住释放实例,要让机器替你做决定。对于没有编程经验的用户,平台自带的“定时释放”功能也够用,创建时设置好即可。
6. 常见问题与避坑经验速查
最后这部分,我把遇到过的真实问题和排查思路整理成速查表,希望能帮你少走弯路。
6.1 典型现场一:为什么按秒计费,账单还是比预想高
用户经常会选了一个标价很低的按秒计费实例,跑了一小时后发现扣费远超预期。问题通常不在于“秒级计费”本身,而在于账单里除了GPU实例费,还叠加了CPU核数、内存、系统盘、公网IP和数据盘费用。出现这种情况,请先打开账单明细,把“实例费用”和“关联资源费用”拆开看,你能直观看到多出来的钱来自哪个维度。
另一个原因是计费开始时间从“创建”算起,而创建过程包含镜像拉取和启动调度,这部分几分钟的时长有时会被计入。解决方法是复用已缓存镜像,或者建立一个常驻的“最低配跳板实例”,用它来提前拉起镜像缓存。
6.2 典型现场二:竞价实例被回收,算谁的责任
竞价实例被回收是正常机制,不是故障。回收前的资源会正常计费,回收后如果数据盘还在,继续按存储计费。这里要提醒的关键点是,不要把你唯一的结果集放在本地磁盘上。每次跑批处理任务前,先启用断点续传,每隔一段时间把中间结果写入持久化存储。这样哪怕实例突然被回收,你最多损失最后几步的计算,而不是整个任务的所有产出。
如果平台在回收前没有任何通知,你可以去看事件日志。多数平台会记录“spot instance interruption notice”类似的事件,如果你的平台连事件日志都没有,那说明它的运维成熟度不足,生产环境别用。
6.3 典型现场三:实例健康,但GPU利用率不满还要多花钱
性能不足和费用超支经常同时出现。有些人租了一个超贵的多卡实例,但模型代码没做好并行化,结果八张卡只用了两张。这种情况下,你把计算资源换回两张卡的单机实例,成本直接变成四分之一,而不是去纠结平台收费贵不贵。
所以在租用前,先估算你的模型需要多少显存,训练时能达到多少并行效率。显存不够导致OOM,或者多卡效率过低,这两类问题都会让你花冤枉钱。你可以先用小数据试跑一个step,观察单卡显存占用、训练吞吐和线性加速比,再决定要不要租更大规模。
一些常见故障对成本也有间接影响:系统提示显卡错误代码43、容器里看不到GPU、nvidia-smi命令报错、PyTorch报CUDA版本不兼容。这些故障发生在计费周期内,虽然平台不见得会退费,但你可以通过提前使用预置镜像来规避。
6.4 我的一点经验之谈
从第一次租GPU被账单吓到,到现在几乎不再发生费用超支,我的体会是:GPU租用这件事,真正的成本控制不在于“找到最便宜的单价”,而在于“让每一秒计费时间都产生有效算力输出”。
所以我最后给你三条原则:第一,把平台当“供应商”而不是“朋友”,所有规则以截图和订单为准,不要凭口头印象;第二,所有资源都要有明确的生命周期,用到哪一步释放哪一步,绝不养闲机;第三,每次项目结束,花十分钟看一次账单明细,把不认识的费用项查清楚,再去规划下一次。
做到这三点,你不需要整天研究各家平台的价格表,也能保证GPU账单始终处在一个可控范围。下次再有人跟我说“GPU租用好便宜”,我一般都会回一句:单价便宜没什么用,账单便宜才算真本事。