昇腾社区首页
中文
注册

NPU_ASD_CONFIG

功能描述

通过此环境变量可控制是否开启Ascend Extension for PyTorch的特征值检测功能。特征值检测功能具体参见《PyTorch 框架特性指南》中的“特征值检测”章节

该环境变量支持以下可选参数:

  • enable:可选配置为true或false,默认值为false。特征值检测是否开启的标志。
  • with_checksum:可选配置为true或false,默认值为false。Checksum联动功能是否开启的标志。
  • cooldown:正整数,最小值为1,默认值为5,单位:分钟。冷却抑制时间窗,checksum联动单次开启时间窗,按需进行配置。
  • strikes_num:正整数,最小值为1,默认值为3。三振出局异常次数限制,按需进行配置。
  • strikes_window:正整数,最小值为1,默认值为480,单位:分钟。三振出局检测时间窗,按需进行配置。
  • checksum_cooldown:正整数,最小值1,默认值为180,单位:分钟。checksum联动冷却时间窗,按需进行配置。
  • upper_thresh1:正整数,最小值3,默认值为1000000。一级阈值,特征值超过绝对阈值会被认为是一次梯度异常。默认检测阈值无需配置,若需要修改阈值可通过配置环境变量修改。
  • upper_thresh2:正整数,最小值3,默认值为100。二级阈值,特征值超过二级阈值会被认为是一次疑似异常,不会更新到历史均值中。默认检测阈值无需配置,若需要修改阈值可通过此环境变量修改。
  • grad_sample_interval:正整数,最小值1,默认值3。梯度检测的间隔数,标记多少个梯度中检测一个。配置越小检出率越高,但性能相对会劣化更严重,可能会超过2%。

配置示例

export NPU_ASD_CONFIG=enable:true,with_checksum:true,cooldown:5,strikes_num:3,strikes_window:480,checksum_cooldown:180,upper_thresh1:1000000,upper_thresh2:100,grad_sample_interval:3

使用约束

  • 此环境变量不支持在PyTorch图模式(TorchAir)场景下使用。
  • 特征值检测需要计算激活值梯度的统计值,会产生额外的显存占用,最多可能存在1.5G的额外显存消耗,用户显存紧张情况下可能导致OOM(Out of Memory,内存不足)。
  • 此环境变量适用于Ascend Extension for PyTorch 7.1.0及之后版本。Ascend Extension for PyTorch 7.0.0及之前,可使用NPU_ASD_ENABLE开启特征值检测,具体操作可参考Ascend Extension for PyTorch对应版本资料。
  • 当前仅能识别数据类型为BF16FP32的模型训练过程中出现的梯度异常。
  • checksum联动仅支持BF16的数据类型。

支持的型号

  • Atlas 训练系列产品
  • Atlas A2 训练系列产品
  • Atlas A3 训练系列产品