检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
训练启动脚本说明和参数配置 本代码包中集成了不同模型(包括llama2、llama3、Qwen、Qwen1.5 ......)的训练脚本,并可通过统一的训练脚本一键式运行。训练脚本可判断是否完成预处理后的数据和权重转换的模型。如果未完成,则执行脚本,自动完成数据预处理和权重转换的过程。
训练启动脚本说明和参数配置 本代码包中集成了不同模型(包括llama2、llama3、Qwen、Qwen1.5 ......)的训练脚本,并可通过统一的训练脚本一键式运行。训练脚本可判断是否完成预处理后的数据和权重转换的模型。如果未完成,则执行脚本,自动完成数据预处理和权重转换的过程。
GBS 128 表示训练中所有机器一个step所处理的样本量。影响每一次训练迭代的时长。 TP 8 表示张量并行。对应训练参数 tensor-model-parallel-size 。 PP 4 表示流水线并行。一般此值与训练节点数相等,与权重转换时设置的值相等。对应训练参数 pipe
准备AscendSpeed训练代码、分词器Tokenizer和推理代码。 准备数据 准备训练数据,可以用本案使用的数据集,也可以使用自己准备的数据集。 准备镜像 准备训练模型适用的容器镜像。 训练 启动训练 介绍各个训练阶段:指令微调、PPO强化训练、RM奖励模型、DPO偏好训练使用全参/lora训练策略进行训练任务、性能查看。
于加速深度学习训练。通过使用DeepSpeed,可以实现如混合精度训练、ZeRO内存优化等高级特性,以提高训练效率和性能 stage sft 表示当前的训练阶段。可选择值:[pt、sft、rm、ppo、dpo],pt代表预训练,sft代表指令监督微调,rm代表奖励模型训练,ppo代表PPO训练,dpo代表DPO训练。
job_name String 训练作业的名称。 job_desc String 训练作业的描述信息。 version_id Long 训练作业的版本ID。 version_name String 训练作业的版本名称。 pre_version_id Long 训练作业前一版本的名称。 engine_type
训练tokenizer文件说明 在训练开始前,需要针对模型的tokenizer文件进行修改,不同模型的tokenizer文件修改内容如下,您可在创建的Notebook中对tokenizer文件进行编辑。 LLama2模型 在当前的软件版本中,由于transformers的版本过高(transformers==4
训练tokenizer文件说明 在训练开始前,需要针对模型的tokenizer文件进行修改,不同模型的tokenizer文件修改内容如下,您可在创建的Notebook中对tokenizer文件进行编辑。 LLama2模型 在当前的软件版本中,由于transformers的版本过高(transformers==4
训练作业性能问题 训练作业性能降低 父主题: 训练作业
分布式训练功能介绍 ModelArts提供了如下能力: 丰富的官方预置镜像,满足用户的需求。 支持基于预置镜像自定义制作专属开发环境,并保存使用。 丰富的教程,帮助用户快速适配分布式训练,使用分布式训练极大减少训练时间。 分布式训练调测的能力,可在PyCharm/VSCode/J
训练脚本说明 训练启动脚本说明和参数配置 训练的数据集预处理说明 训练的权重转换说明 训练tokenizer文件说明 父主题: 主流开源大模型基于Standard+OBS适配ModelLink PyTorch NPU训练指导(6.3.911)
训练作业训练失败报错:TypeError: unhashable type: ‘list’ 问题现象 使用订阅算法图像分类-EfficientNetB4进行训练报错:TypeError: unhashable type: ‘list’。 原因分析 可能由于使用了多标签分类导致(即一个图片用了1个以上的标签)。
训练的数据集预处理说明 以llama2-13b举例,使用训练作业运行:obs_pipeline.sh 训练脚本后,脚本自动执行数据集预处理,并检查是否已经完成数据集预处理。 如果已完成数据集预处理,则直接执行训练任务。如果未进行数据集预处理,则会自动执行scripts/llama2/1_preprocess_data
执行训练任务(历史版本) 步骤一 上传训练权重文件和数据集 如果在准备代码和数据阶段已经上传权重文件和数据集到容器中,可以忽略此步骤。 如果未上传训练权重文件和数据集到容器中,具体参考上传代码和权重文件到工作环境和上传数据到指定目录章节完成。训练脚本中会自动执行训练前的权重转换操作和数据处理操作。
训练的数据集预处理说明 以llama2-13b举例,使用训练作业运行:obs_pipeline.sh 训练脚本后,脚本自动执行数据集预处理,并检查是否已经完成数据集预处理。 如果已完成数据集预处理,则直接执行训练任务。如果未进行数据集预处理,则会自动执行scripts/llama2/1_preprocess_data
nizer文件,具体请参见训练tokenizer文件说明。 Step2 创建预训练任务 创建训练作业,并自定义名称、描述等信息。选择自定义算法,启动方式自定义,以及上传的镜像。训练脚本中会自动执行训练前的权重转换操作和数据处理操作。 图1 选择镜像 训练作业启动命令中输入: cd
获取训练作业支持的公共规格 功能介绍 获取训练作业支持的公共规格。 调试 您可以在API Explorer中调试该接口,支持自动认证鉴权。API Explorer可以自动生成SDK代码示例,并提供SDK代码示例调试功能。 URI GET /v2/{project_id}/training-job-flavors
于加速深度学习训练。通过使用DeepSpeed,可以实现如混合精度训练、ZeRO内存优化等高级特性,以提高训练效率和性能 stage sft 表示当前的训练阶段。可选择值:sft、rm、ppo、dpo。 sft代表指令监督微调; rm代表奖励模型训练; ppo代表PPO训练; dpo代表DPO训练。
于加速深度学习训练。通过使用DeepSpeed,可以实现如混合精度训练、ZeRO内存优化等高级特性,以提高训练效率和性能 stage sft 表示当前的训练阶段。可选择值:sft、rm、ppo、dpo。 sft代表指令监督微调; rm代表奖励模型训练; ppo代表PPO训练; dpo代表DPO训练。
统将自动修复异常或隔离节点,并重启训练作业,提高训练成功率。为了避免丢失训练进度、浪费算力。此功能已适配断点续训练。 图2 开启故障重启 断点续训练是通过checkpoint机制实现。checkpoint机制是在模型训练的过程中,不断地保存训练结果(包括但不限于EPOCH、模型权