设置无条件自动重启
背景信息
训练过程中可能会碰到预期外的情况导致训练失败,且无法及时重启训练作业,导致训练周期长,而无条件自动重启可以避免这类问题。无条件自动重启是指当训练作业失败时,不管什么原因系统都会自动重启训练作业,提高训练成功率和提升作业的稳定性。为了避免无效重启浪费算力资源,系统最多只支持连续无条件重启3次。
为了避免丢失训练进度、浪费算力,开启此功能前请确认代码已适配断点续训,操作指导请参见设置断点续训练。
当训练过程中触发了自动重启,则系统会记录重启信息,在训练作业详情页可以查看故障恢复详情,具体请参见训练作业重调度。
开启无条件自动重启
开启无条件自动重启有2种方式:控制台设置或API接口设置。
- 控制台设置
在创建训练作业页面,开启“自动重启”开关,并勾选“无条件自动重启”,开启无条件自动重启。开启无条件自动重启后,只要系统检测到训练异常,就无条件重启训练作业。如果未勾选“无条件自动重启”只是打开了“自动重启”开关,则表示仅环境问题导致训练作业异常时才会自动重启,其他问题导致训练作业异常时会直接返回“运行失败”。
图1 开启无条件重启
- API接口设置
通过API接口创建训练作业时,在“metadata”字段的“annotations”中传入“fault-tolerance/job-retry-num”和“fault-tolerance/job-unconditional-retry”字段。“fault-tolerance/job-retry-num”赋值为1~128表示开启自动重启,“fault-tolerance/job-unconditional-retry”赋值为“true”表示启用了无条件自动重启。
{ "kind": "job", "metadata": { "annotations": { "fault-tolerance/job-retry-num": "8", "fault-tolerance/job-unconditional-retry": "true" } } }