总览
本章节范围:10K-100K GPU 规模 LLM 训练 / 推理集群的故障图谱、MTBF 量级、训练中断成本与主流缓解策略。 目标读者:做大规模训练运维、可靠性建模、checkpoint / 弹性训练系统设计的工程师。
范围与边界
- 包含:故障类型 (GPU / 主机 / 网络 / 软件 / SDC) 与公开实测占比;MTBF / ETTR / Goodput 指标;训练中断成本三段模型;缓解四象限 (预防 / 检测 / 容忍 / 恢复);Straggler / Async checkpoint / 分布式 checkpoint / 弹性训练 / SDC 子主题。
- 不包含:拓扑结构本身 (见 02-网络拓扑);拓扑搜索的容错维度 (见 08-拓扑寻优,解决 spatial 问题);集合通信原语本身 (见 04-集合通信)。
名词定义
| 名词 | 定义 |
|---|---|
| MTBF (Mean Time Between Failures) | 两次故障之间的平均间隔。本章统一以 GPU-hours 为单位,作业级 MTBF 则以 wallclock hours 为单位 |
| MTTF (Mean Time To Failure) | 首次故障前的平均运行时间。对不可修复的单 GPU 故障,与 MTBF 等价 |
| MTTR (Mean Time To Repair / Restart) | 故障检测 + 节点替换 + checkpoint 恢复的总耗时;训练场景下主导项是 checkpoint 加载与 warmup |
| ETTR (Effective Training Time Ratio) | 有效训练时长 / wallclock 时长,扣除排队 / checkpoint / 重启等开销 |
| Goodput | 有效 token throughput,扣除中断和回滚后的实际产出,与 ETTR 概念相近 |
| SDC (Silent Data Corruption) | 硬件错误未被 ECC / 校验抓住,导致计算结果错误但程序不报错 |
| Straggler | 同步集合通信中拖慢整组的慢节点 (来自降频、热限、抖动、轻度硬件退化) |
| Checkpoint | 训练状态 (权重 + optimizer + RNG state) 的周期性快照 |
| Elastic Training | 在节点动态加入 / 退出时不中断整训作业的能力 |
| Lemon node | 故障率显著高于群体的"问题节点", Kokolis et al. 2024 作为重点干预对象 |
@tbl-reliability-glossary 第 11 章共享名词表
大规模集群故障特征是什么
核心问题:单 GPU MTBF vs 作业级 MTBF 怎么随规模缩放?公开实测数据是多少?
可靠性问题随集群规模呈亚线性恶化:单 GPU MTBF 可达数万小时,但 N 个 GPU 同步训练时作业 MTBF 近似缩到 单卡 MTBF / N (独立故障假设)。
| 来源 | 集群规模 | 观测窗 | 故障数 / MTBF | 单 GPU 等效 MTBF |
|---|---|---|---|---|
| Meta Llama 3 405B 训练 | 16,384 × H100 | 54 天 | 419 次非预期中断,约每 3 小时 1 次 | ≈ 50,000 GPU-hours (约 5.7 年) |
| Meta RSC (Kokolis et al., A100 集群) | 16K (RSC-1) + 8K (RSC-2) | 11 个月 / 150M GPU-hours / 4M jobs | 8-GPU 作业 MTTF 47.7 天;1024-GPU 作业 MTTF 7.9 小时 | — |
| Kokolis et al. 外推 (同模型) | 16,384 GPU | — | 作业 MTTF ≈ 1.8 小时 | — |
| Kokolis et al. 外推 (同模型) | 131,072 GPU | — | 作业 MTTF ≈ 0.23 小时 (约 14 分钟) | — |
@tbl-reliability-mtbf 大规模 GPU 训练集群的实测与外推 MTBF
数据来源:Kokolis et al.[1]; Epoch AI 2024[2]; DataCenterDynamics Llama 3 report[3]。
经验法则:单卡 MTBF ≈ 50,000 GPU-hours 时,10K GPU 同步训练作业 MTBF ≈ 5 小时,100K GPU 同步训练作业 MTBF ≈ 30 分钟。
故障怎么分类
核心问题:按硬件 / 网络 / 软件 / SDC 维度分别占多少?
按根因维度分四类。下表合并 Meta Llama 3 训练 54 天非预期中断的 419 起样本与 Kokolis et al. lemon node 根因。
| 大类 | 子类示例 | Llama 3 中占比 | Kokolis lemon node 根因占比 |
|---|---|---|---|
| GPU / 加速器硬件 | GPU die 失效、HBM 错误、风扇 / 供电异常 | 30.1% (GPU) + 17.2% (HBM3) | 28.2% (GPU) |
| 主机硬件 | DIMM、PCIe、BIOS、NIC、电源、风扇 | 7.6% (unplanned host) | 20.5% (DIMM) + 15.4% (PCIe) + 7.7% (BIOS) |
| 网络 | IB / Ethernet 链路抖动、交换机故障、拥塞 | 8.4% (网络交换机 / 线缆) | filesystem mount / IB links 列为"dominant",未给数值 |
| 软件 | 训练框架 bug、kernel hang、调度器异常 | 12.9% | — |
| 其它 / 未分类 | — | 约 23.8% | — |
| SDC (横切维度) | 静默计算错误,可能落在 GPU / DIMM / CPU 任一硬件 | 未单列 | 未单列;见 Dixit et al., 2021[4] |
@tbl-reliability-failure-types 大规模集群故障类型分类与实测占比
SDC 单独列为横切维度:它不是独立的硬件类目,而是任一计算 / 存储 / 互联组件可能呈现的"无声错误"行为,需要独立的检测机制 (不能依赖 ECC / 心跳),详见 10.6 Silent Data Corruption (SDC)。
训练中断成本怎么建模
核心问题:单次故障损失三段拆分 + ETTR 公式 + 最优 checkpoint 周期?
单次故障的总损失分三段:
loss_per_failure = T_detect + T_restart + T_rollback
其中:
T_detect:从故障发生到调度器确认作业失败的时长 (心跳超时 / NCCL timeout / health check),典型 1-10 分钟T_restart:节点替换 + checkpoint 加载 + warmup (数据加载 / 编译 cache 重建),典型 10-30 分钟,受 checkpoint 大小和存储带宽主导T_rollback:上一次 checkpoint 到故障时刻之间已完成的训练被丢弃,期望值 = checkpoint 周期的一半
引入故障率 λ (每 wallclock 小时故障数) 与 checkpoint 周期 P (小时),有效训练时长占比 (ETTR) 的简化模型:
最后一项 T_ckpt / P 是 checkpoint 写入本身的常态开销。P 选小则 rollback 损失小但常态开销大;选大则反之。最优 P* 来自对 ETTR 求导,量级上 P* ∝ sqrt(T_ckpt / λ) (经典 Young / Daly checkpoint optimum 形式)。
实测参考:Llama 3 405B 训练在 16K H100 上实现 > 90% 的有效训练时长,checkpoint 开销约占总训练时长 2.1%[2]。Llama 3 系列各尺寸模型每 GPU 状态范围为 1 MB ~ 4 GB[5],其中 405B 模型 checkpoint 总量为 4.05 TB (810 GB BF16 参数 + 3240 GB FP32 m+v,不存 FP32 主参数副本),FSDP 128 rank 下约 31.6 GB/rank。
主流缓解策略怎么组织
核心问题:故障预防 / 检测 / 容忍 / 恢复四象限分别有什么?为什么互补?
| 象限 | 代表技术 | 本章子文档 |
|---|---|---|
| 预防 | Lemon node 主动隔离、Burn-in 测试、热 / 电源监控 | — |
| 检测 | 周期性 SDC sanity check、NCCL watchdog、Straggler 检测 | 10.2 Straggler 检测与缓解 / 10.6 Silent Data Corruption (SDC) |
| 容忍 | 弹性训练、备份节点、replica 并行 (DiLoCo / 异步流水) | 10.5 弹性训练 |
| 恢复 | Async checkpoint、分布式 checkpoint、GPU memory checkpoint、增量 checkpoint | 10.3 异步 Checkpoint / 10.4 分布式 Checkpoint 通信 |
@tbl-reliability-quadrants 缓解策略的四象限
四象限互补 — 只做恢复不做检测,SDC 错误会被持久化到 checkpoint;只做容忍不做预防,lemon node 会反复触发恢复路径。
与其它章节怎么划边界
核心问题:跟拓扑寻优 / 通信建模 / 网络拓扑的关系?
- 与 08-拓扑寻优:拓扑搜索的容错维度 (如 ATOP 的
APL_fail指标) 回答的是"网络故障后路径质量"问题,本章回答的是"故障发生的频率与作业级影响"问题。两者拼成"网络容错"完整视图 — 拓扑寻优给出 spatial 维度 (哪里能绕路),本章给出 temporal 维度 (多久故障一次、恢复多久)。 - 与 06-通信性能建模:通信建模假设链路常态可用,本章则关注"链路不可用 / 抖动"对训练吞吐的影响。Straggler 子文档会引用通信建模的 alpha-beta 参数,分析慢节点对 AllReduce 完成时间的拖累。
- 与 02-网络拓扑:本章不重复拓扑结构本身,只引用拓扑作为"故障域单元" (如交换机故障影响一个 leaf 下 32-64 个 GPU)。
子文档索引
| 文档 | 主题 | 状态 |
|---|---|---|
| 10.2 Straggler 检测与缓解 | Straggler 来源、检测、缓解 (同步训练的"软故障") | draft |
| 10.3 异步 Checkpoint | 异步 checkpoint 时序:两阶段重叠、自适应频率、in-memory checkpoint、一致性 | draft |
| 10.4 分布式 Checkpoint 通信 | 分布式 / sharded checkpoint 跨节点数据布局、Save/Load 协议、传输路径 (GDS / NVMe-oF / RDMA) | draft |
| 10.5 弹性训练 | 弹性训练 rendezvous / NCCL watchdog 故障检测 / 4 框架对比 / communicator 重建 | draft |
| 10.6 Silent Data Corruption (SDC) | 静默数据错误 (SDC):硬件根因、AI 训练脆弱性、检测与缓解 | draft |
Takeaway
| 知识点 | 核心结论 |
|---|---|
| 亚线性恶化 | 单卡 MTBF ~5 年;10K GPU 作业 ~5 小时;100K GPU 作业 ~30 分钟 |
| 故障五大类 | GPU / 主机 / 网络 / 软件 + 横切 SDC; GPU+HBM 占 Llama 3 中断 47% |
| ETTR 公式 | 1 - λ·(T_detect + T_restart + P/2) - T_ckpt/P |
| 最优 P* | P* ∝ sqrt(T_ckpt / λ) (Young / Daly checkpoint optimum) |
| 实测目标 | Llama 3 405B 在 16K H100 上达到 > 90% 有效训练时长 |
| 缓解四象限 | 预防 / 检测 / 容忍 / 恢复,互补使用 |
| 与 09 章互补 | 09 给 spatial 容错 (路径),本章给 temporal 容错 (频率 + 恢复) |
参考资料
- Kokolis et al., Revisiting Reliability in Large-Scale Machine Learning Research Clusters, arXiv:2410.21680. https://arxiv.org/abs/2410.21680
- Epoch AI, Hardware failures won't limit AI scaling, 2024. https://epoch.ai/blog/hardware-failures-wont-limit-ai-scaling
- DataCenterDynamics, Meta report details hundreds of GPU and HBM3 related interruptions, 2024. https://www.datacenterdynamics.com/en/news/meta-report-details-hundreds-of-gpu-and-hbm3-related-interruptions-to-llama-3-training-run/
- Dixit et al., Silent Data Corruptions at Scale, arXiv:2102.11245, 2021. https://arxiv.org/abs/2102.11245
- Grattafiori et al., The Llama 3 Herd of Models, arXiv:2407.21783. https://arxiv.org/abs/2407.21783