PAI深度学习Tensorflow框架多机多卡多PS Server使用说明
傲海 2017-12-21 14:09:10 浏览41 评论0 发表于: 阿里云机器学习 >> 博客python 深度学习 配置 aliyun Server 分布式计算 存储 TensorFlow
摘要: 简介 PAI目前已经上线了支持多机、多卡、多PS Server的TensorFlow服务,目前只支持华北2 Region。华北2 Region因为支持多机多卡功能,适用于大规模数据的训练,相关服务需要收费,有需要的相关机构可以联系我们。
简介
PAI目前已经上线了支持多机、多卡、多PS Server的TensorFlow服务,目前只支持华北2 Region。华北2 Region因为支持多机多卡功能,适用于大规模数据的训练,相关服务需要收费,有需要的相关机构可以联系我们。
原理说明
- Parameter Server节点:用来存储TensorFlow计算过程中的参数。配置多个PS节点,计算参数将会被自动切片并存储在不同的PS节点中,从而减小Worker和PS节点通信过程中的带宽限制的影响。
- Worker节点:“多机多卡”中的“机”,GPU卡的载体。
- Task节点:“多机多卡”中的“卡”,在PAI中指的是GPU卡,在TensorFlow训练过程中,通过数据切片将数据分布在不同的Task节点进行模型参数的训练。
使用说明
多机、多卡、多PS功能会以服务化的方式提供,用户无需关心底层计算资源的调度和运维,只需要通过PAI前端的简单配置即可快速搭建起整个分布式计算网络。下面介绍下具体的使用方式:
1.前端配置
- 将mnist_cluster.tar.gz文件下载并上传到OSS(本文下部提供下载地址),配置深度学习的OSS读取权限,拖拽任意版本TensorFlow组件按照下图连接,设置对应的代码数据源(Python代码文件设置mnist_cluster.tar.gz路径,Python主文件填入mnist_cluster.py):
- 点击“执行调优”进行参数配置:
- 通过以上配置可以快速建立起如下图所示的多机多卡多PS计算网络结构,其中PS为Parameter Server服务,WORKER为计算节点机器,TASK表示具体执行计算的GPU卡:
2.代码端设置
传统的TensorFlow多机多卡作业需要在代码端输入每一个计算节点的对应端口信息,如下图所示:
当计算节点数量增多时,这种端口信息的配置会非常复杂。PAI优化了计算节点配置信息的功能,只需要以下两行代码即可自动在代码端获取计算节点信息。
ps_hosts = FLAGS.ps_hosts.split(",")#框架层提供ps_hosts的端口
worker_hosts = FLAGS.worker_hosts.split(",")#框架层提供worker_hosts的端口
3.运行日志查看
- 右键TensorFlow,产看日志,可以看到资源的分配情况。分配两个PS,两个WORKER。
- 点击蓝色链接,可以在logview中查看对应每个worker的运行状态:
代码下载
help.aliyun.com/document_de… 本文为云栖社区原创内容,未经允许不得转载,如需转载请发送邮件至yqeditor@list.alibaba-inc.com;如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件至:yqgroup@service.aliyun.com 进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容。用云栖社区APP,舒服~
【云栖快讯】中办国办印发《推进互联网协议第六版(IPv6)规模部署行动计划》加快推进基于 IPv6 的下一代互联网规模部署,计划指出2025年末中国 IPv6 规模要达到世界第一,阿里云也第一时间宣布了将全面提供IPv6服务,那么在全面部署 IPV6 前,你需要了解都在这儿 详情请点击 评论文章 (0) (0) (0)