检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
MXNet创建kvstore时程序被阻塞,无报错 日志出现ECC错误,导致训练作业失败 超过最大递归深度导致训练作业失败 使用预置算法训练时,训练失败,报“bndbox”错误 训练作业进程异常退出 训练作业进程被kill 父主题: 训练作业
删除训练作业版本 功能介绍 删除训练作业一个版本。 此接口为异步接口,作业状态请通过查询训练作业列表和查询训练作业版本详情接口获取。 URI DELETE /v1/{project_id}/training-jobs/{job_id}/versions/{version_id} 参数说明如表1所示。
管理模型训练作业 查看训练作业详情 查看训练作业资源占用情况 查看模型评估结果 查看训练作业事件 查看训练作业日志 修改训练作业优先级 使用Cloud Shell调试生产训练作业 重建、停止或删除训练作业 管理训练容器环境变量 查看训练作业标签 父主题: 使用ModelArts Standard训练模型
分布式模型训练 分布式训练功能介绍 创建单机多卡的分布式训练(DataParallel) 创建多机多卡的分布式训练(DistributedDataParallel) 示例:创建DDP分布式训练(PyTorch+GPU) 示例:创建DDP分布式训练(PyTorch+NPU) 父主题:
训练的数据集预处理说明 以 llama2-13b 举例,使用训练作业运行:0_pl_pretrain_13b.sh 训练脚本后,脚本检查是否已经完成数据集预处理。 如果已完成数据集预处理,则直接执行预训练任务。若未进行数据集预处理,则会自动执行 scripts/llama2/1_preprocess_data
config_desc String 训练作业参数的描述信息。 create_time Long 训练作业的创建时间。 engine_type integer 训练作业的引擎类型。 engine_name String 训练作业的引擎名称。 engine_id Long 训练作业的引擎ID。 engine_version
预训练 前提条件 已上传训练代码、训练权重文件和数据集到SFS Turbo中,具体参考代码上传至OBS和使用Notebook将OBS数据导入SFS Turbo。 Step1 在Notebook中修改训练超参配置 以llama2-13b预训练为例,执行脚本0_pl_pretrain_13b
编译生成so文件的cuda版本与训练作业的cuda版本不一致。 处理方法 编译环境的cuda版本与训练环境不一致,训练作业运行就会报错。例如:使用cuda版本为10的开发环境tf-1.13中编译生成的so包,在cuda版本为9.0训练环境中tf-1.12训练会报该错。 编译环境和训练环境的cuda版本不一致时,可参考如下处理方法:
scripts/llama2/0_pl_pretrain_13b.sh localhost 1 0 等待模型载入 执行训练启动命令后,等待模型载入,当出现“training”关键字时,表示开始训练。训练过程中,训练日志会在最后的Rank节点打印。 图1 等待模型载入 更多查看训练日志和性能操作,请参考查看日志和性能章节。
named npu_bridge.npu_init 检查下训练作业使用的规格是否支持NPU,有可能是训练时使用了GPU规格,导致发生了NPU相关调用报错。 建议与总结 在创建训练作业前,推荐您先使用ModelArts开发环境调试训练代码,避免代码迁移过程中的错误。 直接使用线上note
LoRA微调训练 步骤1 上传训练权重文件和数据集 如果在准备代码和数据阶段已经上传权重文件和数据集到容器中,可以忽略此步骤。 如果未上传训练权重文件和数据集到容器中,具体参考上传代码和权重文件到工作环境和上传数据到指定目录章节完成。训练脚本中会自动执行训练前的权重转换操作和数据处理操作。
LoRA微调训练 前提条件 已上传训练代码、训练权重文件和数据集到OBS中,具体参考代码上传至OBS。 Step1 创建训练任务 创建训练作业,并自定义名称、描述等信息。选择自定义算法,启动方式自定义,以及选择上传的镜像。 代码目录选择:OBS桶路径下的llm_train/AscendSpeed代码目录。
训练权重转换说明 以 llama2-13b 举例,使用训练作业运行 obs_pipeline.sh 脚本后,脚本自动执行权重转换,并检查是否已经完成权重转换的过程。 若已完成权重转换,则直接执行训练任务。若未进行权重转换,则会自动执行scripts/llama2/2_convert_mg_hf
更新训练作业描述 功能介绍 更新训练作业的描述。 URI PUT /v1/{project_id}/training-jobs/{job_id} 参数说明如表1所示。 表1 参数说明 参数 是否必选 参数类型 说明 project_id 是 String 用户项目ID。获取方法请参见获取项目ID和名称。
单击“提交”,在“信息确认”页面,确认训练作业的参数信息,确认无误后单击“确定”。 训练作业创建完成后,后台将自动完成容器镜像下载、代码目录下载、执行启动命令等动作。 训练作业一般需要运行一段时间,根据您的训练业务逻辑和选择的资源不同,训练时长将持续几十分钟到几小时不等。训练作业执行成功后,日志信息如下所示。
建。 训练代码迁移 前提条件 要迁移的训练任务代码在GPU上多次训练稳定可收敛。训练业务代码和数据,应该确保在GPU环境中能够运行,并且训练任务有稳定的收敛效果。 本文只针对基于PyTorch的训练代码迁移。此处假设用户使用基于PyTorch的训练代码进行迁移。其他的AI引擎如T
8*ascend-snt9b。如果需要多机训练,增加计算节点个数即可,启动脚本文件diffusers_finetune_train.sh支持多机训练。 图5 选择资源池规格 作业日志路径:选择输出日志到OBS的指定目录。 图6 选择作业日志路径 填写参数完成后,提交创建训练任务,训练完成后,作业状态会显示为已完成。
ModelArts训练中不同规格资源“/cache”目录的大小是多少? 在创建训练作业时可以根据训练作业的大小选择资源。 ModelArts会挂载硬盘至“/cache”目录,用户可以使用此目录来储存临时文件。“/cache”与代码目录共用资源,不同资源规格有不同的容量。 k8s磁
日志提示"write line error" 日志提示“No space left on device” OOM导致训练作业失败 常见的磁盘空间不足的问题和解决办法 父主题: 训练作业
自动修复异常或隔离节点,并重启训练作业,提高训练成功率。为了避免丢失训练进度、浪费算力。此功能已适配断点续训练。 图2 开启故障重启 断点续训练是通过checkpoint机制实现。checkpoint机制是在模型训练的过程中,不断地保存训练结果(包括但不限于EPOCH、模型权重、