正在生成
详细信息:
检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
通过torch.distributed.run命令启动 创建训练作业 方式一:使用PyTorch预置框架功能,通过mp.spawn命令启动训练作业。 创建训练作业的关键参数如表1所示。 表1 创建训练作业(预置框架) 参数名称 说明 创建方式 选择“自定义算法”。 启动方式 选择“
训练脚本说明 训练启动脚本说明和参数配置 训练的数据集预处理说明 训练的权重转换说明 训练tokenizer文件说明 父主题: 主流开源大模型基于Standard+OBS适配PyTorch NPU训练指导(6.3.908)
训练脚本说明 训练启动脚本说明和参数配置 训练的数据集预处理说明 训练的权重转换说明 训练tokenizer文件说明 父主题: 主流开源大模型基于Standard+OBS+SFS适配PyTorch NPU训练指导(6.3.908)
训练tokenizer文件说明 在训练开始前,需要针对模型的tokenizer文件进行修改,不同模型的tokenizer文件修改内容如下,您可在创建的Notebook中对tokenizer文件进行编辑。 Yi模型 在使用Yi模型的chat版本时,由于transformer 4.3
训练tokenizer文件说明 在训练开始前,需要针对模型的tokenizer文件进行修改,不同模型的tokenizer文件修改内容如下,您可在创建的Notebook中对tokenizer文件进行编辑。 ChatGLMv3-6B 在训练开始前,针对ChatGLMv3-6B模型中的
预训练 预训练数据处理 预训练任务 断点续训练 查看日志和性能 父主题: LLama2系列模型基于DevServer适配PyTorch NPU训练指导(6.3.904)
PP=1 \ TRAIN_ITERS=200 \ WORK_DIR=/home/ma-user/ws \ sh scripts/llama2/llama2.sh 等待模型载入 执行训练启动命令后,等待模型载入,当出现“training”关键字时,表示开始训练。训练过程中,训练日志会在最后的Rank节点打印。
训练tokenizer文件说明 在训练开始前,需要针对模型的tokenizer文件进行修改,不同模型的tokenizer文件修改内容如下,您可在创建的Notebook中对tokenizer文件进行编辑。 Yi模型 在使用Yi模型的chat版本时,由于transformer 4.3
LoRA微调训练 前提条件 已上传训练代码、训练权重文件和数据集到OBS中,具体参考代码上传至OBS。 Step1 创建训练任务 创建训练作业,并自定义名称、描述等信息。选择自定义算法,启动方式自定义,以及选择上传的镜像。 代码目录选择:OBS桶路径下的llm_train/AscendSpeed代码目录。
填;TRAIN_ITERS、MBS、GBS、TP、PP、WORK_DIR、SEQ_LEN为非必填,有默认值。 等待模型载入 执行训练启动命令后,等待模型载入,当出现“training”关键字时,表示开始训练。训练过程中,训练日志会在最后的Rank节点打印。 图1 等待模型载入 更
训练的数据集预处理说明 以 llama2-13b 举例,使用训练作业运行:0_pl_pretrain_13b.sh 训练脚本后,脚本检查是否已经完成数据集预处理。 如果已完成数据集预处理,则直接执行预训练任务。若未进行数据集预处理,则会自动执行 scripts/llama2/1_preprocess_data
HuggingFace转Megatron参数说明 --model-type:模型类型。 --loader:选择对应加载模型脚本的名称。 --saver:选择模型保存脚本的名称。 --tensor-model-parallel-size:${TP}张量并行数,需要与训练脚本中的TP值配置一样。 --pipelin
训练脚本说明 yaml配置文件参数配置说明 各个模型深度学习训练加速框架的选择 模型NPU卡数取值表 各个模型训练前文件替换 父主题: 主流开源大模型基于DevServer适配LlamaFactory PyTorch NPU训练指导(6.3.907)
或隔离节点,并重启训练作业,提高训练成功率。为了避免丢失训练进度、浪费算力。此功能已适配断点续训练。 图2 开启故障重启 断点续训练是通过checkpoint机制实现。checkpoint机制是在模型训练的过程中,不断地保存训练结果(包括但不限于EPOCH、模型权重、优化器状态、
如果用户希望自定义参数进行训练,可直接编辑对应模型的训练脚本,可编辑参数以及详细介绍如下。以llama2-13b预训练为例: 表1 模型训练脚本参数 参数 示例值 参数说明 ORIGINAL_TRAIN_DATA_PATH /home/ma-user/work/training_data
对于ChatGLMv3-6B和Qwen系列模型,还需要手动修改tokenizer文件,具体请参见训练tokenizer文件说明。 Step2 创建SFT全参微调训练任务 创建训练作业,并自定义名称、描述等信息。选择自定义算法,启动方式自定义,以及上传的镜像。训练脚本中会自动执行训练前的权重转换操作和数据处理操作。
训练的权重转换说明 以llama2-13b举例,使用训练作业运行0_pl_pretrain_13b.sh脚本。脚本同样还会检查是否已经完成权重转换的过程。 如果已完成权重转换,则直接执行预训练任务。如果未进行权重转换,则会自动执行scripts/llama2/2_convert_mg_hf
训练的权重转换说明 以llama2-13b举例,使用训练作业运行0_pl_pretrain_13b.sh脚本。脚本同样还会检查是否已经完成权重转换的过程。 若已完成权重转换,则直接执行预训练任务。若未进行权重转换,则会自动执行scripts/llama2/2_convert_mg_hf
训练脚本说明 Yaml配置文件参数配置说明 模型NPU卡数、梯度累积值取值表 各个模型训练前文件替换 NPU_Flash_Attn融合算子约束 录制Profiling 父主题: 主流开源大模型基于DevServer适配LlamaFactory PyTorch NPU训练指导(6.3
训练脚本说明 训练启动脚本说明和参数配置 训练的数据集预处理说明 训练的权重转换说明 训练tokenizer文件说明 父主题: 主流开源大模型基于Standard+OBS+SFS适配PyTorch NPU训练指导(6.3.907)