【干货】快速部署微软开源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-management

cat << EOF > quick-start.yaml
machines:
  - 192.168.1.2
  - 192.168.1.3

ssh-username: <用户名>
ssh-password: <密码>
EOF

CONFIG_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

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
### 回答1: 基于IPD的研发项目管理 IPD即“集成项目交付”,是一种新型的研发项目管理方法。它通过集中资源、贯彻流程、协同合作等手段,将各个部门、团队整合为一个统一的整体,实现整个项目的高效运转。 IPD的研发项目管理需要注意以下几点: 1. 清晰的项目目标 IPD的项目目标应当明确、具体、可衡量,同时需要跟企业的战略和业务需求相匹配,这样才能确保最终研发出来的产品和企业的长远发展相一致。 2. 精细的资源分配 IPD需要全面考虑项目中各项资源的使用情况,包括人员、物料、技术设备等,合理分配到每个阶段中,确保每个环节得到恰当的资源支持。从而发挥各方面的效率,达到更好的管理。 3. 强化沟通 在IPD的项目管理中,沟通是至关重要的。为了让项目团队有效协同,IPD需要统一的信息渠道,并且要求每个阶段的负责人及时更新进度、解决问题、分享经验等,确保整体进度的可控性。 4. 把控风险 IPD的项目管理需要时刻关注各种风险,包括技术风险、市场风险、成本风险等,提前识别并制定应对方案,及时跟踪进展,确保项目不受到重大影响。在整个研发流程中保持敏锐,及时做好措施。 5. 强化质量管理 IPD的项目管理需要强化对整个研发过程中各项质量标准的掌控力度,重视质量管理制度的完善,督促团队执行。保证不断优化和提升研发过程,以达到最终的产品质量和应用水平。 总之,IPD的研发项目管理要求整体沟通协调,聚合各类资源,把控风险并始终跟踪前进的进展,确保整个项目高效开展,能够在满足用户需求的前提下,实现商业价值的最大化。 ### 回答2: 基于IPD的研发项目管理是一种全新的项目管理方法,它为项目团队提供了高度的协作性和集体创造力。IPD是一种综合性的设计方法,旨在实现各方利益的协调、数据的共享和团队协作。 在IPD的管理下,项目团队成员必须高度协作,以便将他们的专业知识和技能汇集起来。他们必须共享数据,以确保每个人都能保持最新的信息。此外,团队成员必须从项目启动之初就开始工作,以确保项目在整个生命周期中保持良好的轨迹。 这个方法的最大优点是,它通过实现所有利益相关方的参与,将资源、权利和责任共享,从而实现的每一个利益相关方的成功。此外,该方法还支持可持续性和质量保证,为项目的成功提供了一个可靠的基础。 此外,基于IPD的研发项目管理还特别注重风险管理和决策制定,要求团队成员在进行任何重大决策之前,详细讨论和评估风险,并考虑其对项目成果的影响。这有助于减轻风险,并确保项目的成功。 总之,基于IPD的研发项目管理是一个非常有前途的项目管理方法,它鼓励大家合作、协作,促进团结和创造力。通过采用这种方法,项目团队可以从众多专家的知识和技能中受益,以实现最优结果。 ### 回答3: 基于IPD的研发项目管理是一种新型的项目管理方式,它将项目管理的各个方面统一整合起来,从而实现项目的高效协同和快速响应。IPD项目管理方法的核心是将设计、施工和建造三个阶段的过程中涉及到的所有工作人员、管理者、供应商和客户团队整合在一起,建立一个紧密连接的团队,共同完成项目。 在基于IPD的研发项目管理中,项目管理人员需要充分发挥领导能力,确保整个项目团队能够快速响应变化。同时,项目管理人员还需要掌握项目的风险管理和财务管理,为项目的成功实施提供有力保障。这就要求项目管理人员具备一定的发现、解决问题的能力,能够判断出项目的各种风险,及时解决问题,以确保项目能够按时实施。 基于IPD的研发项目管理需要所有团队成员都具备较高的协作能力,开展沟通和协作以及解决问题的能力。同时,在项目中需要充分利用现代化的技术手段,以加速项目实施的速度,改进传统的分散式管理模式。 综上所述,基于IPD的研发项目管理是一种全新的项目管理方式,它要求管理人员具备高度的领导能力、财务能力和风险管理能力。同时,项目中所有团队成员需要具备协作和沟通的能力,利用现代化的技术手段提高项目的效率和质量。这种管理模式已经被广泛应用到许多领域,成为众多企业管理重点的方向。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值