很多人问「训练一个模型要多少钱」,其实这个问题没法一句话回答,因为训练预算不是一个数,而是几块完全不同性质的开销叠在一起:算力是明码标价的、数据是隐性的、人力是长期的、试错是最容易被低估的。这篇不给你一个总价,而是给一套拆分方法:先认清有哪几块,再判断自己这件事到底算不算「训练」,最后按什么顺序去估。
很多人问训练一个模型要多少钱,这问题其实没法一句话答。训练预算不是单一数字,而是几块性质完全不同的开销叠在一起:算力是明码标价、能提前问的;数据是隐性的、最容易漏的;人力是长期的、按月烧的;试错是最容易被低估的,往往占总账一大半。所以这篇不给你一个总价,而是给一套拆分方法:先认清有哪几块,再判断自己这件事到底算不算「训练」,最后按固定顺序去估。
这套拆分最大的好处是:每一块你都能单独去找当时的数字核对,而不是把四块混在一起猜一个总数。混着猜的结果通常是严重低估,因为人会本能地只算看得见的那块(租卡),把看不见的(标注、清洗、失败实验)全漏掉。下面按四块分别讲清楚「算的是什么、去哪对数字、什么情况下不适用」。
先分清:你说的「训练」是哪一种
动手算钱之前,先确认你要做的事属于哪一类。从零预训练、继续预训练、微调(全参或者参数高效)、只做提示词加检索,这几种的账差着量级。很多人嘴上说「训练一个模型」,实际只是想让模型按自己的格式和资料回答,那本质上是微调或者 RAG,不是预训练。判断标准不是技术名词,而是三件事:你有没有改动模型权重、要多少条标注样本、要不要重复跑多轮。
| 你说的训练 | 要动权重吗 | 账的大头在哪 |
|---|---|---|
| 从零预训练 | 要 | 算力,且是压倒性的那块 |
| 继续预训练 | 要 | 算力加高质量语料授权 |
| 微调(全参) | 要 | 算力中等,数据与评估为主 |
| 微调(参数高效) | 要 | 算力小,主要花在数据和人力 |
| 提示词加检索(RAG) | 不要 | 数据整理与检索质量,几乎不烧训练算力 |
这张表的意义在于:如果你落在最后两行,就不该按「训练大模型」的预算去申请,方向一开始就错了。想确认自己属于哪一类,去站内的微调和 RAG 路线对照页看一遍,把「要不要动权重」这个判断先定死,再谈钱。什么情况下这张表不适用?当你做的是多模态或者需要大量对齐训练的任务,路线会更复杂,得按具体流程再拆。
第一块:算力——唯一能提前问出价钱的
算力是四块里唯一明码标价、可以提前问清楚的,所以它最该先算。公式不复杂:卡时单价乘以卡数乘以有效训练时长,再乘上一个额外占用系数。那个系数对应的是排队、任务重启、调参失败重跑、中途显存爆掉这些真实会发生的损耗。实践经验是,纸面上算出来的时长只是理想值,实际占用通常要往上加一段,具体加多少取决于你的任务稳定性和集群调度情况。
- 先去站内训练算力页看当时的档位口径,搞清楚它按小时还是按卡天报价,单位不统一乘出来一定是错的
- 再去租卡页面看当下实际租金水平,两边单位对齐后再相乘
- 显存决定你能不能跑起来,吞吐决定你要跑多久,这两件事分开算,别用「大概几张卡」糊过去
- 额外占用系数别拍脑袋,参考你团队过去几次实验的实际耗时和有效训练耗时的比值
什么情况下算力这块可以少算?如果你的任务是参数高效微调、数据量也不大,那训练本身可能只是几次短跑,算力反而不是大头。但别因此忽略推理成本——上线后长期推理的开销经常超过当初那一轮训练,这块要去站内的推理成本相关页面单独核对。
第二块:数据——最容易漏算的那笔
数据成本分三块:拿数据的授权或者采购、清洗与去重的人工、标注或者人工校验的工时。小团队最常犯的错是只算了标注费,完全没算清洗和格式转换,而后面这部分往往比标注本身还耗人。脏数据和重复数据还会直接拉长训练时间,等于绕一圈又把算力开销抬上去了。
- 授权或采购
- 来源是否可商用、有没有排他限制,都会影响报价和后续风险
- 清洗与去重
- 去重、去噪、格式统一,通常占数据处理工时的大头
- 标注与校验
- 按条计价还是按工时计价,直接决定你这块能不能控住
- 评估集
- 要单独留一批不参与训练的数据,别拿训练集当验收标准
判断标准很简单:如果你的数据需要从多个来源拼、格式不统一、还要人工判定对错,那数据这块大概率会超过算力。反过来,如果你用的是现成的、已授权的高质量数据集,这块就能大幅压缩。什么时候不适用?当你做的任务有现成公开评测集、且数据质量已经够用,那可以跳过大部分清洗,但要确认它的授权允许你的使用场景。
第三块:人和试错——真正决定总账的
这两块放一起讲,因为它们是同一件事的两面。人力上,你需要一个能定评估标准的人,而不是只会跑脚本的人;没有验收标准,训练就是在烧钱换一堆没人敢上线的权重。试错上,预算要按「跑几轮实验」来留,而不是按「跑一次就成功」来留。绝大多数训练开销其实花在失败和对比实验上,第一次就成的项目是少数。
- 先定验收标准在开跑之前写清楚什么样的结果算成功,谁有权拍板上线,避免训练完没人认账
- 按轮次留预算把总预算拆成若干轮实验的钱,而不是一次性押注,每轮结束复盘再决定是否继续
- 算长期账而不是单次报价自建还是租用、买卡还是按量租,取决于这件事是一次性还是长期反复,用几年周期去算比用单次报价更接近真实
关于自建和租用的取舍,判断标准是使用频率和持续性。如果只是短期跑几轮实验,按量租更划算,不用背闲置成本;如果是长期反复训练加推理,自建才可能摊薄。具体哪种更便宜,得把站内租卡页的当前单价和自建要考虑的机位、电力、运维一起摆出来对比,而且这些数字会变,别写死在文档里。
估预算的推荐顺序(照着走一遍)
四块认清了,最后关键是用固定顺序把它们串起来。顺序错了,前面算得再细也会被推翻。下面这个顺序的核心是:先定性质,再定规模,最后才带价格,并且每一步都把数字来源标清楚。
- 定任务类型确认要不要动权重,排除掉「其实是 RAG」这类伪训练需求,方向对了再往下走
- 定数据来源与标注量把授权、清洗、标注、校验四块的工时和费用列出来,得出数据这块的区间
- 倒推算力按显存定卡数、按吞吐定时长,再乘额外占用系数,得出算力的区间
- 带入当前单价去站内算力页和租卡页把当前单价带进去,算出一个区间而不是一个点
- 乘实验轮次系数给上面的区间乘一个轮次系数,作为最终申请预算的数字,并附上所有站内链接
最后一步特别重要:任何单价都别写死在预算文档里,附上对应的站内页面链接,让看的人自己核对接当时的价格。价格和档位会变,写死的数字过几天就过期,反而误导决策。什么情况下这个顺序不适用?当你只是做一次性的小规模微调验证想法,那可以简化成「粗算算力加算数据」,不必走完整流程。
下一步:把当前单价带进你的估算拆分方法有了,真正落地还得用当下的实际单价。去站内算力与租卡相关页面,把今天的报价带进上面这套顺序里算一遍,你会得到一个比拍脑袋可靠得多的预算区间。→常见问题
训练一个模型一定要很多卡吗?
不一定。只做微调、而且用的是参数高效方法时,单卡甚至单张消费级卡就能跑通小规模实验。真正吃卡的是从零预训练和全参微调大模型。先确认你要改多少参数,再决定要不要上多卡,别一上来就按最大的方案报价。
为什么我问到的报价差那么多?
多半是口径不同:有的只报卡时,有的把数据、标注、人力打包;有的按一次跑通算,有的按多轮实验算。比价前先把「包含哪几块、算几轮、谁来验收」这三件事对齐,再去站内算力页面核对当时的单价水平,才有可比性。
自己训练和直接调用现成模型,怎么判断哪个划算?
看三点:你的任务是不是通用模型已经能做、数据能不能外发、需求会不会长期反复变。通用任务且数据敏感度低,调用通常更省;任务特殊、数据只能留在内网、又要长期迭代,自建或私有部署才可能划算。把这三条逐一回答完,答案基本就出来了。