人工智能实战_第七次做业(2)_陈泽寅

16071070 _ 陈泽寅 _ 第七次做业_黄金点游戏:

1、简要概述

项目 内容
课程 人工智能实战2019
做业要求 做业要求
我在这个课程的目标是 了解人工智能理论,提高coding能力
这个做业在哪一个具体方面帮助我实现目标 理解算法本质,提高创新思惟

2、做业内容

  • 学习OpenPAI的使用:
    学习文档,并提交OpenPAI job,将体验心得造成博客,选题方向能够是:
    1. 介绍OpenPAI,以及使用心得体会,给出文档或者功能等方面的意见和建议
    2. 将OpenPAI与其余机器学习平台进行对比或评测
  • 学习NNI的使用
    学习文档,并使用NNI进行调参或架构调整,将体验心得造成博客,选题方向能够是:
    1. 介绍NNI,本身的心得体会,为NNI提建议或问题,包括文档功能等
    2. 将NNI与本身了解的其余自动机器学习工具比较或评测

3、介绍OpenPAI

一:简介算法

  • OpenPAI是由微软亚洲研究院和微软(亚洲)互联网工程院联合研发的,支持多种深度学习、机器学习及大数据任务,可提供大规模GPU集群调度、集群监控、任务监控、分布式存储等功能,且用户界面友好,易于操做。
    OpenPAI的架构以下图所示,用户经过Web Portal调用REST Server的API提交做业(Job)和监控集群,其它第三方工具也可经过该API进行任务管理。随后REST Server与Launcher交互,以执行各类做业,再由Launcher Server处理做业请求并将其提交至Hadoop YARN进行资源分配与调度。能够看到,OpenPAI给YARN添加了GPU支持,使其能将GPU做为可计算资源调度,助力深度学习。其中,YARN负责做业的管理,其它静态资源(下图蓝色方框所示)则由Kubernetes进行管理。json

二: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集群中。

三:使用心得网络

  • 该平台集成能力强劲,运算资源丰富,使用方便。
  • 平台实现了与Visual Studio Tools for AI等开发工具的深度集成,用户能够一站式进行AI开发。
  • 提供丰富的运营、监控、调试功能,下降运维复杂度
  • 稳定性不够

4、介绍NNI

一、简介架构

  • NNI (Neural Network Intelligence) 是微软开源的自动机器学习工具包,与当前的各类自动机器学习服务或工具相比,有很是独特的价值。NNI着力解决超参调试过程的挑战,经过内置的超参选择算法、算力的强大支持和便捷的交互方式来加速和简化超参搜索的过程。

二、特色框架

  • 安装简洁:经过pip命令就能完成安装;
  • 支持私有部署,用本身的计算资源就能进行自动机器学习;
  • 支持分布式调度:NNI 能够在单机上进行试验,还支持多种分布式调度平台,如经过 SSH 控制多台 GPU 服务器协同完成试验,或经过OpenPAI, Azure, Kubernetes等在独立的 Docker 中运行;
  • 对超参搜索的底层支持:大部分自动机器学习服务与工具的服务都是针对于图片分类等特定的任务。而NNI经过让用户提供训练代码和超参搜索范围, 依靠NNI内置算法和训练服务来搜索最佳的超参和神经架构,NNI为有必定模型训练经验的用户提供更加通用的调参方式,便于用户作出更多尝试、决策和加入思考,并完整参与整个训练过程;
  • 随库自带众多实例和流行的调参算法;
  • 架构简洁、对开发和扩展及其友好。

三、使用方法运维

  • 首先使用json文件定义超参数的搜索空间,搜索空间包括搜索的变量名、搜索的类型和搜索的值范围。在实验代码中引入nni包,并以几行代码加入nni的参数传递和结果回传便可将nni与实验代码结合起来。经过yaml配置文件来定义实验。再经过nnictl create命令来进行运做。
相关文章
相关标签/搜索