更新时间:2025-09-15 GMT+08:00
分享

断点续训

断点续训功能允许用户在训练过程中断后,从上次训练保存的最新中间权重继续训练,避免重复计算,提高训练效率。在训练由于外部原因中断后,可通过以下步骤进行断点续训。

MindSpeed-LLM

  1. 进入训练结果输出目录,确认存在已保存的权重。
    cd ${af_output_dir}

    {af_output_dir}为训练启动脚本中通过--save参数配置的输出目录,该目录下会存在多个iter_xx权重目录和一个记录最新权重保存步数的文件latest_checkpointed_iteration.txt。可以修改latest_checkpointed_iteration.txt文件的内容指定续训加载权重目录。

  2. 修改训练配置yaml文件以下断点续训配置。
    backend_config.training.no-load-optim: false
    backend_config.training.no-load-rng: false
    backend_config.training.finetune: false
  3. 重新启动训练任务,具体参考步骤二:启动训练任务,在原有命令的ascendfactory-cli train 命令的基础上增加如下超参。
    --load ${af_output_dir}/saved_checkpoints

Llama-Factory

  1. 进入训练结果输出目录,获取指定的checkpoint目录。
    cd ${af_output_dir}

    {af_output_dir}为训练yaml文件中配置的输出目录,该目录下会存在多个checkpoint-xx权重目录。该目录生成的频率由配置backend_config.training.max_steps、backend_config.training.save_steps影响。

  2. 修改训练配置yaml文件中以下断点续训配置。
    backend_config.training.resume_from_checkpoint: ${af_output_dir}/checkpoint-xx
  3. 重新启动训练任务,具体参考步骤二:启动训练任务

VeRL

  1. 进入训练结果输出目录,获取指定的checkpoint目录。
    cd ${af_output_dir}/checkpoint_${af_model_name}

    对应生成checkpoint目录为训练yaml文件配置项backend_config.trainer.default_local_dir,该目录下会存在多个global_step_XX权重目录,可选择最新的权重目录。

  2. 修改训练配置yaml文件,设置为从“指定断点续训”或从"最新的断点进行续训"。
    方法1:从指定断点续训
    backend_config.trainer.resume_mode:resume_path   
    backend_config.trainer.resume_from_path: ${af_output_dir}/checkpoint_${af_model_name}/global_step_xx
    
    方法2:从最新的断点进行续训
    backend_config.trainer.resume_mode:auto
  3. 重新启动训练任务,具体参考步骤二:启动训练任务

MindSpeed-RL

  1. 进入训练结果输出目录,获取指定的checkpoint目录。
    cd ${af_output_dir}/checkpoint_${af_model_name}

    配置项backend_config.trainer.default_local_dir,该目录下会存在多个global_step_XX权重目录,可选择最新的权重目录。

  2. 修改训练配置yaml文件以下断点续训配置。
    actor_config:
      finetune: false # 断点续训时 finetune 参数设置为 false
      load: ./ckpt-32b # 断点续训时 load 路径应为之前保存的权重路径
      save: ./ckpt
      no_load_optim: false # 断点续训时no_load_optim 应为 false  
      no_load_rng: false # 断点续训时 no_load_rng 应为 false
    
    rf_config:
      integrated_mode_config:
        ref_model_load_path: ./Qwen2.5-7B-tp4 # 断点续训时,应在 ref_model_load_path 中配置原始模型权重路径,供 reference model 加载
  3. 重新启动训练任务,具体参考步骤二:启动训练任务

MindSpeed-MM

  1. 进入训练结果输出目录,确认存在已保存的权重。
    cd ${af_output_dir}

    {af_output_dir}为训练启动脚本中通过--save参数配置的输出目录,该目录下会存在多个iter_xx权重目录和一个记录最新权重保存步数的文件latest_checkpointed_iteration.txt。可以修改latest_checkpointed_iteration.txt文件的内容指定续训加载权重目录。

  2. 修改训练配置yaml文件以下断点续训配置。
    backend_config.training.no-load-optim: false
    backend_config.training.no-load-rng: false
  3. 重新启动训练任务,具体参考步骤二:启动训练任务,在原有命令的ascendfactory-cli train 命令的基础上增加如下超参。
    --load ${af_output_dir}/saved_checkpoints

相关文档