特征值检测

简介

特征值检测全称“训练阶段在线特征值检测”,主要针对长稳训练的使用场景,针对高比特跳变进行的检测。基于通信流做静默数据错误的特征值检测,识别精度问题。

检测的原理是,在模型训练的反向阶段,直接对卡上所有通信算子的输入Tensor进行采样,并和阈值进行比较,如果出现NAN、INF或其他超过阈值的情况,则认为发生故障,打印异常日志,并根据环境变量进行告警。

图1 特征值检测方法示意图

使用场景

检测模型训练过程中的梯度特征值是否存在异常。

使用指导

使用NPU_ASD_ENABLE环境变量开启或者关闭特征值检测。

默认值为0。

此环境变量使用详情请参考《环境变量参考》中的“NPU_ASD_ENABLE”章节

使用样例

export NPU_ASD_ENABLE=1

检测出异常后,可以看到plog日志中有“SilentCheck get L1 Error”字样。

约束说明

当前仅能识别数据类型为BF16FP32的模型训练过程中出现的收敛异常。