论文

GPUAlert:用于诊断 GPU 训练作业故障的零检测进程边界监视器

GPUAlert: A Zero-Instrumentation Process-Boundary Monitor for Diagnosing GPU Training-Job Failures

AI 基础设施可观测性

摘要

GPU 训练作业经常失败,在大型生产集群上大约五分之二,但操作员通常只有在数小时后重新连接才能得知失败。实验跟踪器需要编辑训练脚本并维护云连接;调度程序的邮件钩子传递单个状态行,没有原因,也没有日志。 GPUAlert 是一个命令行包装器,可监视流程边界上的任何训练命令,并且无需更改该命令,即可在完成时通过电子邮件发送结构化通知,其中包含分类的故障原因、持久日志和输出工件。该工具围绕三个可靠性原语进行组织:启动前日志保证,在子进程崩溃之前建立持久目标;通知程序隔离,使包装器的退出代码成为子进程状态的纯函数,无论电子邮件是否成功;非静默工件预算,限制附件大小,而不会静默地丢弃输出。我们发布了包含 15 个故障类别的 474 个 GPU 训练日志的带标签语料库和一个可重现的评估工具。在 12 个硬件再现的类上,有序规则分类器达到 0.997 宏 F1,而无序关键字匹配为 0.830,退出代码检查为 0.133。包装器开销是一个常数,每个作业约为 3 毫秒;预启动保证会保留一个日志,其中 shell 重定向不会产生任何结果;在所有 15 种故障模式中,即使 SMTP 中继无法访问,包装器也会原封不动地返回子进程的退出代码。