機械社區
標題: 最新AI開發工具--Movidius™神經計算棒 [打印本頁]
作者: 面壁深功 時間: 2017-9-19 08:21
標題: 最新AI開發工具--Movidius™神經計算棒
本帖最后由 面壁深功 于 2017-9-19 08:21 編輯
有預測說,從現在到2020年,人類社會將會有500億個設備聯網,這意味著我們會有更多的數據需要處理,會有更大的流量進入云中,30年后我們腳上的鞋的智能程度可能會比我們的大腦還要高。
今天IoT的部署帶來了很多問題,諸如帶寬、時延、可靠性和安全性。基于云的模型很難解決這些問題,那么我們如何才能從云中分流,帶來更多實時性,帶來與“人的智能”同級別的設備?
Movidius™神經計算棒的誕生,就是為了解決這個問題。
在2017年9月4日的Movidius™神經計算棒閉門研討會上,英特爾官方為大家詳細介紹了這款產品,以下為演講實錄精華版。
一、Movidius™神經計算棒是什么?
Movidius™神經計算棒是世界上首個基于USB模式的深度學習推理工具和獨立的人工智能加速器,可以用它來做樣機、調試并且驗證、部署AI網絡。基于低功耗及USB接口,它可以很輕松地被應用到各個行業,對于開發者來說使用也很方便,出差時可以直接放進你的上衣口袋。
當下熱門的人工智能設備,如安全攝像頭、VR、無人機、智能家居等等,都需要實時的圖象處理、機器視覺和人工智能,并且需要在很低的功率之下運行。而Movidius™神經計算棒內置的Myriad 2 VPU提供了強大且高效的性能,以便在設備上直接運行實時深度神經網絡(DNN),這使得各種人工智能應用都能離線部署,這也是英特爾豐富的軟件和硬件解決方案的一部分,是解決AI數據洪流所帶來的挑戰的利器。
二、Movidius™神經計算棒有哪些特性?
Movidius™神經計算棒的特性包括:可以支持深度神經網絡,可以做樣機調試和部署。它也可以把深度神經網絡部署在設備上運行,換句話說你可以在不聯網、不用云的前提下,實時執行推理或者物體鑒別、圖像鑒別,或者是每幀視頻的鑒別,甚至可以在同一個平臺上使用多個神經計算棒,讓你的應用在神經計算棒上實現,達到擴展性。所有這些都是通過USB實現,不需要任何外部的支持。
三、Movidius™神經計算棒兼容性如何?
Movidius™神經計算棒目前可以支持Ubuntu 16.04操作系統,但是它并不僅僅是一個硬件設備,作為一個良好的開發工具,要有很好的軟件支持,英特爾也為此做出了諸多努力,提供了一系列包括API在內的開發者工具包進行支持。
那么,英特爾為開發者們提供了哪些開發者工具?聽聽Ashwin Vijayakumar先生怎么說:英特爾新技術事業部應用架構師 Ashwin Vijayakumar先生。
四、Movidius™神經計算棒如何運行?
以前面提到的“貓機大戰”為例,想要解決這個問題,需要兩個部分:第一是訓練,第二是推理。
如果要進行訓練,你需要構建一個深度的神經網絡模型,讓機器可以鑒別出這是一只貓還是一只狗,還是地面的一個污跡。當構建好這個模型之后,就需要將其部署在一個低功耗的設備上,對實際的場景進行識別,這就是推理。于是,你把模型交給機器,機器會實時收到信息,并使用剛才提到的模型,把貓和需要清掃的垃圾區分開來,這就是NCS(即神經計算棒)的工作,而SDK會幫助開發者完成這樣的工作。
英特爾有不同解決方案來做模型訓練,你可以選擇使用FPGA、英特爾至強系列處理器來訓練你的網絡,完成訓練之后,就可以得到模型。通過調用SDK中的接口,可以方便的在主機(NCS所連接的計算機)與NCS之間通信。NCS利用訓練好的網絡模型計算出圖像分析的結果,并傳輸到主機上,完成推理工作。
開發者是否要完成所有設置工作?當然不用。 英特爾打造了模塊化設計,開發者選擇使用SDK的一小部分即可。
如果你是一個網絡架構師或者數字科學家,主要目標就是打造一個非常好的、經過完整優化的網絡來滿足一個特定應用的需求,這時有兩個工具可以為你提供很好的幫助:
首先是Profiler,它可以把你的模型進行提取,告訴你網絡中的每一層的執行,哪一層可以在NCS上進行,它會給你非常詳細的信息,包括帶寬,還有你的執行類型。如果說對這些層的性能在NCS上并不滿意,還可以進行一個回歸,回歸到之前的網絡上,然后再反向執行,在Profiler再一次執行,直到你對網絡性能滿意為止,并且完成了最后的優化。
當你的網絡架構已經完成,準備進入到下一階段時,Checker工具可以讓你盡可能接近于終端應用,比如說一張貓咪的照片放在NCS上,看它具體的性能表現怎么樣。
作為網絡架構師,你的工作就已經完成了,然后把后續工作交給你的同事。這時,一名應用工程師就要依賴于已經設定好的網絡,設計完的網絡集成到應用環境中,比如設計一個可以更好地規劃路線的智能吸塵器。
這時也有兩個工具可以幫上忙:第一個就是Compiler——使用者必須對之前完成的網絡架構文件進行轉碼。在使用Compiler時,你給它一個輸入,然后它就會有一個輸出,整個過程自動完成。
圖像文件必須加載到NCS當中,這時API框架就會發生作用——用戶可以把圖像文件加載到NCS上,這個操作在整個開發過程中只需要做一次就可以完成。系統重啟之后,繼續把圖像文件上傳到NCS中。在接下來的推理過程中,只需要抓取一個圖像放到NCS上,NCS就可以進行推理,有了這個文件,NCS就可以捕捉其他圖像幀,然后加以分析。以上所有工作都會在后臺完成,而CPU可以什么都不做,NCS則會識別圖像,會告訴你圖像上是貓是狗還是其他什么,它會給不同的可能性并進行權重的加權,然后你判斷這個答案的對錯,或是對它重新解讀。
英特爾提供的API框架十分豐富,支持C語言、Python等。
除此之外,產品現在已經支持了卷積神經網絡,但是必須在Caffe上進行訓練,不過馬上就可以支持其他框架了。為了幫助大家快速完成部署,并且啟動設計,在開發階段英特爾還把那些預訓練的網絡集成到了NCS當中,如GoogleNet、Alexnet、SqueezeNet,還有CaffeNet。
當然,上述的網絡僅僅是一小部分,之前談到的Profiler,可以幫助你訓練自己的網絡,但是有一點一定要確保,它必須要與所支持的計算層相匹配。
作者: 淡然 時間: 2017-9-19 11:23
很深奧,高大上。
作者: 韓寒11 時間: 2017-9-19 21:04
AI開發是IT行業下一個發展方向吧
作者: eaglejoe 時間: 2017-9-20 15:42
歡迎光臨 機械社區 (http://www.ytsybjq.com/) |
Powered by Discuz! X3.5 |