怎樣可以將深度學(xué)習(xí)引入物聯(lián)網(wǎng)前端設(shè)備
掃描二維碼
隨時(shí)隨地手機(jī)看文章
機(jī)器學(xué)習(xí)正快速成為物聯(lián)網(wǎng)(IoT)設(shè)備不可分割的特征。家用電器開始裝備可以智能地回應(yīng)自然語音的語音驅(qū)動(dòng)接口。機(jī)器人開始通過智能手機(jī)相機(jī)上的演示視頻學(xué)習(xí)如何在工廠車間移動(dòng)材料并為其他機(jī)器編程……
如何優(yōu)化功率、性能和面積
機(jī)器學(xué)習(xí)正快速成為物聯(lián)網(wǎng)(IoT)設(shè)備不可分割的特征。家用電器開始裝備可以智能地回應(yīng)自然語音的語音驅(qū)動(dòng)接口。機(jī)器人開始通過智能手機(jī)相機(jī)上的演示視頻學(xué)習(xí)如何在工廠車間移動(dòng)材料并為其他機(jī)器編程。同時(shí),智能手機(jī)變得更加智能。這些應(yīng)用都充分利用了迄今為止最為成功的復(fù)雜多維數(shù)據(jù)人工智能體系結(jié)構(gòu)——深度神經(jīng)網(wǎng)絡(luò)(DNN)。
智能進(jìn)入前端設(shè)備
到目前為止,嵌入式系統(tǒng)DNN技術(shù)應(yīng)用的一個(gè)難題一直是它對(duì)計(jì)算性能的高要求。在輸入數(shù)據(jù)被傳遞到經(jīng)過訓(xùn)練的DNN進(jìn)行識(shí)別和分析的推理階段,需要的運(yùn)算量雖然比訓(xùn)練階段少,但語音、視頻等流數(shù)據(jù)仍然需要每秒數(shù)十億次計(jì)算。因此,在很多情況下,處理被轉(zhuǎn)移到有足夠運(yùn)算能力的云端。但對(duì)于前端設(shè)備,這并非理想的解決方案。
自動(dòng)駕駛車輛和工業(yè)機(jī)器人等關(guān)鍵任務(wù),需要利用DNN實(shí)時(shí)識(shí)別物體的能力來提高態(tài)勢(shì)感知。但云計(jì)算存在延遲、帶寬和網(wǎng)絡(luò)可用性等問題。在此情況下,得不到云端實(shí)時(shí)響應(yīng)的風(fēng)險(xiǎn)是用戶無力承擔(dān)的。
隱私是另一個(gè)問題。盡管消費(fèi)者認(rèn)為智能揚(yáng)聲器等設(shè)備提供的語音幫助服務(wù)很方便,但他們也越來越擔(dān)心,如果他們的語音錄音被定期轉(zhuǎn)移到云端,可能導(dǎo)致個(gè)人信息的意外泄漏。隨著配備攝像頭的智能揚(yáng)聲器和可視機(jī)器人助手的出現(xiàn),這類擔(dān)憂將變得更加嚴(yán)重。為了安撫客戶,制造商正在研究如何將更多的DNN處理功能遷移到前端設(shè)備。他們所面臨的主要問題是DNN處理不適合傳統(tǒng)嵌入式系統(tǒng)的架構(gòu)。
常規(guī)嵌入式處理器不足以應(yīng)對(duì)DNN處理
對(duì)于低功耗設(shè)備,基于CPU和GPU的傳統(tǒng)嵌入式處理器無法有效地承擔(dān)DNN工作負(fù)載。物聯(lián)網(wǎng)和移動(dòng)設(shè)備對(duì)功率和面積有非常嚴(yán)格的限制,而高性能對(duì)于實(shí)時(shí)DNN處理是必要的。電源、性能和面積三要素(簡稱PPA)必須實(shí)現(xiàn)最優(yōu)化,才能應(yīng)對(duì)當(dāng)前的任務(wù)。
解決這些問題的一種方法是為可以訪問芯片內(nèi)置存儲(chǔ)器陣列的DNN處理提供硬件電路引擎。這種方法的問題是開發(fā)人員需要高度的靈活性。每個(gè)DNN設(shè)計(jì)的結(jié)構(gòu)都需要根據(jù)目標(biāo)應(yīng)用進(jìn)行調(diào)整。為語音識(shí)別設(shè)計(jì)和訓(xùn)練的DNN的卷積、合并和完全連接層的組合將不同于視頻用途的DNN。由于機(jī)器學(xué)習(xí)仍然是一項(xiàng)不斷發(fā)展的新興技術(shù),面向未來的解決方案必須具有靈活性。
另一種常用的方法是給標(biāo)準(zhǔn)處理單元添加矢量處理單元(VPU),這可以確保更高效的計(jì)算以及處理不同類型網(wǎng)絡(luò)的靈活性。但這仍然不夠。對(duì)于DNN處理而言,從外部DDR存儲(chǔ)器讀取數(shù)據(jù)是相當(dāng)耗電的任務(wù)。因此,為了確保整體解決方案,還必須考慮數(shù)據(jù)效率和內(nèi)存訪問。為了最大限度地提高效率、可擴(kuò)展性和靈活性,VPU只是AI處理器所需的關(guān)鍵模塊之一。
實(shí)現(xiàn)最佳帶寬和吞吐量
為了滿足這些要求,CEVA創(chuàng)造了一種架構(gòu),它既可以滿足DNN的性能挑戰(zhàn),又能保證處理各種嵌入式深度學(xué)習(xí)應(yīng)用所需的靈活性。 NeuPro AI處理器包括經(jīng)過優(yōu)化的專用深度神經(jīng)網(wǎng)絡(luò)推理硬件引擎,用于處理卷積、完全連接、激活和合并層。此外,它還利用功能強(qiáng)大的可編程VPU來處理未支持層類型和推理軟件執(zhí)行。該架構(gòu)與CEVA深度神經(jīng)網(wǎng)絡(luò)(CDNN)軟件框架配套,該框架可以以圖形化界面即時(shí)生成執(zhí)行。
圖1:NeuPro靈活的可擴(kuò)展架構(gòu)適用于各種AI應(yīng)用(:CEVA)
為了確保數(shù)據(jù)效率,CEVA-NeuPro架構(gòu)采用特別技術(shù)最小化存儲(chǔ)器訪問量并優(yōu)化數(shù)據(jù)在不同層之間的流動(dòng)。它完全支持即時(shí)傳播,并將所有中間網(wǎng)絡(luò)層保留在本地內(nèi)存中,從而實(shí)現(xiàn)最少的DDR訪問。它使用的另一種技術(shù)是通過盡量重復(fù)使用已加載數(shù)據(jù)來減少從本地內(nèi)存讀取數(shù)據(jù)。這些組件的結(jié)合創(chuàng)造了具有最佳PPA(高性能、低功耗和高面積效率)的完整DNN解決方案。
圖2:結(jié)合NeuPro引擎和NeuPro VPU的NeuPro AI處理器的結(jié)構(gòu)圖 (:CEVA)
更多的性能優(yōu)化通過對(duì)8位和16位運(yùn)算的兼容實(shí)現(xiàn)。某些計(jì)算需要16位運(yùn)算的準(zhǔn)確性。在其他情況下,使用8位計(jì)算可以獲得幾乎相同的結(jié)果,而且可以大幅減少工作量,從而降低功耗。 NeuPro引擎可以在這些操作之間實(shí)現(xiàn)均衡,從而使每個(gè)層都得到最佳執(zhí)行,實(shí)現(xiàn)兼具高精度和高性能的兩全其美的結(jié)果。
圖3:每層選擇8位或16位計(jì)算可確保最佳精度和性能(:CEVA)
經(jīng)過優(yōu)化的硬件模塊、VPU和高效內(nèi)存系統(tǒng)相結(jié)合,共同創(chuàng)造出靈活高效的可擴(kuò)展解決方案。此外,CDNN通過一鍵式網(wǎng)絡(luò)轉(zhuǎn)換和隨時(shí)可用的庫模塊實(shí)現(xiàn)簡化的開發(fā)。所有一切造就了一款性能全面的AI處理器,它賦予物聯(lián)網(wǎng)設(shè)備設(shè)計(jì)人員將本地化機(jī)器學(xué)習(xí)充分應(yīng)用到下一代產(chǎn)品中的能力。
來源;電子創(chuàng)新網(wǎng)