← 课程库
预训练工程模块四 · 训练运算量及时间计算计算14 分钟

训练算力与时间:FLOPs 与 6ND

训一个模型大概要多少次浮点运算

学完这节你能:
  • 掌握训练 FLOPs ≈ 6ND
  • 会由 FLOPs 和算力估训练时间
  • 理解 6 的来历

训练一个 N 参数模型、过 D 个 token,总浮点运算量有个经典估算:约 6ND。这是估算训练成本与时间的核心公式。

训练 FLOPs 6ND\approx 6\cdot N\cdot D
(前向约 2N2N/token,反向约 4N4N/token,合计 6N6N/token,×D\times\, D 个 token)
训练时间 \approx 总FLOPs // (GPU算力 ×\times MFU利用率 ×\times 卡数)
手算
N = 7B = 7×10⁹,D = 1T token = 1×10¹²
总 FLOPs ≈ 6 × 7e9 × 1e12 = 4.2×10²²
设有 100 张卡、每张 200 TFLOP/s 实效算力 = 2×10¹⁶ FLOP/s
时间 ≈ 4.2e22 / 2e16 ≈ 2.1×10⁶ 秒 ≈ 24 天

🔑 记牢 6ND:2 前向 + 4 反向 = 6。它让你能在动手前就估出「这个训练要花多少卡·天、多少钱」。

自测训练一个 3B 参数模型、过 500B token,训练 FLOPs 约为:
自测变式(换数字再算):用 6ND 估算,N=1.3B、D=300B token 的训练 FLOPs 约为:
// 带走一句话

训练算力≈6ND(2 前向+4 反向)×token 数;除以有效算力得训练时间,是成本估算的核心公式。

独立练习

做到这些,才算完成本节

  1. 替换 N、D、GPU 数与 MFU,重新计算 FLOPs 和训练天数,并写清单位换算。
  2. 反向计算:在固定 30 天预算下估算可训练的最大 token 数。
  3. 替换例题中的数值,从头独立算一遍。
  4. 用数量级、边界值或反向计算检查结果是否合理。
学习记录

记录本节阅读进度

建议先独立回答自测。读完记录不等于已经掌握。

继续下一课
← 上一课
MoE 参数量:激活参数 vs 总参数
下一课 →
训练显存计算:参数、梯度、优化器态、激活

学完不要急着赶进度:去练习自测,或完成对应的阶段实验