特征值检测全称“训练阶段在线特征值检测”,主要针对长稳训练的使用场景,针对高比特跳变进行的检测。基于通信流做静默数据错误的特征值检测,识别精度问题。
检测的原理是,在模型训练的反向阶段,直接对卡上所有通信算子的输入Tensor进行采样,并和阈值进行比较,如果出现NAN、INF或其他超过阈值的情况,则认为发生故障,打印异常日志,并根据环境变量进行告警。
检测模型训练过程中的梯度特征值是否存在异常。
使用NPU_ASD_ENABLE环境变量开启或者关闭特征值检测。
默认值为0。
此环境变量使用详情请参考《环境变量参考》中的“NPU_ASD_ENABLE”章节。
export NPU_ASD_ENABLE=1
检测出异常后,可以看到plog日志中有“SilentCheck get L1 Error”字样。
当前仅能识别数据类型为BF16或FP32的模型训练过程中出现的收敛异常。