检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
ModelArts Standard环境 前提条件 已上传训练代码、训练权重文件和数据集到OBS或SFS Turbo共享盘中,具体参考OBS桶或SFS Turbo共享盘,根据实际选择所需存储方式。 步骤一:创建训练任务 创建训练作业,并自定义名称、描述等信息。选择自定义算法,启动
前提条件:给子账号配置允许使用Cloud Shell的权限 使用主用户账号登录华为云的管理控制台,单击右上角用户名,在下拉框中选择“统一身份认证”,进入统一身份认证(IAM)服务。 在统一身份认证服务页面的左侧导航选择“权限管理 > 权限”,单击右上角的“创建自定义策略”按如下要求设置完成后单击“确定”。
1),存储方案推荐使用“SFS(存放数据)+普通OBS桶(存放代码)”,采用分布式训练。 当使用SFS+OBS的存储方案可以实现存储加速,该方案的端到端实践案例请参见面向AI场景使用OBS+SFS Turbo的存储加速实践。 表1 不同场景所需服务及购买推荐 场景 OBS SFS
前提条件:给子账号配置允许使用Cloud Shell的权限 使用主用户账号登录华为云的管理控制台,单击右上角用户名,在下拉框中选择“统一身份认证”,进入统一身份认证(IAM)服务。 在统一身份认证服务页面的左侧导航选择“权限管理 > 权限”,单击右上角的“创建自定义策略”按如下要求设置完成后单击“确定”。
步骤介绍如何创建用户组、子账号、并将子账号加入用户组中。 主用户登录管理控制台,单击右上角用户名,在下拉框中选择“统一身份认证”,进入IAM服务。 图1 统一身份认证 创建用户组。在左侧菜单栏中,选择“用户组”。单击右上角“创建用户组”,在“用户组名称”中填入“用户组02”,然后单击“确定”完成用户组创建。
cd YOLOX sed -i 's/\r//' run.sh Shell脚本在Windows系统编写时,每行结尾是\r\n,而在Linux系统中行每行结尾是\n,所以在Linux系统中运行脚本时,会认为\r是一个字符,导致运行报错“$'\r': command not foun
sh ./scripts/obs_pipeline.sh 创建训练作业后,会在节点机器中使用基础镜像创建docker容器,并在容器内进行分布式训练。而install.sh则会在容器内安装依赖以及下载完整的代码。当训练作业结束后,对应的容器也会同步销毁。 图1 训练作业启动命令 父主题:
出替换命令。 /mnt/sfs_turbo 为宿主机中默认挂载SFS Turbo的工作目录,目录下存放着训练所需代码、数据等文件。 同样,/mnt/sfs_turbo 也可以映射至容器中,作为容器中挂载宿主机的目录。宿主机和容器使用不同的文件系统。为方便访问两个地址可以相同。 ${pvc_name}
出替换命令。 /mnt/sfs_turbo 为宿主机中默认挂载SFS Turbo的工作目录,目录下存放着训练所需代码、数据等文件。 同样,/mnt/sfs_turbo 也可以映射至容器中,作为容器中挂载宿主机的目录。宿主机和容器使用不同的文件系统。为方便访问两个地址可以相同。 ${pvc_name}
定的问题,这是使用warm up的原因。等到训练过程基本稳定之后就可以使用原先设定的初始学习率进行训练。 原因分析 Tensorflow分布式有多种执行模式,mox会通过4次执行50 step记录执行时间,选择执行时间最少的模型。 处理方法 创建训练作业时,在“运行参数”中增加参
图1 ModelArts与其他服务的关系示意图 与统一身份认证服务的关系 ModelArts使用统一身份认证服务(Identity and Access Management,简称IAM)实现认证功能。IAM的更多信息请参见《统一身份认证服务产品文档》。 与对象存储服务的关系 Mod
图1 ModelArts与其他服务的关系示意图 与统一身份认证服务的关系 ModelArts使用统一身份认证服务(Identity and Access Management,简称IAM)实现认证功能。IAM的更多信息请参见《统一身份认证服务用户指南》。 与对象存储服务的关系 Mod
数相同。 node_rank 任务rank,用于多任务分布式训练。 master_addr 主任务(rank 0)的地址,设置为任务worker-0的通信域名。 master_port 在主任务(rank 0)上,用于分布式训练期间通信的端口。默认设置为18888端口。当遇到ma
sh ./scripts/obs_pipeline.sh 创建训练作业后,会在节点机器中使用基础镜像创建docker容器,并在容器内进行分布式训练。而install.sh则会在容器内安装依赖以及下载完整的代码。当训练作业结束后,对应的容器也会同步销毁。 图1 训练作业启动命令 父主题:
如果需要设置SFS Turbo的文件夹权限,请参考权限管理文档配置。 “弹性文件服务”:选择已创建的SFS Turbo(在弹性文件服务控制台创建SFS Turbo)。 “云上挂载路径”:默认为/home/ma-user/work/。 “子目录挂载”:选择SFS Turbo的存储位置。
IAM子用户:由主账号在IAM中创建的用户,是服务的使用人员,具有独立的身份凭证(密码和访问密钥),根据账号授予的权限使用资源。IAM子用户相关介绍请参见IAM用户介绍。 联邦用户:又称企业虚拟用户。联邦用户相关介绍请参见联邦身份认证。 委托用户:IAM中创建的一个委托。IAM创建委托相关介绍请参见创建委托。
/scripts/llama2/0_pl_pretrain_13b.sh 创建训练作业后,会在节点机器中使用基础镜像创建docker容器,并在容器内进行分布式训练。而install.sh则会在容器内安装依赖以及下载完整的代码。当训练作业结束后,对应的容器也会同步销毁。 图1 训练作业启动命令 父主题:
self.linear_1 = nn.Linear(in_features=8, out_features=4) self.linear_2 = nn.Linear(in_features=4, out_features=2) def forward(self,
'NoneType' object has no attribute 'dtype'” 日志提示“No module name 'unidecode'” 分布式Tensorflow无法使用“tf.variable” MXNet创建kvstore时程序被阻塞,无报错 日志出现ECC错误,导致训练作业失败
CPU过载 减少线程数。 排查办法 根据错误信息判断,报错原因来源于用户代码。 您可以通过以下两种方式排查: 线上环境调试代码(仅适用于非分布式代码) 在开发环境(notebook)申请相同规格的开发环境实例。 在notebook调试用户代码,并找出问题的代码段。 通过关键代码段 +