配置周期性CKPT保存

本章节将指导用户了解周期性CKPT保存的关键步骤。周期性CKPT保存的特性介绍请参见周期性CKPT保存

配置内存CKPT加载

从存储加载CKPT可基于AI框架提供的加载接口进行加载,用户需要传入需要加载的文件路径到AI框架中。以MindSpeed-llm框架为例,用户如果需要配置从存储加载CKPT功能,可参考以下示例。

在任务YAML中,新增以下加粗字段,开启存储CKPT加载。其中--load是训练进程恢复的统一开关,打开后训练进程恢复才生效。recover-strategy是训练进程恢复使用的策略,其中的recover代表开启进程级别恢复。

...
spec:
  replicaSpecs:
    Master:
      template:
        spec:
          containers:
          - name: ascend # do not modify
            args:
              - | 
                bash scripts/train_start.sh /job/code /job/output pretrain_gpt.py \
                  ...
                  --load /data/ckpt/XXX \  # 填写CKPT所在存储的路径   
                  ...
    Worker:
      template:
        spec:
          containers:
          - name: ascend # do not modify
            env:
              - name: PROCESS_RECOVER         # 开启进程级别重调度需注入该环境变量
                value: "on"
            args:
              - |
                ...
                export ELASTIC_PROCESS_RECOVER_ENABLE=1;
                ...
                bash scripts/train_start.sh /job/code /job/output pretrain_gpt.py \
                  ...
                --load /data/ckpt/XXX \    # 填写CKPT所在存储的路径   
                  ...
...