全部产品
Search
文档中心

人工智能平台 PAI:SanityCheck:算力健康检测

更新时间:Dec 10, 2024

本文为您介绍如何使用DLC提供的算力健康检测能力。

功能介绍

在执行DLC任务时,可能会遇到以下问题:

  • 在任务花费一定时间加载模型Checkpoint或其他初始化操作后,由于申请的资源存在故障,无法顺利开始训练,需要调查定位故障问题并重新提交任务。该过程中会导致GPU资源的浪费。

  • 在任务运行阶段,如果发现模型训练性能下降,可能是慢节点导致的,但缺少快捷有效的问题定位方法。此外,资源组内机器的GPU算力和通信性能测试也欠缺便捷且可靠的基准程序。

针对上述问题,DLC提供了算力健康检测(SanityCheck)功能,旨在对分布式训练任务的算力资源健康度与性能进行检查。在创建DLC训练任务时可以开启该功能,健康检测会对参与训练的资源进行全面检测,自动隔离故障节点,并触发后台自动化运维流程,有效减少任务训练初期遇到问题的可能性,提升训练成功率。此外,在检测完成后,会给出有关GPU算力以及通信性能的检测报告,可以帮助识别和定位可能导致任务训练性能下降的问题元素,整体提升问题诊断的效率。

使用限制

  • 仅支持在华北6(乌兰察布)和新加坡地域,使用灵骏智算资源提交的DLC训练任务,开启健康检测功能。

  • 当前功能仅支持PyTorch类型的训练任务,且要求任务资源的GPU(卡数)大于0。

开启健康检测

通过控制台

PAI控制台创建DLC训练任务时,您可以在容错与诊断区域,打开健康检测开关,并配置相关参数。具体操作,请参见创建训练任务。开启健康检测功能,并成功创建任务后,系统将占用一定的时间用于检测资源健康度和可用性,并给出检测结果。

image

其中健康检测的关键参数说明如下:

参数

描述

检测时机

  • 在任务运行前(默认):即任务获取到资源后,先基于该训练任务的算力节点进行预先检测,再执行用户代码。

  • 在容错发生后:即当任务运行异常,AIMaster自动容错将任务重启后,进行算力健康检测。

    说明

    选择该配置项时,必须打开自动容错功能。更多内容介绍,请参见AIMaster:弹性自动容错引擎

检测项

默认开启GPU GEMM、All-Reduce检测。支持用户选择计算性能检测、节点通信检测、计算通信交叉检测、模型模拟验证。更多检测项说明及推荐场景,请参见附录:检测项说明

最长检测时间(分钟)

健康检测最长运行时间,默认为30分钟。在检测超时后,会触发预设的处理方法。

检测超时处理

当健康检测运行时间超过设定值时,您可以选择将任务转入以下状态:

  • 结束任务(默认):任务结束,状态将变为检测未通过

  • 挂起任务:将任务挂起,任务状态还是检测中,等待进一步的人工干预或系统指导进行下一步操作。

其他检测配置

默认为空。

查看检测结果

健康检测状态说明

DLC任务在健康检测中的相关状态项如下:

  • 检测中:正在进行算力健康检测环节,期间的任务状态将显示为检测中。

  • 检测未通过:在执行算力健康检测过程中,如果检测出问题,或检测时间超出设定的最大运行时间,状态将显示为检测未通过。

  • 检测通过:算力健康检测全部通过后,任务将直接进入运行中的状态。

查看健康检测结果

通过控制台

在DLC任务详情页面下方的事件页签,单击健康检测,可以查看对应的检测结果。

image

配置消息通知

您可以在PAI工作空间的事件通知配置中创建消息通知规则,其中事件类型选择DLC任务>任务自动容错,其他参数配置详情,请参见消息通知。当算力健康检测未通过时,会发送消息通知。

说明

工作空间创建消息通知使用说明: 工作空间事件中心

image

附录:检测项说明

说明

预估检测时长以2台机器为单位,数值仅供参考,请以实际情况为准。

检测项

含义说明(推荐场景)

预估检测时长

计算性能检测

GPU GEMM

用于检测GPU GEMM性能情况,可识别:

  • 故障GPU:计算报错、计算 Hang 住;

  • 性能慢节点:计算 TFLOPS 比较低。

1 分钟

GPU Kernel Launch

用于检测 GPU Kernel 启动延迟情况,可识别:

  • 故障节点:Kernel 启动报错、Kernel 启动 Hang 住;

  • 性能慢节点:Kernel 启动耗时较长。

1 分钟

节点通信检测

All-Reduce

用于检测节点通信性能,识别通信慢节点/故障节点。在不同的通信模式下,可识别:

  • 通信故障节点:通信报错、Hang住;

  • 通信慢节点:通信带宽较低。

单个集合通信检测

5 分钟

All-to-All

All-Gather

Multi-All-Reduce

Network Connectivity

用于检测机头/机尾网络连通性,识别通信连通异常节点。

2 分钟

计算通信交叉检测

MatMul/All-Reduce Overlap

用于检测通信kernel和计算kernel重叠时单节点的性能情况,可识别:

  • 故障节点:重叠计算报错、Hang住;

  • 性能慢节点:重叠计算耗时较长。

1 分钟

模型模拟验证

Mini GPT

使用模型模拟验证AI系统可靠性,可识别:

  • 故障节点:训练loss异常、训练Hang住、训练报错;

  • 性能慢节点:单步训练耗时较长。

1 分钟

Megatron GPT

5 分钟

ResNet

2 分钟