當前位置:
首頁 > 最新 > 重新定義的AI開發者工具——英特爾首款Movidius神經計算棒

重新定義的AI開發者工具——英特爾首款Movidius神經計算棒

如果你家裡買了掃地機器人,又恰好「不幸」是位「鏟屎官」,那你家裡每天都一定很熱鬧:掃地機器人每次遇到你的貓,總是想把它也「清掃」掉,一場「貓機大戰」一觸即發……

GIF/1230K

圖片來自網路

在以前,我們的設備高度依賴於人,然而這些設備卻沒有辦法實時地做出智能、正確的反應。在如今的人工智慧時代,在設備邊緣如何才能做到呢?

有預測說,從現在到2020年,人類社會將會有500億個設備聯網,這意味著我們會有更多的數據需要處理,會有更大的流量進入雲中,30年後我們腳上的鞋的智能程度可能會比我們的大腦還要高。

今天IoT的部署帶來了很多問題,諸如帶寬、時延、可靠性和安全性。基於雲的模型很難解決這些問題,那麼我們如何才能從雲中分流,帶來更多實時性,帶來與「人的智能」同級別的設備?Movidius神經計算棒的誕生,就是為了解決這個問題。

在2017年9月4日舉辦的英特爾人工智慧端到端技術研討會和9月7日英特爾創新加速器聯合微能創投加速器在英特爾機器人創新中心共同舉辦的Movidius神經計算棒閉門研討會上,英特爾新技術事業部Movidius神經計算棒產品市場經理 Kathleen Kallot女士英特爾新技術事業部應用架構師 Ashwin Vijayakumar先生聯袂為大家詳細介紹了這款產品,以下為演講實錄精華版。

首先是Kathleen Kallot女士對於Movidius神經計算棒的介紹:

英特爾新技術事業部Movidius神經計算棒產品市場經理 Kathleen Kallot女士

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,可以幫助你訓練自己的網路,但是有一點一定要確保,它必須要與所支持的計算層相匹配。

精彩問答

Q

在提到NCS的時候經常會與圖像處理、視頻處理相提並論,能否理解為NCS基本上是用於圖像處理的?

A

是的。VPU在NCS當中的晶元主要是針對圖像處理,具體的方法是基於深度神經網路進行圖像識別。但是它也並不僅僅限於圖像處理,可以把NCS用於數學計算、基因計算等等,只要是卷積神經網路以及滿足不同層就可以。除了矢量處理單元還有硬體加速單元,可以非常有效地調優並且進行圖像識別處理。

Q

在移動平台上有沒有類似的相關應用?在訓練之後能不能用自己的手機,藉助Movidius識別手機拍攝的照片。

A

NCS就是一個硬體,只需要一個USB介面連接主機。你可以使用具有Type-C介面的手機,通過擴展器再連一個USB介面,這樣就可以識別接入的設備(有些手機可能並不支持)。從軟體角度來說,目前NCS需要基於Linux系統的主機,官方還沒有對連接手機的支持,但是開發者其實是有方法可以做到的。

本文轉自:英特爾創新加速器

END

GIF/86K

對接產業商機

分享行業乾貨


點擊展開全文

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 機器人創新生態 的精彩文章:

TAG:機器人創新生態 |