PAI深度学习Tensorflow框架多机多卡多PS Server使用说明

简介

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):
    《PAI深度学习Tensorflow框架多机多卡多PS Server使用说明》
  • 点击“执行调优”进行参数配置:
    《PAI深度学习Tensorflow框架多机多卡多PS Server使用说明》
  • 通过以上配置可以快速建立起如下图所示的多机多卡多PS计算网络结构,其中PS为Parameter Server服务,WORKER为计算节点机器,TASK表示具体执行计算的GPU卡:

《PAI深度学习Tensorflow框架多机多卡多PS Server使用说明》

2.代码端设置

传统的TensorFlow多机多卡作业需要在代码端输入每一个计算节点的对应端口信息,如下图所示:
《PAI深度学习Tensorflow框架多机多卡多PS Server使用说明》
当计算节点数量增多时,这种端口信息的配置会非常复杂。PAI优化了计算节点配置信息的功能,只需要以下两行代码即可自动在代码端获取计算节点信息。

 ps_hosts = FLAGS.ps_hosts.split(",")#框架层提供ps_hosts的端口
 worker_hosts = FLAGS.worker_hosts.split(",")#框架层提供worker_hosts的端口

3.运行日志查看

  • 右键TensorFlow,产看日志,可以看到资源的分配情况。分配两个PS,两个WORKER。
    《PAI深度学习Tensorflow框架多机多卡多PS Server使用说明》
  • 点击蓝色链接,可以在logview中查看对应每个worker的运行状态:
    《PAI深度学习Tensorflow框架多机多卡多PS Server使用说明》

代码下载

https://help.aliyun.com/document_detail/64146.html

    原文作者:TensorFlow
    原文地址: https://yq.aliyun.com/articles/304544
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