毫無疑問,神經網絡變得越來越流行,在各式各樣的產品中都可以找到它的相關應用。它們會根據你的興趣自動調整社交多媒體內容、讓照片顯示更加好看、在AR/VR頭戴設備中增強檢測和眼球追蹤功能。
在智慧監控領域,它可以應用于安全保障、提供增強的面部識別功能、群體行為分析等。在網上支付系統中,它對于詐騙行為的檢測也比人類更加強大。神經網絡也將應用到無人駕駛汽車系統中,借以避免碰撞事故的發生,實現無人機運送包裹,此外最近比較受大家關注的就是以臉部辨識來解鎖手機了。
神經網絡專用硬體需求高
為了能夠實現如此眾多的功能,神經網絡首先需要經過訓練,這通常需要強大的伺服器硬體提供支援。物體識別的實現其實就是不斷地進行推斷和對比,而且需要即時的方式來完成。當然神經網絡越大,需要的運算量就越大,也需要更高水準的性能支援,尤其在行動應用方面。盡管神經網絡推斷引擎可以在CPU上運行,但是它們通常采用GPU,利用其強大的平行運算特性,以求更快處理神經網絡運算。然而為了在嚴格的功耗下滿足下一代性能要求,專用的神經網絡加速硬體則是必需的。
這對硬體來說是一個自然演進過程。從早期的桌面PC游戲到街機游戲機,到后來的家庭游戲機以及移動設備端等,PowerVR一直都與圖形技術密切相關,除此之外,PowerVR還擁有包括電腦視覺和AI應用的系列IP產品。原本早期的桌面處理器甚至沒有整合數學運算輔助處理器模組,無法在游戲類應用軟體中提供浮點數運算加速功能,然后自20世紀80年代這種功能已經成為CPU設計的標準。在20世紀90年代以后,CPU整合了記憶體快取以進一步提升性能,不久GPU也被整合于其中。隨后在2010年代出現了專用于編解碼的ISP(圖像訊號處理)和硬體設備,以實現流暢的視訊重播。現在輪到神經網絡擁有專用的晶片了(圖1)。
圖1 嵌入式系統的演進
將神經網絡運算轉移到終端
2017年9月21日PowerVR在中國首發一項全新的IP產品—硬體神經網絡加速器PowerVR 2NX。命名為神經網絡加速器(NNA),乃是基于其能夠支援多種神經網絡模型和架構以及機器學習框架,并具備高性能和低功耗特性。
在很多案例中,神經網絡的推斷處理過程是放在云端伺服器強大的硬體上來執行的,但是由于多種原因這部分工作現在需要轉移到終端硬體設備上來,有些應用必須要快速的回應。由于延遲問題,通過網絡運行神經網絡是不切實際的,轉移到終端設備上來能夠消除可能發生的安全問題。況且蜂巢網絡(3G、4G、5G)也不是在任何情況下都可行,終端專用的硬體設備則更加可靠,除了能夠提供更強大的性能,還能大幅減少系統功耗。
舉個例子,無人機的飛行速度一般會超過150mph(67公尺/秒),沒有硬體的情況下,它需要檢測前面10~15公尺范圍內的障礙物以避免碰撞(圖2)。由于延遲、頻寬和網絡的可靠性等因素,采用云端伺服器的方式在運作上會出現問題。采用終端硬體解決方案比如PowerVR 2NX,無人機可以運行多個神經網絡,能夠在1米范圍內即時識別和追蹤前方的障礙物。如果想借助無人機傳遞包裹或者以獨特的視角觀看各種體育運動,神經網絡硬體輔助則必不可少。
圖2 無人機就是一個案例,采用神經網絡硬體加速可實現更快更高效的碰撞檢測。
如今智慧手機保存了太多我們的照片,一般會有1,000張或者更多,手機系統可以采用不同的方式自動進行排序,比如識別出包含某個人的所有照片,這個過程需要大量的分析運算,一款旗艦級的GPU運行神經網絡處理過程可能需要60秒,但是采用PowerVR 2NX則僅需要2秒鐘(圖3)。
圖3 PowerVR 2NX能夠為行動設備提供高速的圖片處理功能,同時保持低功耗。
同時還要考慮電池使用時間。GPU處理大約2,400張照片會使用1%的電量,而消耗同樣的電量PowerVR 2NX能夠處理大約428,000張圖片。低功耗特性支援更多新的應用場景,比如智慧監控。2NX能支援采用終端硬體平臺進行分析處理,比如部署在城市中心、體育場內的攝影機或者智慧家庭安全系統等都有其相關應用。因為2NX支援不同的網絡類型,可以做出更智慧的決策,減低了錯誤發生的機率。由于其低功耗特性,這些攝影機都可以采用電池驅動,方便了部署和管理。
靈活的位元數支援
為了支援不同的應用案例,2NX NNA進行了全面的設計,支援高效的神經網絡推理過程。是什么讓2NX硬體加速器有別于其他的神經網絡解決方案(DSP/GPU)?首先2NX超低功耗利用了在行動平臺設計方面的經驗,第二個是靈活的位元數支援,更重要的是每個推理層都具備此特性。神經網絡訓練通常采用32位元全精度,但是這樣無疑會需要更高的頻寬、更多的功耗,這對于行動設備的功耗要求顯然是不允許的,盡管硬體設備有足夠的性能支援神經網絡的運作,但這對電池的使用壽命會有很大的沖擊。
為了解決這個問題,2NX為權重和資料提供可變的位元數支援,這樣就能夠在保持較高推理精度的同時大大降低對頻寬的要求,功耗要求也隨之減少。
與其他解決方案不同,其降低位元數要求并不是采用硬性的方法,而是在每個分層都可以靈活配置權重和資料的位元寬,因此開發者可以全面優化訓練網絡的性能。而且不光要保持精度還要保持精確性,最終得以在更低的頻寬和功耗的情況下提供更高的性能(圖4)。
圖4 PowerVR 2NX神經網絡加速器實現靈活的配置權重和精度
實際上2NX需要的頻寬僅是其他競爭解決方案的25%左右,在某些應用場景從8位元位寬降低到4位元位寬精度,2NX消耗的功耗則降為69%,但是精確度的降低卻不足1%。
強化必要性能
最近某個智慧手機制造商宣布其硬體平臺支援人臉檢測并可用于解鎖手機,相當于每秒6,000億次的推理操作。PowerVR 2NX單核IP運作在保守頻率800MHz,能提供2,048 MACs/cycle(產業標準性能指標)操作,意味著每秒3.2萬億次推理操作—相當于最有競爭力的對手的兩倍。2NX是一個高度可擴充的解決方案,如果需要更高的性能,則可以使用更多的核心。
2NX非常強大,在非常小的面積上能夠提供業界最高的推理/mm2指標。實際上在SoC中,PowerVR GPU結合NNA的解決方案,相比競爭對手純GPU解決方案占用更少的晶片面積,當然2NX可以單獨使用,不必結合GPU,CPU也僅僅是用于驅動。
2NX IP同樣具備儲存管理單元(MMU),可以應用于Android和其他復雜的作業系統(OS)中,而且不需要整合額外的晶片或者其他復雜的軟體。
支援不同網絡類型/模型/框架/ API
神經網絡涉及各種各樣的形式和特性,如何選用很大程度上依賴于要實現的系統功能。2NX NNA支援多種形式的神經網絡,包括卷積神經網絡(CNN)、多層感知器(MLP)、遞回神經網絡(RNN)和SSD物體檢測框架。目前2NX支援主要的神經網絡框架,比如Caffe和TensorFlow,對于其他框架的支援也在持續開發中(圖5)。
圖5 PowerVR 2NX于神經網絡運算架構中的位置
使用優化轉換和調優工具,結合深度神經網絡(DNN)API,開發者能夠快速部署他們所選擇的網絡框架并且運行PowerVR NNA加速器。PowerVR長久以來一直在支援Android系統,當Google發布Android神經網絡API后,2NX也將全面支援。當然開發者也可以采用現在的工作流程開發行動App原型,然后使用DNN API與2NX進行配對,實現應用系統加速和功耗降低。
隨著我們的世界與電腦的關系越來越密切,機器也會更加地理解這個世界,PowerVR 2NX NNA代表的是神經網絡加速和性能的一個轉捩點,具有在產業內最高的「推理/milliwatt」和「推理/mm2」性能指標,能夠滿足在行動硬體平臺部署神經網絡之功耗和性能約束條件的IP解決方案。除此之外PowerVR NNA還支援主要的神經網絡和框架,結合DNN API使得PowerVR 2NX成為驅動未來神經網絡應用的解決方案。
-
神經網絡
+關注
關注
42文章
4771瀏覽量
100712 -
面部識別
+關注
關注
1文章
375瀏覽量
26632 -
powervr
+關注
關注
0文章
98瀏覽量
31061
發布評論請先 登錄
相關推薦
評論