特征值检测
简介
特征值检测全称“训练阶段在线特征值检测”,主要针对长稳训练的使用场景,针对高比特跳变进行的检测。基于通信流做静默数据错误的特征值检测,识别精度问题。
检测的原理是,在模型训练的反向阶段,直接对卡上所有通信算子的输入Tensor进行采样,并和阈值进行比较,如果出现NAN、INF或其他超过阈值的情况,则认为发生故障,打印异常日志,并根据环境变量进行告警。
图1 特征值检测方法示意图

使用场景
检测模型训练过程中的梯度特征值是否存在异常。
使用指导
使用NPU_ASD_ENABLE环境变量开启或者关闭特征值检测。
- 配置为0时,关闭特征值检测;
- 配置为1时,开启特征值检测,但是只打印异常日志,不告警;
- 配置为2时,开启特征值检测,并告警;
- 配置为3时,开启特征值检测,并告警,同时会记录过程数据。
默认值为0。
使用样例
export NPU_ASD_ENABLE=1
检测出异常后,可以看到plog日志中有“SilentCheck get L1 Error”字样。
约束说明
当前仅能识别数据类型为BF16或FP32的模型训练过程中出现的收敛异常。
父主题: 辅助报错定位