智能故障诊断特性可用于解决集群训练及推理任务中故障定位定界困难的问题。由于集群日志量大、AI全栈日志分析复杂,同时也可能涉及计算、网络、存储的跨域问题分析,用户在集群训练及推理业务中遇到的问题通常定位难度大、耗时长、需要拉通的领域多。
智能故障诊断特性可以有效提高训练及推理作业问题定位能力,提升用户使用意愿和促进产品生态拓展。
具体而言,本特性针对训练及推理集群的各个设备提供日志清洗和故障诊断功能,用户需要完成日志采集、清洗并将清洗后的信息文件转储至特定路径进行诊断,通过分析诊断结果实现问题的快速定界。同时,支持用户自定义故障实体或对CANN应用类日志中的ERROR报错信息进行屏蔽。
根据实际业务的不同,当前主要分为以下2种场景。
场景名称 |
用户 |
任务类型 |
特点 |
---|---|---|---|
企业、政府、事业单位等 (具有AI集群运维平台能力) |
训练任务、推理任务 |
依赖于训练及推理、CANN和主机侧资源以及硬件相关数据,采集内容较复杂,适用于AI集群运维平台用户进行复杂的任务诊断。 |
|
个人 |
训练任务、推理任务 |
仅依赖训练或推理日志与CANN日志,采集内容和方法简单,适用于个人用户进行基础任务诊断。 |
全量应用场景在训练业务场景下需依赖于训练日志、主机资源日志、NPU日志以及硬件日志等多类日志、指标数据信息。
推理场景下需依赖于“推理任务日志”、“CANN应用类日志”、“Device侧日志”、“MindIE组件日志”。
其中部分指标数据需通过额外操作采集获取,因此,全量应用场景推荐具有AI集群运维平台能力的用户对接使用。
全量应用场景方案以下图为例,用户需要在所有训练或推理设备中安装MindCluster Ascend FaultDiag组件,当训练或推理任务结束后,每台设备需要收集上述所有日志及指标数据信息,然后使用MindCluster Ascend FaultDiag的清洗功能进行过滤、提取有效信息,最后将所有设备的原始日志及指标信息和清洗结果转储到AI集群运维平台,平台使用MindCluster Ascend FaultDiag的诊断功能分析故障根因。同时,支持用户自定义故障实体或对CANN应用类日志中的ERROR报错信息进行屏蔽。
在全量场景中,待采集日志及指标数据信息对应的数据来源以及数据用途如表1所示。
数据类别 |
日志说明 |
数据来源 |
数据用途 |
---|---|---|---|
训练任务日志 |
模型训练进程产生的日志 |
训练任务 |
用于故障事件分析 |
训练前后NPU网口检查 |
在执行训练任务前后,使用hccn_tool工具检查每个NPU的网口信息 |
训练任务 |
用于故障事件分析 |
主机侧资源信息 |
NPU状态监测等指标,包括各NPU卡训练主进程使用的CPU占比(%CPU)、使用的物理内存(RES)等信息 |
训练任务 |
用于设备资源分析 |
NPU网口资源信息 |
NPU网口收发报文统计信息等指标 |
训练任务 |
用于网络拥塞分析 |
OS日志 |
Linux系统日志 |
训练任务 |
用于故障事件分析 |
MindCluster组件日志 |
MindCluster的组件Ascend Device Plugin、NodeD、Ascend Docker Runtime、NPU Exporter、Volcano采集的超节点设备日志、AI服务器日志、组件日志。 |
训练任务 |
用于故障事件分析 |
推理任务日志 |
推理任务进程产生的日志 |
推理任务 |
用于故障事件分析 |
NPU Device运行日志 |
Device侧的相关日志和文件,包括slog日志、hisi_logs日志等 |
训练&推理任务 |
用于故障事件分析 |
CANN应用类日志 |
CANN软件产生的运行日志 |
训练&推理任务 |
用于根因节点分析与故障事件分析 |
MindIE组件日志 |
MindIE的组件MindIE Server、MindIE LLM、MindIE SD、MindIE RT、MindIE Torch、MindIE MS、MindIE Benchmark、MindIE Client产生的日志 |
推理任务 |
用于故障事件分析 |
AMCT组件日志 |
AMCT进行模型压缩流程产生的日志 |
模型压缩 |
用于AMCT工具故障事件分析 |
考虑到不同用户的应用需求,支持仅依赖于训练或推理日志及CANN应用类日志进行诊断的基础应用场景。此类日志为训练或推理任务产生,无需额外采集。
基础应用场景方案以下图为例,用户需要在所有训练或推理设备中安装MindCluster Ascend FaultDiag组件。当训练或推理任务结束后,每台设备需要至少收集训练或推理日志和CANN应用类日志,然后使用MindCluster Ascend FaultDiag的清洗功能过滤、提取有效信息,最后将所有设备的原始日志和清洗结果转储到同一通用设备上,用户使用MindCluster Ascend FaultDiag的诊断功能分析故障根因。同时,支持用户自定义故障实体或对CANN应用类日志中的ERROR报错信息进行屏蔽。
待采集日志及指标数据信息对应的数据来源以及数据用途如下表所示。
所有日志及指标数据对应的采集方法参见日志采集章节。
数据类别 |
日志说明 |
数据来源 |
数据用途 |
---|---|---|---|
训练任务日志 |
训练任务进程产生的日志 |
训练任务 |
用于故障事件分析 |
CANN应用类日志 |
CANN软件产生的运行日志 |
训练&推理任务 |
用于根因节点分析与故障事件分析 |
推理任务日志 |
推理任务进程产生的日志 |
推理任务 |
用于故障事件分析 |