MindSpeed-RL
本章节主要描述训练所需的yaml配置文件、配置参数说明,用户可根据实际自行选择其需要的参数。
yaml文件参数配置
根据以下步骤修改yaml文件。
- 数据集选择:以下参数二选一,详解如下。
参数
示例值
参数说明
backend_config.preprocess_data.input
数据集相对或绝对地址
训练时指定的输入数据路径。请根据实际规划修改。用户根据训练情况二选一
backend_config.megatron_training.data_path
/home/ma-user/ws/xxx
已处理好数据路径目录,如有处理完成数据可设置此参数
- 训练场景、权重文件、输出目录及其他重要参数设置,详解如下。
参数
示例值
参数说明
backend_config.megatron_training.tokenizer_name_or_path
/home/ma-user/ws/llm_train/AscendFactory/model/llama2-70B
【必修改】加载tokenizer与Hugging Face权重时,对应的存放地址。请根据实际规划修改。
af_output_dir
/home/ma-user/ws/save_dir
【必修改】训练任务结束生成日志及权重文件目录
backend_config.preprocess_data.handler_name
- GeneralPretrainHandler
- GeneralInstructionHandler
- MOSSInstructionHandler
- AlpacaStyleInstructionHandler
- SharegptStyleInstructionHandler
【必修改】示例值需要根据数据集${dataset}的不同,选择其一。
- GeneralPretrainHandler:使用预训练的alpaca数据集。
- GeneralInstructionHandler:使用微调的alpaca数据集。
- MOSSInstructionHandler:使用微调的moss数据集
- AlpacaStyleInstructionHandler:使用微调Alpaca数据集
- SharegptStyleInstructionHandler:使用Sharegpt数据集
backend_config.actor_config.no_load_optim
backend_config.actor_config.no_load_rng
false
是否加载优化器状态
- false:表示不加载
- true:表示加载
- 其他参数设置,详解如下。
参数
示例值
参数说明
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
backend_config.actor_config.load
null
加载权重路径,默认加载权重,null则表示不加载权重。
其余未提及参数参考三方官方参数配置修改配置。
模型参数设置规定
- TP张量并行 、PP流水线并行、CP context并行的参数设置:TP×PP×CP的值要被NPU数量(word_size)整除。
- TP×CP的值要被模型参数中 num_attention_heads 整除。
- MBS(micro-batch-size)、GBS(global-batch-size)的设置:需要遵循GBS/MBS的值能够被NPU/(TP×PP×CP)的值进行整除。