特殊情况排查
对一些疑难问题,用工具定位之后仍未找到根因,可尝试以下几类排查方法:
- 开启流同步,排查并行计算时的内存踩踏问题,具体操作为配置如下环境变量:
export ASCEND_LAUNCH_BLOCKING=1
 - 关闭npu_fusion_attention,该算子功能复杂全面,使用时易出现传参规范错误的问题,对于一些NaN问题若存在npu_fusion_attention可以先关闭,定界是否为npu_fusion_attention导致,使用规范参照npu_fusion_attention。如在MindSpeed LLM中关闭npu_fusion_attention的操作具体为:删除--use_fused_attn参数。
 - 在Megatron模型中,overlap类参数存在较高风险,可优先排除,具体操作为:删除 --overlap-param-gather、--overlap-grad-reduce等超参。
 - 排查Matmul错峰策略,当定位到可疑的Matmul算子但无法通过单算子验证排除时,可以尝试关闭错峰策略,具体操作为配置如下环境变量:
export CLOSE_MATMUL_K_SHIFT=1
 - 排查优化器,如尝试Adam优化器转SGD、替换融合adam为小算子、关闭优化器定界问题前反向等。
 - 使用精度预检工具,排查是否存在可疑算子。
 
父主题: 问题定位方法