(可选)构造故障
本章节将指导用户构造简单的故障,包括节点故障、参数面网络故障和业务面故障。

构造芯片故障存在安全风险,如需构造请联系华为技术支持工程师处理。
构造节点故障
通过重启训练节点,模拟节点下电导致节点状态丢失。该故障在节点重启完成后可自动恢复。
- 在训练任务正常训练出epoch后,登录正在训练的节点。
- 执行以下命令,重启该训练节点,模拟节点状态丢失故障。
reboot
- 在Master节点多次执行以下命令,查看Pod状态。
kubectl get pod -A
可以看到Pod状态从Terminating到Pending,最后为Running状态,表示训练任务已经重新拉起。
- 在Master节点执行以下命令,查看训练日志,记录续训成功时间。
kubectl logs -n 命名空间名称 Pod名称
回显示例如下,表示发生故障时,使用最近保存的第39步的checkpoint文件恢复,实现训练任务第40个epoch开始继续训练。1 2
....2024-06-01 22:18:45,025:INFO:epoch: [40/90] loss: 3.465011, epoch time: 71.582 s, per step time: 1491.285 ms 2024-06-01 22:18:49,453:INFO:epoch: [41/90] loss: 3.396700, epoch time: 4.428 s, per step time: 92.245 ms
构造参数面网络故障
通过断开NPU网络链路模拟的参数面网络故障。NPU网络故障不影响单机训练任务。用户在断开链路后需手动恢复,否则该故障会一直存在。
- 在训练任务正常训练出epoch后,登录正在训练的节点。
- 执行以下命令,构造NPU网络链路故障。
hccn_tool -i {device_id} -link -s down
device_id为NPU的ID,可以通过npu-smi info命令查看NPU的ID。
- 执行以下命令,查看NPU链路状态。
hccn_tool -i {device_id} -net_health -g
回显示例如下,表示NPU网络链路故障构造成功。1
net health status: Fault
- 在Master节点多次执行以下命令,查看Pod状态。
kubectl get pod -A
可以看到Pod状态从Terminating到Pending,最后为Running状态,表示训练任务已经重新拉起。
- 在Master节点执行以下命令,查看训练日志,记录续训成功时间。
kubectl logs -n 命名空间名称 Pod名称
回显示例如下,表示发生故障时,使用最近保存的第39步的checkpoint文件恢复,实现训练任务第40个epoch开始继续训练。1 2
....2024-06-01 22:18:45,025:INFO:epoch: [40/90] loss: 3.465011, epoch time: 71.582 s, per step time: 1491.285 ms 2024-06-01 22:18:49,453:INFO:epoch: [41/90] loss: 3.396700, epoch time: 4.428 s, per step time: 92.245 ms
- 执行以下命令,恢复NPU网络链路故障。
hccn_tool -i {device_id} -cfg recovery
- 执行以下命令,查看NPU链路状态。
hccn_tool -i {device_id} -net_health -g
回显示例如下,表示NPU网络链路故障已经恢复。1
net health status: Success
构造业务面故障
通过删除训练进程,模拟业务面故障。
- 在训练任务正常训练出epoch后,登录正在训练的节点。
- 执行以下命令,使用训练启动脚本,查询训练进程信息。
ps -ef | grep python| grep 训练启动脚本.py
- 执行以下命令,手动删除PID最小的训练进程。
kill -9 pid
- 在Master节点多次执行以下命令,查看Pod状态。
kubectl get pod -A
可以看到Pod状态从Terminating到Pending,最后为Running状态,表示训练任务已经重新拉起。
- 在Master节点执行以下命令,查看训练日志,记录续训成功时间。
kubectl logs -n 命名空间名称 Pod名字
回显示例如下,表示发生故障时,使用最近保存的第39步的checkpoint文件恢复,实现训练任务第40个epoch开始继续训练。
1 2
....2024-06-01 22:18:45,025:INFO:epoch: [40/90] loss: 3.465011, epoch time: 71.582 s, per step time: 1491.285 ms 2024-06-01 22:18:49,453:INFO:epoch: [41/90] loss: 3.396700, epoch time: 4.428 s, per step time: 92.245 ms
父主题: 查看训练结果