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