Model
下面给出常用的 FLOPs(Floating-Point Operations)估算方法,并基于此对 7B 模型和 MoE (8×7B,激活 2 experts) 模型的训练成本做个对比。
⸻
-
常用 FLOPs 估算公式
1. 训练(Training)
总 FLOPs ≈ 6 × 参数量 Np × 训练 Tokens 数 Nt
• 这里的“6”来自一次前向(≈2)+一次反向(≈4)的粗略计数。
2. 推理(Inference)
• 单 token FLOPs ≈ 2 × 参数量 $N_{p}$
• 若考虑序列长度 $L$,则单序列 FLOPs ≈ $2 × N_{p} × L$
⸻
- GPT-3 基准 (175B 参数,≈300B 训练 Tokens)
FLOPsGPT-3≈6×175×109×300×109
=3.15×1023
与公开报道的 3.14×1023 基本一致。
⸻
- 7B 模型训练 FLOPs
• 参数量:7×109
• 训练 Tokens:同样假设 300×109
FLOPs7B≈6×7×109×300×109
=1.26×1022
相当于 GPT-3 的 3.15×10231.26×1022≈4%。
⸻
- MoE 模型 (8×7B,2 experts 激活)
• 总参数量:约 46.7×109
• 每次激活有效参数:2×7×109=14×109,实际要考虑 shared parameters,取 12.9×109
• 训练 Tokens:同样假设 300×109
FLOPsMoE≈6×12.9×109×300×109
=2.322×1022
相当于 GPT-3 的 3.15×10232.32×1022≈7.4%。
⸻
- 小结
• 7B 模型 训练约需 1.26×1022 FLOPs(≈4% GPT-3)
• MoE 8×7B (2 experts) 训练约需 2.32×1022 FLOPs(≈7.4% GPT-3)
• 推理成本可按「单 token ≈2× 参数量」快速估算,若序列长 L 则乘以 L。
Children
- Output
- Parameter
- Sampling
- Training