"训练一个大模型要烧多少钱"是个被反复问、又很少被讲清楚的问题。作为工程师,与其记住某个传说中的天价数字,不如掌握一套能自己估算的方法:训练成本由 FLOPs、芯片算力、利用率 三者决定,推理成本则由 访存、并发与 KV Cache 主导。这篇把账拆开算。
训练成本:一个惊人简洁的公式
训练大模型的总计算量有一个广为人知的近似估计:
其中 是总浮点运算次数(FLOPs), 是模型参数量, 是训练 token 数。这个 6 的来历值得理解:前向传播每个参数对每个 token 约做 2 次浮点运算(一次乘、一次加),反向传播约为前向的 2 倍(要算对权重和对激活两路梯度),合计约 。
代入数字感受一下量级:一个 70B 参数、训练 2T token 的模型:
接下来把 FLOPs 换算成"芯片小时"。关键变量是实际算力利用率(MFU, Model FLOPs Utilization)——加速器标称峰值算力很高,但通信、访存、流水线气泡会让实际利用率通常落在 30%~50%。
T_{\text{芯片秒}} = \frac{C}{\text{峰值FLOPS} \times \text{MFU}}假设单卡峰值 FLOPS(即 1 PFLOPS 量级的低精度算力),MFU 取 0.4:
T = \frac{8.4\times10^{23}}{10^{15}\times0.4} \approx 2.1\times10^{9}\text{ 芯片秒} \approx 58\text{ 万 芯片小时}最后乘以每芯片小时的租赁/折旧成本,就得到训练成本。MFU 是这里最值钱也最被忽视的变量:从 30% 提到 50%,等于训练成本直接降三分之一。它取决于并行策略、通信拓扑、算子融合、是否被数据加载卡住等一系列工程细节。
训练里钱花在哪:不只是算力
1 | 训练总开销 ≈ 计算(GPU 小时) |
一个常见误区是把"最终那次成功训练的 GPU 账单"当成全部成本。真实项目里,消融实验、超参搜索、失败重启消耗的算力往往与最终 run 相当甚至更多。数据工程(尤其去重和质量过滤)对最终效果的杠杆,常常比多堆 10% 算力更高。
显存也是硬约束。训练时单卡要装下:权重 + 梯度 + 优化器状态 + 激活。以混合精度 Adam 为例,每个参数的常驻状态约需十几字节量级(fp32 主权重、一阶/二阶动量等),所以大模型必须切分——数据并行、张量并行、流水线并行、ZeRO 分片,每种切法都在用通信换显存,又反过来压低 MFU。这是训练系统设计的核心张力。
推理成本:被低估的长尾
很多人以为训练贵、推理便宜。但模型一旦上线服务海量用户,推理的累计成本通常远超训练——训练是一次性的,推理是持续的。
推理成本要分两段算(这点和端侧一致,但云端关注吞吐而非单请求延迟):
- Prefill(处理输入 prompt):并行处理所有输入 token,计算密集,成本近似正比于输入长度。
- Decode(逐 token 生成输出):自回归,每步都要把全部权重过一遍,访存密集,成本正比于输出长度。
所以"长输出"比"长输入"贵得多,这也是为什么 API 普遍对 output token 定价高于 input token。
云端推理省钱的核心手段是 batching(批处理):把多个用户请求拼成一个 batch 一起算。因为 decode 是 memory-bound,权重只读一次就能服务整个 batch,单 token 边际成本随 batch 增大而摊薄,直到撞上算力或显存上限。这就引出吞吐量的核心公式:
\text{单 token 成本} \approx \frac{\text{机器每秒成本}}{\text{有效 tokens/s 吞吐}}提升吞吐 = 降成本。关键技术包括:
1 | Continuous batching : 请求随时插入/退出,避免等齐一批,GPU 不空转 |
而 batch 能开多大,又被 KV Cache 显存卡住:并发越高、上下文越长,KV Cache 占用越大,留给 batch 的空间越小。所以"长上下文 + 高并发"是推理成本的乘数效应区,PagedAttention 和 KV 量化就是为了缓解它。
一个能落地的估算心法
下次有人甩给你一个 AI 成本数字,可以这样快速做合理性检查:
- 训练:,除以(峰值算力 × MFU),再乘单位算力成本。MFU 没说就按 0.3~0.5 估。
- 推理:按 token 计价,分清 input/output;想压成本就看吞吐(batch、量化、KV 管理),而非单纯换更快的卡。
- 警惕被忽略的项:训练里的失败 run 和数据工程,推理里的长尾并发与长上下文。
小结
AI 算力经济学的两条主线很清晰:训练成本是 除以利用率的一次性投入,瓶颈在 MFU 和显存切分;推理成本是 吞吐量倒数的持续性支出,瓶颈在 batching 和 KV Cache。把这两套公式记牢,你就能脱离"天价传说",对任何 AI 系统的成本做出数量级正确的判断。