AB
AiBoss
News

AWS 介绍在 SageMaker HyperPod 上检测静默数据损坏的方法

AWS 博客介绍在 Amazon SageMaker HyperPod 的 PyTorch 分布式训练中加入三项检查,用于发现不报错的静默数据损坏,并把可疑 GPU 定位到具体节点后更换硬件。

核心事实

AWS 在官方博客中介绍了一套用于 Amazon SageMaker HyperPod 的方法,目的是检测并恢复分布式训练中的静默数据损坏(Silent Data Corruption,SDC)。这类故障指 GPU 等硬件返回错误但看似合理的数值,却不触发任何报错。方案在 PyTorch DistributedDataParallel 训练循环中加入三项检查:非有限梯度检查,用于捕获前向或反向传播以及梯度 all-reduce 中出现的 NaN、Inf 与溢出;环形重放审计,让每块 GPU 重算另一节点的微批次,逐位比较损失并以指纹比较梯度;权重指纹比较,在优化器更新后比对各副本权重,找出与多数不一致的副本。检查触发后,可依据 Kubernetes 节点名把可疑 rank 映射到实例 ID,隔离节点并由 HyperPod 更换硬件,再从检查点恢复训练。

背景与影响

博客指出,SDC 源于制造缺陷或芯片老化,多发生在张量核心的乘加单元;由于计算路径没有 ECC 或奇偶校验,错误结果会流入各副本的梯度与权重,损失曲线可能长时间看似正常。文中引用 Meta 的数据:在 Llama 3 405B 预训练为期 54 天、最多使用 16K 块 H100 GPU 的过程中,419 次意外中断里有 6 次被归因于 SDC。AWS 表示,现有的 ECC、Xid 错误、DCGM 深度健康检查、链路校验和与检查点校验各自守护不同边界,都无法覆盖计算路径上的错误,因此检测必须来自训练任务本身。

限制与来源

据博客说明,该方案在由 4 台 ml.p5.48xlarge 实例(32 块 NVIDIA H100 GPU)组成的 HyperPod 集群上以软件注入故障的方式测试,并在 3 台实例上重复验证,3 台是这些检查所需的最低规模。方案要求集群由 Amazon EKS 编排、至少 3 个 GPU 节点,且每个副本各自执行优化器步骤、数据管线能重建任意 rank 的微批次,检查点存放于共享存储。环形重放审计只在审计步生效,权重指纹比较对计算路径故障和分片权重无效。上述内容为 AWS 博客的技术说明,具体功能与可用性请以官网当前信息为准。