更新时间:2025-08-07 GMT+08:00

训练作业卡死重启

当长稳的训练作业正常运行一段时间后,如果训练作业没有硬件故障,出现卡死时,重启训练作业即可恢复正常。但是,由于训练作业卡死时无法自动结束容器,因此无法使用自动重启功能,只能设置作业卡死重启。当训练作业设置为作业卡死重启时,ModelArts会在作业运行过程中检测到卡死状态时,强制停止容器中的用户进程,并在进程停止后重新运行训练作业启动命令。作业卡死重启的过程中不涉及资源调度,仅在原容器中重启训练作业。

卡死检测的规则请参见训练作业卡死检测

为了避免丢失训练进度、浪费算力,开启此功能前请确认代码已适配断点续训,操作指导请参见设置断点续训练

当训练过程中触发了自动重启,系统会记录重启信息,在训练作业详情页可以查看故障恢复详情,具体请参见训练作业容错检查

约束限制

为了避免无效重启训练作业,造成算力资源浪费,作业卡死重启最多支持连续重启3次。

开启作业卡死重启

开启作业卡死重启有2种方式:控制台设置或API接口设置。

  • 控制台设置

    在创建训练作业页面,开启“自动重启”开关,并同时开启“作业卡死重启”。开启作业卡死重启后,只要系统检测到训练卡死,就在容器中重启训练作业,卡死重启不涉及资源调度,因此不会占用“重启次数”

    图1 开启作业卡死重启
  • API接口设置

    通过API接口创建训练作业时,在“metadata”字段的“annotations”中传入“fault-tolerance/job-retry-num”和“fault-tolerance/hang-retry”字段。“fault-tolerance/job-retry-num”赋值为1~128之间的任意整数,表示开启自动重启并设置自动重启次数;“fault-tolerance/hang-retry”赋值为“true”表示启用了卡死重启。

    表1 参数说明

    参数

    是否必选

    参数类型

    描述

    kind

    String

    参数解释:训练作业类型。

    约束限制:不涉及。

    取值范围

    • job:普通作业

    • edge_job:边缘作业

    • hetero_job:异构作业

    • mrs_job:MRS作业

    • autosearch_job:自动化搜索作业

    • diag_job:诊断作业

    • visualization_job:可视化作业

    默认取值:job。

    annotations

    Map<String,String>

    参数解释:训练作业高级功能配置。

    约束限制:可选取值如下:

    • "job_template": "Template RL"(异构作业)

    • "fault-tolerance/job-retry-num": "3"(故障自动重启次数)

    • "fault-tolerance/job-unconditional-retry": "true"(无条件重启)

    • "fault-tolerance/hang-retry": "true"(卡死重启)

    • "jupyter-lab/enable": "true"(JupyterLab训练应用程序)

    • "tensorboard/enable": "true"(TensorBoard训练应用程序)

    • "mindstudio-insight/enable": "true"(MindStudio Insight训练应用程序)

    {
        "kind": "job",
        "metadata": {
            "annotations": {
                "fault-tolerance/job-retry-num": "3",
                "fault-tolerance/hang-retry": "true"
            }
        }
    }