人工智能实战2019_第七次作业(1)_蔺立萱

||||
|:--|:--|:--|:--|:--|:--|:--|:--|:--|:--|:--|
|项目|内容
|课程链接| 人工智能实战 2019(北京航空航天大学)
|第七次作业要求|第七次作业:学习OpenPAI和NNI的使用
|我的课程目标|熟练掌握python语言,神经网络相关应用,实操项目
|本次作业的帮助|学习OpenPAI和NNI的使用
|我的github账户|linlixuan

1、题目

1.学习OpenPAI的使用:
学习文档,并提交OpenPAI job,将体验心得形成博客,选题方向可以是:

  1. 介绍OpenPAI,以及使用心得体会,给出文档或者功能等方面的意见和建议
  2. 将OpenPAI与其他机器学习平台进行对比或评测

2.学习NNI的使用
学习文档,并使用NNI进行调参或架构调整,将体验心得形成博客,选题方向可以是:

  1. 介绍NNI,自己的心得体会,为NNI提建议或问题,包括文档功能等
  2. 将NNI与自己了解的其他自动机器学习工具比较或评测

2、OpenPAI

随着人工智能技术的快速发展,各种深度学习框架层出不穷,为了提高效率,更好地让人工智能快速落地,很多企业都很关注深度学习训练的平台化问题。例如,如何提升GPU等硬件资源的利用率,如何节省硬件投入成本,如何支持算法工程师更方便的应用各类深度学习技术,从繁杂的环境运维等工作中解脱出来。OpenPAI为深度学习提供一个深度定制和优化的人工智能集群管理平台,让人工智能堆栈变得简单、快速、可扩展。

● 为深度学习量身定做,可扩展支撑更多AI和大数据框架

通过创新的PAI运行环境支持,几乎所有深度学习框架如CNTK、TensorFlow、PyTorch等无需修改即可运行;其基于Docker的架构则让用户可以方便地扩展更多AI与大数据框架。

● 容器与微服务化,让AI流水线实现DevOps

OpenPAI 100%基于微服务架构,让AI平台以及开发便于实现DevOps的开发运维模式。

● 支持GPU多租,可统筹集群资源调度与服务管理能力

在深度学习负载下,GPU逐渐成为资源调度的一等公民,OpenPAI提供了针对GPU优化的调度算法,丰富的端口管理,支持Virtual Cluster多租机制,可通过Launcher Server为服务作业的运行保驾护航。

● 提供丰富的运营、监控、调试功能,降低运维复杂度

PAI为运营人员提供了硬件、服务、作业的多级监控,同时开发者还可以通过日志、SSH等方便调试作业。

● OpenPAI的架构如下:用户通过Web Portal调用REST Server的API提交作业(Job)和监控集群,其它第三方工具也可通过该API进行任务管理。随后Web Portal与Launcher交互,以执行各种作业,再由Launcher Server处理作业请求并将其提交至Hadoop YARN进行资源分配与调度。可以看到,OpenPAI给YARN添加了GPU支持,使其能将GPU作为可计算资源调度,助力深度学习。其中,YARN负责作业的管理,其它静态资源(下图蓝色方框所示)则由Kubernetes进行管理。

● OpenPAI平台操作简单,但是对于没有提供好集群IP的用户来说需要用docker安装PAI,过程稍复杂。线上训练需要排队,掉线后无法及时准确恢复。


3、NNI

NNI (Neurol Network Intelligence) 是微软开源的自动机器学习工具。与当前的各种自动机器学习服务或工具相比,有非常独特的价值。

● NNI 支持私有部署。整个部署也很简单,使用 pip 即可完成安装。
支持私有部署。云服务中的自动机器学习直接提供了自动机器学习的服务,不仅包含了自动机器学习的功能,也包含了算力。如果团队或个人已经有了很强的算力资源,就需要支持私有部署的自动学习工具了。

● 分布式调度。NNI 可以在单机上完成试验,也支持以下两种分布式调度方案:

GPU 远程服务器。通过 SSH 控制多台 GPU 服务器协同完成试验,并能够计划每个试验所需要的 GPU 的数量。
OpenPAI。通过 OpenPAI,NNI 的试验可以在独立的 Docker 中运行,支持多样的实验环境。在计算资源规划上,不仅能指定 GPU 资源,还能制定 CPU,内存资源。
超参搜索的直接支持。当前,大部分自动机器学习服务与工具都是在某个任务上使用,比如图片分类。这样的好处是,普通用户只要有标记数据,就能训练出一个高质量的平台,不需要任何模型训练方面的知识。但这需要对每个训练任务进行定制,将模型训练的复杂性包装起来。

● 与大部分现有的自动机器学习服务与工具不同,NNI 需要用户提供训练代码,并指定超参的搜索范围。这样的好处在于,NNI 几乎是通用的工具,任何训练任务都可以使用 NNI 来进行超参搜索。但另一方面,NNI 的通用性,也带来了一定的使用门槛,使用 NNI 需要有基本的模型训练的经验。

posted on 2019-05-13 16:45  linlixuan00  阅读(192)  评论(0编辑  收藏  举报

导航