启用进程级在线恢复后,报错There is unsafe data in the input tensor,恢复失败

问题描述

训练任务在发生故障后启用进程级在线恢复(Step级别重计算恢复)功能,在恢复完成后继续训练,恢复训练后第一个迭代还没完成又报错unsafe data,恢复失败。

图1 恢复失败

原因分析

故障发生时涉及该故障的Tensor会被标记为unsafe data,数据将不再可信,如果该Tensor为全局变量,此时需要对其进行重建修复。被标记为unsafe data的Tensor在计算中被访问时会抛出错误,错误信息:“There is unsafe data in the input tensor”,此时需结合报错栈定位此时访问的Tensor对象。

解决措施

当定位到该被访问的Tensor对象时,首先判断其对训练过程的影响:

此外还应注意在重建或重新初始化之前避免访问该Tensor对象。为预防全局变量中存在被标记为unsafe data的Tensor没有被故障修复框架修复而导致修复失败,建议排查训练框架中所使用的全局Texd nsor,确保其被故障修复框架跟踪并正确修复。

处理案例