断点续训
断点续训功能允许用户在训练过程中断后,从上次训练保存的最新中间权重继续训练,避免重复计算,提高训练效率。在训练由于外部原因中断后,可通过以下步骤进行断点续训。
MindSpeed-LLM
- 进入训练结果输出目录,确认存在已保存的权重。
cd ${af_output_dir}
{af_output_dir}为训练启动脚本中通过--save参数配置的输出目录,该目录下会存在多个iter_xx权重目录和一个记录最新权重保存步数的文件latest_checkpointed_iteration.txt。可以修改latest_checkpointed_iteration.txt文件的内容指定续训加载权重目录。
- 修改训练配置yaml文件以下断点续训配置。
backend_config.training.no-load-optim: false backend_config.training.no-load-rng: false backend_config.training.finetune: false
- 重新启动训练任务,具体参考步骤二:启动训练任务,在原有命令的ascendfactory-cli train 命令的基础上增加如下超参。
--load ${af_output_dir}/saved_checkpoints
Llama-Factory
- 进入训练结果输出目录,获取指定的checkpoint目录。
cd ${af_output_dir}
{af_output_dir}为训练yaml文件中配置的输出目录,该目录下会存在多个checkpoint-xx权重目录。该目录生成的频率由配置backend_config.training.max_steps、backend_config.training.save_steps影响。
- 修改训练配置yaml文件中以下断点续训配置。
backend_config.training.resume_from_checkpoint: ${af_output_dir}/checkpoint-xx
- 重新启动训练任务,具体参考步骤二:启动训练任务。
VeRL
- 进入训练结果输出目录,获取指定的checkpoint目录。
cd ${af_output_dir}/checkpoint_${af_model_name}
对应生成checkpoint目录为训练yaml文件配置项backend_config.trainer.default_local_dir,该目录下会存在多个global_step_XX权重目录,可选择最新的权重目录。
- 修改训练配置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
- 重新启动训练任务,具体参考步骤二:启动训练任务。
MindSpeed-RL
- 进入训练结果输出目录,获取指定的checkpoint目录。
cd ${af_output_dir}/checkpoint_${af_model_name}
配置项backend_config.trainer.default_local_dir,该目录下会存在多个global_step_XX权重目录,可选择最新的权重目录。
- 修改训练配置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 加载
- 重新启动训练任务,具体参考步骤二:启动训练任务。
MindSpeed-MM
- 进入训练结果输出目录,确认存在已保存的权重。
cd ${af_output_dir}
{af_output_dir}为训练启动脚本中通过--save参数配置的输出目录,该目录下会存在多个iter_xx权重目录和一个记录最新权重保存步数的文件latest_checkpointed_iteration.txt。可以修改latest_checkpointed_iteration.txt文件的内容指定续训加载权重目录。
- 修改训练配置yaml文件以下断点续训配置。
backend_config.training.no-load-optim: false backend_config.training.no-load-rng: false
- 重新启动训练任务,具体参考步骤二:启动训练任务,在原有命令的ascendfactory-cli train 命令的基础上增加如下超参。
--load ${af_output_dir}/saved_checkpoints