微软 Open PAI 平台搭建操作指南
微软 Open PAI 平台搭建操作指南
OpenPAI架构与功能简介
OpenPAI是由微软亚洲研究院和微软(亚洲)互联网工程院联合研发的,支持多种深度学习、机器学习及大数据任务,可提供大规模GPU集群调度、集群监控、任务监控、分布式存储等功能,且用户界面友好,易于操作,让人工智能堆栈变得简单、快速、可扩展。
OpenPAI的架构如下图所示,用户通过Web Portal调用REST Server的API提交作业(Job)和监控集群,其它第三方工具也可通过该API进行任务管理。随后REST Server与Launcher交互,以执行各种作业,再由Launcher Server处理作业请求并将其提交至Hadoop YARN进行资源分配与调度。可以看到,OpenPAI给YARN添加了GPU支持,使其能将GPU作为可计算资源调度,助力深度学习。其中,YARN负责作业的管理,其它静态资源(下图蓝色方框所示)则由Kubernetes进行管理。
OpenPAI架构
OpenPAI完全基于微服务架构,所有的OpenPAI服务和AI Job均在容器中运行,这样的设计让OpenPAI的部署更加简单,无论是在Ubuntu裸机集群还是在云服务器上,仅需运行几个脚本即可完成部署。这同时也使其能够支持多种不同类型的AI任务,如CNTK、TensorFlow、PyTorch等不同的深度学习框架。此外,用户通过自定义Job容器即可支持新的深度学习框架和其他机器学习、大数据等AI任务,具有很强的扩展性。
在运维方面,OpenPAI提供了AI任务在线调试、错误报警、日志管理、性能检测等功能,显著降低了AI平台的日常运维难度。同时,它还支持MPI、RDMA网络,可满足企业对大规模深度学习任务的性能要求。
不仅如此,OpenPAI还实现了与Visual Studio的集成。Visual Studio Tools for AI是微软Visual Studio 2017 IDE的扩展,用户在Visual Studio中就可以开发、调试和部署深度学习和AI解决方案。集成后,用户在Visual Studio中调试好的模型可便捷地部署到OpenPAI集群中。
OpenPAI平台具体搭建步骤:
准备工作:三台主机。一个集群部署主机A,一个主节点主机B,一个从节点主机C。
环境要求:
推荐Ubuntu 16.04 LTS(暂不支持CentOS等其它Linux系统)。
静态IP地址。(同一网段。)
能够访问外网,可下载Docker Hub的镜像文件。
为集群中每台机器提供统一的用户名密码,并有sudo权限。(主从节点用户名密码一致)
有统一的时间同步服务(默认即可)。
推荐干净环境进行安装。如果已经安装了Docker,API版本必须大于等于1.26。
各台计算机之间网络可达。
硬件配