更新时间:2024-05-23 GMT+08:00

无条件自动重启

背景信息

训练过程中可能会碰到预期外的情况导致训练失败,且无法及时重启训练作业,导致训练周期长,而无条件自动重启可以避免这类问题。无条件自动重启是指当训练作业失败时,不管什么原因系统都会自动重启训练作业,提高训练成功率和提升作业的稳定性。为了避免无效重启浪费算力资源,系统最多只支持连续无条件重启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"
            }
        }
    }