检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
训练脚本说明 训练启动脚本说明和参数配置 训练的数据集预处理说明 训练中的权重转换说明 训练tokenizer文件说明 父主题: 主流开源大模型基于Lite Cluster适配ModelLink PyTorch NPU训练指导(6.3.910)
训练脚本参数说明 在AscendCloud-AIGC代码包的multimodal_algorithm目录下集成了多个多模态模型的适配脚本,用户可通过不同模型中的xxx_install.sh脚本一键适配。在用户通过Dockerfile构建模型的环境镜像时会执行该脚本,这会从github上拉取模型的官方源码,并通过git
训练benchmark工具 工具介绍及准备工作 训练性能测试 训练精度测试 父主题: 主流开源大模型基于DevServer适配LlamaFactory PyTorch NPU训练指导(6.3.911)
训练任务 执行训练任务(推荐) 执行训练任务(历史版本) 父主题: 主流开源大模型基于Lite Cluster适配ModelLink PyTorch NPU训练指导(6.3.912)
训练脚本说明 Yaml配置文件参数配置说明 模型NPU卡数、梯度累积值取值表 各个模型训练前文件替换 NPU_Flash_Attn融合算子约束 BF16和FP16说明 录制Profiling 父主题: 主流开源大模型基于DevServer适配LlamaFactory PyTorch
训练的数据集预处理说明 以 llama2-13b 举例,运行:0_pl_pretrain_13b.sh 训练脚本后,脚本检查是否已经完成数据集预处理的过程。 如果已完成数据集预处理,则直接执行预训练任务。如果未进行数据集预处理,则会自动执行 scripts/llama2/1_preprocess_data
训练的数据集预处理说明 以 llama2-13b 举例,运行:0_pl_pretrain_13b.sh 训练脚本后,脚本检查是否已经完成数据集预处理的过程。 如果已完成数据集预处理,则直接执行预训练任务。如果未进行数据集预处理,则会自动执行 scripts/llama2/1_preprocess_data
较多,推荐OBS Browser+上传数据或上传文件夹。上传的数据需满足此类型自动学习项目的数据集要求。 在上传数据时,请选择非加密桶进行上传,否则会由于加密桶无法解密导致后期的训练失败。 用于训练的文本,至少有2种以上的分类,每种分类样本数据数不少20行。 创建数据集 数据准备
训练作业训练失败报错:TypeError: unhashable type: ‘list’ 问题现象 使用订阅算法图像分类-EfficientNetB4进行训练报错:TypeError: unhashable type: ‘list’。 原因分析 可能由于使用了多标签分类导致(即一个图片用了1个以上的标签)。
调试与训练 单机单卡 单机多卡 多机多卡 父主题: 专属资源池训练
de/train.py 使用Ascend自定义镜像训练时的训练代码适配规范 使用NPU资源创建训练作业时,系统会在训练容器里自动生成Ascend HCCL RANK_TABLE_FILE文件。当使用预置框架创建训练作业时,在训练过程中预置框架会自动解析Ascend HCCL RA
训练中的权重转换说明 以 llama2-13b 举例,运行 0_pl_pretrain_13b.sh 脚本。脚本同样还会检查是否已经完成权重转换的过程。 如果已完成权重转换,则直接执行预训练任务。如果未进行权重转换,则会自动执行 scripts/llama2/2_convert_mg_hf
训练tokenizer文件说明 在训练开始前,需要针对模型的tokenizer文件进行修改,不同模型的tokenizer文件修改内容如下,您可在创建的Notebook中对tokenizer文件进行编辑。 LLama2模型 在当前的软件版本中,由于transformers的版本过高(transformers==4
从而提供更好的稳定性和可靠性,在大模型训练和推理以及权重存储方面更受欢迎。 FP16:用于深度学习训练和推理过程中,可以加速计算并减少内存的占用,对模型准确性的影响在大多数情况下较小。与BF16相比在处理非常大或非常小的数值时遇到困难,导致数值的精度损失。 综上所述,BF16因其
从而提供更好的稳定性和可靠性,在大模型训练和推理以及权重存储方面更受欢迎。 FP16:用于深度学习训练和推理过程中,可以加速计算并减少内存的占用,对模型准确性的影响在大多数情况下较小。与BF16相比在处理非常大或非常小的数值时遇到困难,导致数值的精度损失。 综上所述,BF16因其
通过torch.distributed.run命令启动 创建训练作业 方式一:使用PyTorch预置框架功能,通过mp.spawn命令启动训练作业。 创建训练作业的关键参数如表1所示。 表1 创建训练作业(预置框架) 参数名称 说明 创建方式 选择“自定义算法”。 启动方式 选择“
会话对象,初始化方法请参考Session鉴权。 job_id 是 String 训练作业的id,可通过创建训练作业生成的训练作业对象查询,如"job_instance.job_id",或从查询训练作业列表的响应中获得。 无成功响应参数。 表2 调用训练接口失败响应参数 参数 类型 描述 error_msg
LoRA微调训练 前提条件 已上传训练代码、训练权重文件和数据集到OBS中,具体参考代码上传至OBS。 Step1 创建训练任务 创建训练作业,并自定义名称、描述等信息。选择自定义算法,启动方式自定义,以及选择上传的镜像。 代码目录选择:OBS桶路径下的llm_train/AscendSpeed代码目录。
LoRA微调训练 前提条件 已上传训练代码、训练权重文件和数据集到OBS中,具体参考代码上传至OBS。 Step1 创建训练任务 创建训练作业,并自定义名称、描述等信息。选择自定义算法,启动方式自定义,以及选择上传的镜像。 代码目录选择:OBS桶路径下的 llm_train/AscendSpeed
Step3 启动训练脚本 启动训练前需修改启动训练脚本demo.sh 内容。具体请参考•修改启动脚本。 对于falcon-11B训练任务开始前,需手动替换tokenizer中的config.json,具体请参见falcon-11B模型。 修改完yaml配置文件后,启动训练脚本;模型不