【干货】快速部署微软开源GPU管理利器: OpenPAI

介绍

不管是机器学习的老手,还是入门的新人,都应该装备上尽可能强大的算力。除此之外,还要压榨出硬件的所有潜力来加快模型训练。OpenPAI作为GPU管理的利器,不管是一块GPU,还是上千块GPU,都能够做好调度,帮助加速机器学习的模型训练过程。

关于什么是OpenPAI,请参考介绍视频:微软开源GPU集群管理利器。

本文提供了简化的OpenPAI安装步骤。如果有更复杂的安装要求或部署环境,请参考官网。

准备工作

环境要求如下:

  1. 推荐Ubuntu 16.04 LTS(暂不支持CentOS等其它Linux系统)。
  2. 静态IP地址。
  3. 能够访问外网,可下载Docker Hub的镜像文件。
  4. 为集群中每台机器提供统一的用户名密码,并有sudo权限。
  5. 有统一的时间同步服务(默认即可)。
  6. 推荐干净环境进行安装。如果已经安装了Docker,API版本必须大于等于1.26。
  7. 各台计算机之间网络可达。

安装过程

1. 安装用于配置的docker

即管理、安装整个OpenPAI的docker(在官方文档中称为dev-box)。以后的管理、配置工作都会在这个docker中进行。

登录进某台计算机(可选用集群中的机器),确保有sudo权限。然后按顺序执行下列命令。

安装docker,如果安装有更新的版本可跳过。

sudo apt-get -y install docker.io
# 拉取,并启动dev-box
sudo docker run -itd -e COLUMNS=$COLUMNS -e LINES=$LINES -e TERM=$TERM -v /var/lib/docker:/var/lib/docker -v /var/run/docker.sock:/var/run/docker.sock -v /pathHadoop:/pathHadoop -v /pathConfiguration:/cluster-configuration  --pid=host --privileged=true --net=host --name=dev-box docker.io/openpai/dev-box# 登录dev-box
sudo docker exec -it dev-box /bin/bash

2. 配置安装环境

以下脚本需要修改一下安装环境相关的信息。machines表示GPU集群的服务器IP,ssh-username和ssh-password分别代表登录这些服务器要用到的用户名、密码。

注意:第一台会作为master节点,其余节点作为worker。关于master/worker可参考视频介绍。暂时推荐不要用GPU服务器做master角色,或将worker角色部署到master上,因为这样可能会造成资源紧张,从而造成master进程的内存不够用。所以,master节点可以用没有GPU的服务器,推荐8核16G或以上配置。

