成本估算:给定规模需要多少卡、多少时间、多少钱¶
更新日期:2026-04-15
一、核心公式¶
训练一个 token 的前向+反向传播总 FLOPs 约为 \(6N\)(\(N\) 为参数量,MoE 用 active 参数)。其中前向 \(\approx 2N\),反向 \(\approx 4N\)。
\(\text{总 FLOPs} = 6 \times N \times D\)
\(\text{训练时间(小时)} = \frac{6ND}{n_{\text{gpus}} \times \text{GPU峰值FLOPS} \times \text{MFU} \times 3600}\)
\(\text{成本} = \text{训练时间} \times n_{\text{gpus}} \times \text{GPU 小时费}\)
为什么是 6 而不是 2?反向传播需要算两遍矩阵乘法(一次算梯度对输入,一次算梯度对权重),所以反向 \(\approx 2 \times\) 前向。加上前向本身 = \(2+4=6\)。
二、GPU 性能参数¶
价格仅为参考值。2024-2026 年 GPU 供需波动大,峰值价可达 2x,谷值价为 0.5x。
三、典型训练成本估算¶
3.1 不同规模对比¶
DeepSeek-V3 以 $5.5M 训出 671B 模型,震惊行业。关键因素:MoE (只激活 37B)、FP8 训练、MLA 高效注意力。
3.2 估算公式示例¶
def estimate_training_cost(
n_params_B, # 模型参数 (十亿)
is_moe=False,
n_active_B=None, # MoE 激活参数
n_tokens_T=1, # 训练 tokens (万亿)
gpu='H100',
mfu=0.45,
n_gpus=1024,
):
# GPU 峰值 FLOPs
gpu_peak = {'A100': 312, 'H100': 990, 'H200': 990, 'B200': 2250}[gpu] * 1e12
gpu_price = {'A100': 2, 'H100': 4, 'H200': 6, 'B200': 8}[gpu]
# 有效参数 (MoE 用 active)
effective_N = n_active_B if is_moe else n_params_B
# 总 FLOPs
total_flops = 6 effective_N 1e9 n_tokens_T 1e12
# 训练时间 (小时)
flops_per_hour = n_gpus gpu_peak mfu * 3600
train_hours = total_flops / flops_per_hour
# 成本
cost = train_hours n_gpus gpu_price
return {
'total_flops': f"{total_flops:.2e}",
'train_hours': f"{train_hours:.0f}",
'train_days': f"{train_hours / 24:.1f}",
'cost_usd': f"${cost:,.0f}"
}
# 示例: 训 LLaMA-3 8B
estimate_training_cost(n_params_B=8, n_tokens_T=15, gpu='H100', mfu=0.45, n_gpus=2048)
# → train_days: 44, cost: ~$4.2M (不含运维损耗)
四、推理成本估算¶
4.1 推理核心公式¶
# 推理 FLOPs / token = 2 × N (前向)
# (对比训练: 6 × N, 多了反向传播)
# 每秒生成的 tokens:
# = GPU 带宽 / 模型大小 (decode 阶段, 带宽限制)
def inference_throughput(n_params_B, gpu='H100', is_moe=False, n_active_B=None):
effective_N = n_active_B if is_moe else n_params_B
model_size_gb = effective_N * 2 # BF16
hbm_bw = {'H100': 3.35, 'H200': 4.8, 'B200': 8.0}[gpu] * 1000 # GB/s
# 理论上限 (batch=1)
tokens_per_sec = hbm_bw / model_size_gb
return tokens_per_sec
# 实际: batch 越大, 吞吐越高 (因为计算并行)
4.2 典型推理成本¶
五、预算规划示例¶
5.1 "训一个 SOTA 开源 LLM"¶
目标: 训出 70B Dense 模型, 对标 LLaMA-3 70B
预估: - 计算: 15T tokens × 70B × 6 = 6.3e24 FLOPs - H100 @ 43% MFU: 约 5000 万 GPU-hours - 1000 GPU → 约 2000 天 (5.5 年) ❌ 不现实 - 8000 GPU → 约 250 天 (8 个月) ✅ - 16000 GPU → 约 125 天 (4 个月) ✅✅
成本: - 8000 GPU × $4/h × 24h × 250 天 = $192M - 这不含存储/网络/人力/失败重训 - 实际成本 $250M-400M
结论: 训 SOTA 开源模型是 "$100M+ 级" 门槛
5.2 "训一个 MoE 模型 (DeepSeek-V3 级)"¶
目标: 671B/37B MoE
预估 (参考 DeepSeek-V3 实际): - 计算: 14.8T × 37B × 6 = 3.3e24 FLOPs (激活参数) - H800 @ 40% MFU, 2048 GPU: 2.664M GPU-hours - 即 ~55 天
成本: - 2048 × ¥30/h × 24 × 55 = ¥81M ≈ $11M - DeepSeek 报告的 $5.5M 可能使用更便宜的 GPU 或时段
结论: MoE 显著降低门槛, 千万美元级可行
5.3 "微调一个 SOTA 模型"¶
目标: LoRA 微调 LLaMA-3 70B
- LoRA 只训几千万参数
- 显存主要用于基模型
- 4×H100 80GB + QLoRA 即可
时间: - 100K 条 SFT 数据, 1 epoch - ~5-10 小时
成本: - 4 × $4 × 10 = $160 - 加 RLHF / DPO: $500-2000
结论: SFT/RLHF 成本极低, 万元即可
六、成本优化策略¶
| 策略 | 节省比例 | 实现难度 | 代表实践 |
|---|---|---|---|
| MoE(稀疏激活) | 5-10× | 高 | DeepSeek-V3, Mixtral |
| FP8 训练 | ~1.5-2× | 中 | DeepSeek-V3, NVIDIA H100 stack |
| MLA / GQA(KV 压缩) | 2-4× 推理 | 中 | DeepSeek-V2/V3, LLaMA-3 |
| Muon / 更优 optimizer | 1.3-1.5× | 中 | Moonshot K2 |
| 合成数据 | 5-10× | 高 | Phi 系列, DeepSeek 数学 |
| 重训利用(continue pretrain) | ~3× | 低 | LLaMA-3.1 → 3.3 |
| Activation checkpointing + 重叠 | 1.5-2× | 低 | Megatron / DeepSpeed 默认 |
6.1 DeepSeek-V3 的成本控制秘诀¶
七、2026 成本趋势¶
| 趋势 | 影响 |
|---|---|
| H200/B200 普及 | 算力成本降 2x |
| FP4 / NVFP4 | 推理成本再降 2x |
| MoE 成为主流 | 训练成本普遍降 3-5x |
| Muon/更高效优化器 | 训练时间降 30-50% |
| 合成数据成熟 | 数据成本降 10x |
| 综合效果 | 2024 年 \(100M 的训练, 2026 年可能\)10-20M |
参考文献¶
-
[1] LLaMA-3 Technical Report. 2024. 论文
-
[2] DeepSeek-V3 Technical Report. 2024. 论文
-
[3] Hoffmann et al. Chinchilla. 2022. 论文
-
[5] Patterson et al. The Carbon Footprint of ML. 2021. 论文
-
[6] SemiAnalysis GPU Pricing Reports 网站
↑ 上级 · D. 预训练 Recipe