ModelArts训练作业快速入门与最佳使用指引.docx

ModelArts训练作业快速入门与最佳使用指引.docx

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

?

?

ModelArts训练作业快速入门与最佳使用指引

?

?

【摘要】Modelarts数据准备,如何创建训练作业,如何创建分布式作业,性能提升指引,专属资源池使用

1.登录华为云

根据华为提供的账户和密码,登录华为云控制台。

华为云网址:/authui/login.html#/login

登录华为云控制台后,在左上角选择区域:北京四

在服务列表中选择:EI企业智能-ModelArts

如下图所示:

2.准备OBS桶

在华为云控制台点击服务列表选择:存储-对象存储服务OBS

在对象存储服务OBS控制台,点击:创建桶,即可创建本次POC所需要的一个或多个桶,用于存放训练数据、训练脚本、训练结果、日志等各种文件。

请参考/qs-obs/obs_qs_1000.html

3.ModelArts训练作业使用指引

3.1训练作业介绍

/engineers-modelarts/modelarts_23_0046.html

3.2训练作业案例

/bestpractice-modelarts/modelarts_10_0003.html

3.3Moxing文档

/huaweicloud/ModelArts-Lab/blob/master/docs/moxing_api_doc/MoXing_API_File.md

3.4Tensorflow分布式训练作业介绍

方法一:

使用MoxingAPI进行编程,例子程序如下,Moxing对tf接口进行了进一步封装,会自动处理分布式逻辑传入的参数。

/huaweicloud/ModelArts-Lab/blob/master/docs/moxing_api_doc/MoXing_API_Flowers.md

方法二:

自己代码对分布式传参进行处理。

以下四个参数是TensorFlow推荐的分布式运行参数,具体可以参考TensorFlow官方文档。

--job_name:ps或worker

--task_index:ps或worker进程的序号,一般情况下task_index为0的worker为chiefworker(也可以认为是master节点,master节点在物理上并不存在,是一个逻辑节点)

--ps_hosts:ps的ip和端口,多个节点以,分割。

--worker_hosts:worker的ip和端口,多个节点以,分割。

例如,启动一个2个节点的训练作业,分布式作业启动脚本参数配置如下:

#节点0启动ps进程参数(对应IP地址为00)

--job_name=ps

--task_index=0

--ps_hosts=00:2222,01:2222

--worker_hosts=00:2223,01:2223

?

#节点0启动worker进程参数(对应IP地址为00)

--job_name=worker

--task_index=0

--ps_hosts=00:2222,01:2222

--worker_hosts=00:2223,01:2223

--num_gpus=4

?

#节点1启动ps进程参数(对应IP地址为01)

--job_name=ps

--task_index=1

--ps_hosts=00:2222,01:2222

--worker_hosts=00:2223,01:2223

?

#节点1启动ps进程参数(对应IP地址为01)

--job_name=worker

--task_index=1

--ps_hosts=00:2222,01:2222

--worker_hosts=00:2223,01:2223

--num_gpus=4

3.5Pytorch分布式作业介绍

方法一:使用mox接口进行pytorch分布式编程,参考文档

使用mox进行编程时如果一台机器上有8个gpu,但是用户只想使用4个gpu,可以在代码中添加os.environ[CUDA_VISIBLE_DEVICES]=0,1,2,3进行gpu数量的控制。下面图片同时保存在了附件中

方法二:

自己对于分布式参数进行处理,分布式依赖的参数都会通过入参传入到脚本中,用户通过对这些参数的使用完成多节点组网

3.6性能提升指引

场景

用户A使用Modelarts进行自定义深度学习训练,训练数据存储在对象存储OBS上,训练数据一共有200GB,用户每次使用GPU资源池进行训练。用户希望提升训练效率,同时较少与对象存储OBS的交互,(每次与OBS的交互都要收取一定的费用)。

?

优化原理

对于GPU资源池,每个训练节点会挂载NVMe类型SSD提供给用户免费使用,每张GPU卡对应500GB的存储空间,如果是8卡v100,就有4TB的免费SSD使用。此SSD挂载到/cache目录,/

文档评论(0)

151****8293 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档