cd /pai/pai-managementcat << EOF > quick-start.yaml
machines:- 192.168.1.2- 192.168.1.3ssh-username: <用户名>
ssh-password: <密码>
EOFCONFIG_PATH=/cluster-configuration
rm $CONFIG_PATH/*

3. 安装节点

根据quick-start的基本信息,在/cluster-configuration目录中生成配置文件。配置文件的具体内容可参考github,这里就不详细介绍了。

python paictl.py cluster generate-configuration -i quick-start.yaml -o $CONFIG_PATH

安装kubenetes

python paictl.py cluster k8s-bootup -p $CONFIG_PATH

安装并启动OpenPAI相关服务

python paictl.py service start -p $CONFIG_PATH

运行最后一步时,如果网速很慢或服务器很多,有可能会花一天。完成后,即可在浏览器中试着访问第一台服务器的web地址。因为服务器还需要启动一会儿,可能并不能马上看到结果。等一会儿,或者多试几次即可。

默认的用户名、密码如下,可点击右上方的login连接登录。建议第一时间改掉。

admin
admin-password

好了!大功告成!

可以参考github中的任务模板来配置自己的任务模板。也可以看看Github中的文档来探索更多高级功能。接下来就可以看看前面的介绍视频来学习如何从Tools for AI来提交任务了。

如果集群比较小,可以给集群去掉end-to-end测试用例,从而节省资源。(参考常见问答)

常见问题

遇到问题,可在官网提交Issue。

如何删除end-to-end测试任务?

如果没有足够的服务器资源,建议在部署过程中删除掉end-to-end测试。否则,它会定期进入队列,以测试系统是否可用。在dev-box中运行:

python paictl.py service delete -p $CONFIG_PATH -n end-to-end-test

安装过程中出现 ... is not ready yet. Please wait for a moment!,该怎么办?

这种一般是网络问题造成的,可以进入以下网址(注意替换master IP),将出现pull image错误的pods删掉,加快Kubernetes重新pull的速度。

http://<替换成master的IP>:9090/#!/pod?namespace=default

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/500334.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python调用ansysworkbench_Workbench通过Python设定材料参数

微信公众号&#xff1a;CAE技术分享以下一段代码是在Workbench中通过Python设定材料的弹性模量和泊松比参数&#xff1a;# encoding: utf-8# Release 16.0SetScriptVersion(Version"16.0.361")template1 GetTemplate(TemplateName"EngData")system1 temp…

现代软件工程 结对/团队作业 - 汉字的 2048 + 俄罗斯方块

一个很有趣的软件工程/编程作业&#xff0c;如果把汉字构成的规律运用在 2048 俄罗斯方块这样的游戏中&#xff0c;会有什么效果呢? (链接1&#xff0c; 链接2) 既然是软件工程的作业&#xff0c; 那就要体现出一些工程的特性&#xff1a; 作业要求&#xff1a; 1) 学生自行…

invoke 按钮点击_h5+ app内点击按钮实现复制功能 实现方法

在项目中由于要实现点击按钮复制功能&#xff0c;我用的是H5APP&#xff0c;实现代码如下(包括安卓IOS)&#xff1a;/*** //参数copy是要复制的文本内容* tip 复制成功后的提示语&#xff0c;可空*/function copy_fun(copy,tips) {if(!tips){tips"已成功复制到剪贴板"…

机器学习平台建设

本文从机器学习平台的架构开始&#xff0c;再到具体的功能&#xff0c;然后从需求的角度带给读者思考&#xff0c;找到合适的机器学习平台建设之路。最后&#xff0c;推荐了微软开源开放的机器学习平台OpenPAI&#xff0c;是可私有部署的机器学习训练平台。 本文不少要点都可以…

型管件的作用_管道工程基础 - 管件和管道附件的布置规定

概述1.1 管件的用途1.2 管件的种类根据管件的端部连接形式可将管件分为对焊连接管件、承插焊连接管件、螺纹连接管件、法兰连接管件以及其它管件。管件和管道附件的布置2.1管件的布置(1)弯头宜选用曲率半径等于1.5倍公称直径的长半径弯头&#xff1b;输送气固、液固两相流物料的…

现代软件工程 作业汇总

文档属于这个专栏&#xff1a; ​​​​​​现代软件工程讲义 目录_SoftwareTeacher的博客-CSDN博客 备份&#xff1a;现代软件工程课程 参考&#xff1a;各个学校的编程/软工作业列表 ------- 软件工程的作业 ------- 很多老师反映软件工程的作业题不好出&#xff0c;学生做的…

现代软件工程 作业 第一周博客作业

(软件工程作业汇总) 第一周的博客作业 (这是历届学生的练习中&#xff0c; 从各个老师的作业中汇集而来&#xff0c;特别是北航的作业&#xff0c;东北师大的作业) 1. 介绍自己&#xff0c;建博客 在 http://www.csdn.net 建账号。关注老师和助教&#xff0c;关注一些和你一起…

java grpc 客户端处理 go 服务端多返回值_grpc基础实践(二)

在此篇中我们将简要介绍关于grpc对java客户端的实现。在开始开发前&#xff0c;我们需要先导入io.grpc grpc-netty 1.11.0io.grpc grpc-protobuf 1.11.0io.grpc grpc-stub 1.11.0如果是Android除了这几个包外&#xff0c;你可能还需要一个javax.annotation:javax.annotation-ap…

现代软件工程 作业 团队第一个作业

这是现代软件工程作业系列的一部分 1. 团队成员介绍 介绍每个成员(照片&#xff0c;主页&#xff0c;技术特长&#xff0c;在团队中担任的角色)。 建议拍一张有创意的合影。 在介绍的时候&#xff0c;可以采用艺术照等形式&#xff0c; 保护同学的隐私&#xff0c;不想说明真实…

asp.net 文本框显示xml格式数据_Excel 办公小技巧,查找和替换数据,您值得拥有...

在数据处理的过程中&#xff0c;有时需要在工作表中查找一些数据&#xff0c;以便查看或修改数据。若工作表的数据能一目了然&#xff0c;则可手动进行查找&#xff0c;但在记录繁多的工作表中查找所需数据并替换&#xff0c;效率比较低&#xff0c;而且极易出现遗漏。这时就可…

webpack打包后的文件夹是空的_vue+webpack 打包文件 404 页面空白的解决方法

{"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],"search_count":[{"count_phone":4,"count":4}]},"card":[{"des":"阿里云文件存储NAS是一个可共享访问&#xf…

微软认知服务应用秘籍 – 与机器人聊知识

在本篇博客中&#xff0c;我们将会学习到零代码情况下&#xff0c;如何利用已有的技术建立自己的知识问答系统&#xff0c;这种系统的可以广泛适用于学校、企业、客服、政府公开信息等领域&#xff0c;代替传统的电话咨询、电子邮件沟通等高人工负荷的方式。 建立知识库 什么…

.net 开发怎么实现前后端分离_ASP.NET Core模块化前后端分离快速开发框架介绍

源码地址GitHub&#xff1a;https://github.com/iamoldli/NetModular演示地址地址&#xff1a;http://118.24.75.170:6220/账户&#xff1a;admin密码&#xff1a;admin前端框架演示地址(临时)地址&#xff1a;http://progqx5cu.bkt.clouddn.com/skins/index.html#/账户&#x…

微软认知服务应用秘籍 – 支持跨平台客户端的视觉服务中间层

不断演进的应用场景 初级应用场景—宅在家里 场景&#xff1a;Bob同学有一天在网上看到了一张建筑物的图片&#xff0c;大发感慨&#xff1a;"好漂亮啊&#xff01;这是哪里&#xff1f;我要去亲眼看看&#xff01;"Bob同学不想问别人&#xff0c;可笑的自尊心让他…

python建立列表并输入_python操作列表

遍历列表 for magic = [a,b,c] for m in magic: print(m) 输出控制台 image.png 深入for以及for之后进行操作 for m in magic: print(m.title()+ good boy) print(hahaha) 输出控制台 image.png 创建数值列表 使用函数range for value in range(1,5): print(value) 输出控制台 …

现代软件工程 作业 原型设计

[ 现代软件工程 作业系列] [ 这个作业来自福州大学 ] 软件工程课不是大家埋头写程序的课&#xff0c; 而是教给大家在软件需求 - 设计 - 实现 - 测试 - 维护 过程中的原理&#xff0c;方法和工具。下面我们就看如何用原型设计工具来帮助我们理清用户需求。 一、阅读《构建之法…

就业技术书文件表格_429页标准指南,教你如何管理工程监理文件资料,丰富图表一看就会...

房屋建筑工程监理文件资料的管理&#xff0c;参差不齐&#xff0c;也给监理工作带来了很大障碍。这份房建工程监理文件资料管理标准指南&#xff0c;能够帮助广大监理和资料员们实现监理文件资料标准化管理&#xff0c;能够有效地补充和支撑现场监理工作&#xff0c;对于工程资…

微软认知服务应用秘籍 – 君子动口不动手

概述 科技的不断发展带动着人们生活质量不断的提升&#xff0c;其中一方面就体现在日常家庭生活中&#xff0c;智能设备层出不穷&#xff0c;给人们的生活带来了很大的便利。 以电视为例&#xff0c;几十年前的电视还是按钮式的&#xff0c;每次换台还要跑到电视跟前&#xf…

一阶广义差分模型_经济学中的序列相关(自相关)

序列相关性异方差性表现于模型的随机误差项。我们将讨论模型的随机误差项违背了互相独立的基本假设的情况&#xff0c;称为序列相关性。序列相关性同样表现于模型的随机误差项。一、序列相关性(Serial Correlation )对于模型i1,2,…,n随机误差项互相独立的基本假设表现为&#…

AI应用开发实战 - 手写算式计算器

扩展手写数字识别应用 识别并计算简单手写数学表达式 主要知识点 了解MNIST数据集了解如何扩展数据集实现手写算式计算器 简介 本文将介绍一例支持识别手写数学表达式并对其进行计算的人工智能应用的开发案例。本文的应用是基于前文“手写识别应用入门”中的基础应用进行扩…