更新时间:2025-11-19 GMT+08:00
分享

MindSpeed-MM-RL

MindSpeed-MM-RL针对多模态模型的强化学习任务,本章节主要描述该框架训练所需的yaml配置文件(通过ascendfactory-cli config 命令生成)、配置参数说明,用户可根据实际自行选择其需要的参数。

yaml文件参数配置

1. 数据集及模型路径设置如下表所示。

表1 数据集及模型路径设置

参数

示例值

参数说明

backend_config.megatron_training.tokenizer_name_or_path

/home/ma-user/AscendFactory/ckpts/hf_path/Qwen2.5-VL-7B-Instruct

【必修改】转换前的权重路径。请根据实际规划修改。

backend_config.data.dataset_param.basic_parameters.dataset_dir

/home/dataset/geo3k/

【必修改】数据集路径。请根据实际规划修改。

2. 权重转换设置,详解如下。

参数

示例值

参数说明

backend_config.convert_ckpt_hf2mg.cfg.mm_dir

/home/ma-user/AscendFactory/ckpts/mm_path/converted_weight_TP${backend_config.training.tensor-model-parallel-size}_PP${backend_config.training.pipeline-model-parallel-size}

【必修改】转换后保存目录。请根据实际规划修改。

backend_config.convert_ckpt_hf2mg.cfg.hf_config.hf_dir

${backend_config.data.dataset_param.preprocess_parameters.model_name_or_path}

huggingface权重目录。

backend_config.convert_ckpt_hf2mg.cfg.parallel_config.llm_pp_layers

- 1

- 10

- 10

- 7

llm在每个卡上切分的层数,注意要和微调时backend_config.model中配置的pipeline_num_layers一致。

backend_config.convert_ckpt_hf2mg.cfg.parallel_config.vit_pp_layers

- 32

- 0

- 0

- 0

vit在每个卡上切分的层数,注意要和微调时backend_config.model中配置的pipeline_num_layers一致。

backend_config.convert_ckpt_mg2hf.cfg.parallel_config.tp_size

1

tp并行数量,注意要和megatron_training中的配置一致。

backend_config.convert_ckpt_mg2hf.cfg.save_hf_dir

${af_output_dir}/ckpt_converted_mg2hf

训练任务完成后转换回hf模型格式的目录。

backend_config.convert_ckpt_mg2hf.cfg.parallel_config.llm_pp_layers

- 1

- 10

- 10

- 7

llm在每个卡上切分的层数,注意要和微调时backend_config.model中配置的pipeline_num_layers一致。

backend_config.convert_ckpt_mg2hf.cfg.parallel_config.vit_pp_layers

- 32

- 0

- 0

- 0

vit在每个卡上切分的层数,注意要和微调时backend_config.model中配置的pipeline_num_layers一致。

backend_config.convert_ckpt_mg2hf.cfg.parallel_config.tp_size

1

tp并行数量,注意要和megatron_training中的配置一致。

3. 训练场景、权重文件、输出目录及其他重要参数设置,详解如下。

参数

示例值

参数说明

af_output_dir

/home/ma-user/ws/save_dir

【必修改】训练任务结束生成日志及权重文件目录

backend_config.actor_config.micro_batch_size

1

表示流水线并行中一个micro batch所处理的样本量。在流水线并行中,为了减少气泡时间,会将一个step的数据切分成多个micro batch。

该值与tensor-model-parallel-size和pipeline-model-parallel-size以及模型大小相关,可根据实际情况进行调整,简称MBS。

backend_config.megatron_training.global_batch_size

128

表示训练中所有机器一个step所处理的样本量。影响每一次训练迭代的时长,简称GBS。

backend_config.actor_config.tensor_model_parallel_size

8

表示张量并行,简称TP。

backend_config.actor_config.pipeline_model_parallel_size

4

表示流水线并行。一般此值与训练节点数相等,与权重转换时设置的值相等,简称PP。

backend_config.actor_config.lr

2.5e-5

学习率设置。

backend_config.actor_config.min_lr

2.5e-6

最小学习率设置。

backend_config.megatron_training.train_iters

10

非必填。表示训练step迭代次数,有默认值

backend_config.megatron_training.save_interval

1000

用于模型中间版本地保存。

  • 当参数值>=TRAIN_ITERS时,生成模型仅保存经过TRAIN_ITERS次训练后的最后一个版本。
  • 当参数值<TRAIN_ITERS时,生成模型会每经过SAVE_INTERVAL次,保存一次模型版本。

模型版本保存次数=TRAIN_ITERS//SAVE_INTERVAL+1

其余未提及参数参考三方官方参数配置修改配置。

相关文档