- 1、本文档共8页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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)