人工智能實戰_第七次做業(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命令來進行運做。
相關文章
相關標籤/搜索