其他模型适配原理
其他模型使用优雅容错模式的适配原理如下。
前提条件
- 需保证模型脚本可以正常进行训练。
- 已完成优雅容错所需的组件配置和yaml设置,可参考配置组件和yaml示例中reset-config-mindx-dls-test的配置。
- 进入MindXDL-deploy仓库,获取reset_process.py文件。
修改启动脚本
修改模型启动脚本文件,将修改后的脚本文件和准备好的“reset_process.py”文件放在同一目录下,即可启动训练。
模型启动脚本文件修改示例如下。
...
# Launch Command 如GPT-3的启动命令
${DLS_PROGRAM_EXECUTOR} -m torch.distributed.launch $DISTRIBUTED_ARGS ${boot_file_path}${boot_file} ${train_param} &> ${output_url}/log & #训练进程需要在后台运行
train_pid=$! #获取训练进程的pid
# 将以下命令复制在启动脚本里
python -u reset_process.py -p "${train_pid}" & #将训练进程的pid传给监测进程
reset_pid=$!
wait ${train_pid} #等待训练进程结束获取其退出码
exit_code=$?
if [ ${exit_code} -eq 0 ]; then
kill -15 ${reset_pid} #如果训练进程正常退出则向监测进程发送-15信号
echo "training finished."
exit ${exit_code}
else
if [ -d "训练进程工作目录"]; then
touch "训练进程工作目录"/newlog # 创建新训练进程的日志
tail -f "训练进程工作目录" & # 查看新训练进程的日志
fi
wait ${reset_pid} # 如果训练进程异常退出则等待监测进程结束
exit_code=$?
fi
exit ${exit_code}
父主题: 常用操作