圖 SEQ Figure * ARABIC 1:從邊緣到云的數(shù)據(jù)傳輸
多級存儲器與模擬內(nèi)存內(nèi)計算完美融合,人工智能邊緣處理難題迎刃而解
發(fā)布時間:2020-07-13 來源:作者:Vipin Tiwari,Microchip嵌入式存儲器產(chǎn)品開發(fā)總監(jiān) 責(zé)任編輯:lina
【導(dǎo)讀】機(jī)器學(xué)習(xí)和深度學(xué)習(xí)已成為我們生活中不可或缺的部分。利用自然語言處理(NLP)、圖像分類和物體檢測實(shí)現(xiàn)的人工智能(AI)應(yīng)用已深度嵌入到我們使用的眾多設(shè)備中。大多數(shù)AI應(yīng)用通過云引擎即可出色地滿足其用途,例如在Gmail中回復(fù)電子郵件時可以獲得詞匯預(yù)測。
機(jī)器學(xué)習(xí)和深度學(xué)習(xí)已成為我們生活中不可或缺的部分。利用自然語言處理(NLP)、圖像分類和物體檢測實(shí)現(xiàn)的人工智能(AI)應(yīng)用已深度嵌入到我們使用的眾多設(shè)備中。大多數(shù)AI應(yīng)用通過云引擎即可出色地滿足其用途,例如在Gmail中回復(fù)電子郵件時可以獲得詞匯預(yù)測。
雖然我們可以享受到這些AI應(yīng)用帶來的益處,但這種方法導(dǎo)致隱私、功耗、延時和成本等諸多因素面臨挑戰(zhàn)。如果有一個能夠在數(shù)據(jù)來源處執(zhí)行部分或全部計算(推斷)的本地處理引擎,那么這些問題即可迎刃而解。傳統(tǒng)數(shù)字神經(jīng)網(wǎng)絡(luò)的存儲器功耗存在瓶頸,難以實(shí)現(xiàn)這一目標(biāo)。為了解決這一問題,可以將多級存儲器與模擬內(nèi)存內(nèi)計算方法結(jié)合使用,使處理引擎滿足更低的毫瓦級(mW)到微瓦級(μW)功率要求,從而在網(wǎng)絡(luò)邊緣執(zhí)行AI推斷。
通過云引擎提供服務(wù)的AI應(yīng)用面臨的挑戰(zhàn)
如果通過云引擎為AI應(yīng)用提供服務(wù),用戶必須將一些數(shù)據(jù)以主動或被動方式上傳到云,計算引擎在云中處理數(shù)據(jù)并提供預(yù)測,然后將預(yù)測結(jié)果發(fā)送給下游用戶使用。下面概述了這一過程面臨的挑戰(zhàn):
圖 SEQ Figure * ARABIC 1:從邊緣到云的數(shù)據(jù)傳輸
1. 隱私問題:對于始終在線始終感知的設(shè)備,個人數(shù)據(jù)和/或機(jī)密信息在上傳期間或在數(shù)據(jù)中心的保存期限內(nèi)存在遭受濫用的風(fēng)險。
2. 不必要的功耗:如果每個數(shù)據(jù)位都傳輸?shù)皆?,則硬件、無線電、傳輸裝置以及云中不必要的計算都會消耗電能。
3. 小批量推斷的延時:如果數(shù)據(jù)來源于邊緣,有時至少需要一秒才能收到云系統(tǒng)的響應(yīng)。當(dāng)延時超過100毫秒時,人們便有明顯感知,造成反響不佳的用戶體驗(yàn)。
4. 數(shù)據(jù)經(jīng)濟(jì)需要創(chuàng)造價值:傳感器隨處可見,價格低廉;但它們會產(chǎn)生大量數(shù)據(jù)。將每個數(shù)據(jù)位都上傳到云進(jìn)行處理并不劃算。
要使用本地處理引擎解決這些挑戰(zhàn),必須首先針對目標(biāo)用例利用指定數(shù)據(jù)集對執(zhí)行推斷運(yùn)算的神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練。這通常需要高性能計算(和存儲器)資源以及浮點(diǎn)算數(shù)運(yùn)算。因此,機(jī)器學(xué)習(xí)解決方案的訓(xùn)練部分仍需在公共或私有云(或本地GPU、CPU和FPGA Farm)上實(shí)現(xiàn),同時結(jié)合數(shù)據(jù)集來生成最佳神經(jīng)網(wǎng)絡(luò)模型。神經(jīng)網(wǎng)絡(luò)模型的推斷運(yùn)算不需要反向傳播,因此在該模型準(zhǔn)備就緒之后,可利用小型計算引擎針對本地硬件進(jìn)行深度優(yōu)化。推斷引擎通常需要大量乘-累加(MAC)引擎,隨后是激活層(例如修正線性單元(ReLU)、Sigmoid函數(shù)或雙曲正切函數(shù),具體取決于神經(jīng)網(wǎng)絡(luò)模型復(fù)雜度)以及各層之間的池化層。
大多數(shù)神經(jīng)網(wǎng)絡(luò)模型需要大量MAC運(yùn)算。例如,即使是相對較小的“1.0 MobileNet-224”模型,也有420萬個參數(shù)(權(quán)重),執(zhí)行一次推斷需要多達(dá)5.69億次的MAC運(yùn)算。此類模型中的大多數(shù)都由MAC運(yùn)算主導(dǎo),因此這里的重點(diǎn)是機(jī)器學(xué)習(xí)計算的運(yùn)算部分,同時還要尋找機(jī)會來創(chuàng)建更好的解決方案。下面的圖2展示了一個簡單的完全連接型兩層網(wǎng)絡(luò)。輸入神經(jīng)元(數(shù)據(jù))通過第一層權(quán)重處理。第一層的輸出神經(jīng)元通過第二層權(quán)重處理,并提供預(yù)測(例如,模型能否在指定圖像中找到貓臉)。這些神經(jīng)網(wǎng)絡(luò)模型使用“點(diǎn)積”運(yùn)算計算每層中的每個神經(jīng)元,如下面的公式所示:
多級存儲器與模擬內(nèi)存內(nèi)計算完美融合,人工智能邊緣處理難題迎刃而解(為簡單起見,公式中省略了“偏差”項)。
圖 SEQ Figure * ARABIC 2:完全連接的兩層神經(jīng)網(wǎng)絡(luò)
在數(shù)字神經(jīng)網(wǎng)絡(luò)中,權(quán)重和輸入數(shù)據(jù)存儲在DRAM/SRAM中。權(quán)重和輸入數(shù)據(jù)需要移至某個MAC引擎旁以進(jìn)行推斷。根據(jù)下圖,采用這種方法后,大部分功耗都來源于獲取模型參數(shù)以及將數(shù)據(jù)輸入到實(shí)際發(fā)生MAC運(yùn)算的ALU。從能量角度來看,使用數(shù)字邏輯門的典型MAC運(yùn)算消耗約250 fJ的能量,但在數(shù)據(jù)傳輸期間消耗的能量超過計算本身兩個數(shù)量級,達(dá)到50皮焦(pJ)到100 pJ的范圍。公平地說,很多設(shè)計技巧可以最大程度減少存儲器到ALU的數(shù)據(jù)傳輸,但整個數(shù)字方案仍受馮·諾依曼架構(gòu)的限制。這就意味著,有大量的機(jī)會可以減少功率浪費(fèi)。如果執(zhí)行MAC運(yùn)算的能耗可以從約100 pJ減少到若干分之幾pJ,將會怎樣呢?
消除存儲器瓶頸同時降低功耗
如果存儲器本身可用來消除之前的存儲器瓶頸,則在邊緣執(zhí)行推斷相關(guān)的運(yùn)算就成為可行方案。使用內(nèi)存內(nèi)計算方法可以最大程度地減少必須移動的數(shù)據(jù)量。這反過來也會消除數(shù)據(jù)傳輸期間浪費(fèi)的能源。閃存單元運(yùn)行時產(chǎn)生的有功功率消耗較低,在待機(jī)模式下幾乎不消耗能量,因此可以進(jìn)一步降低能耗。
圖 SEQ Figure * ARABIC 3:機(jī)器學(xué)習(xí)計算中的存儲器瓶頸
來源:Y.-H. Chen、J. Emer和V. Sze于2016國際計算機(jī)體系結(jié)構(gòu)研討會發(fā)表的“Eyeriss: A Spatial Architecture for Energy-Efficient Dataflow for Convolutional Neural Networks”。
該方法的一個示例是Microchip子公司Silicon Storage Technology(SST)的memBrain™技術(shù)。該解決方案依托于SST的SuperFlash®存儲器技術(shù),這項技術(shù)已成為適用于單片機(jī)和智能卡應(yīng)用的多級存儲器的公認(rèn)標(biāo)準(zhǔn)。這種解決方案內(nèi)置一個內(nèi)存內(nèi)計算架構(gòu),允許在存儲權(quán)重的位置完成計算。權(quán)重沒有數(shù)據(jù)移動,只有輸入數(shù)據(jù)需要從輸入傳感器(例如攝像頭和麥克風(fēng))移動到存儲器陣列中,因此消除了MAC計算中的存儲器瓶頸。
這種存儲器概念基于兩大基本原理:(a)晶體管的模擬電流響應(yīng)基于其閾值電壓(Vt)和輸入數(shù)據(jù),(b)基爾霍夫電流定律,即在某個點(diǎn)交匯的多個導(dǎo)體網(wǎng)絡(luò)中,電流的代數(shù)和為零。了解這種多級存儲器架構(gòu)中的基本非易失性存儲器(NVM)位單元也十分重要。下圖(圖4)是兩個ESF3(第3代嵌入式SuperFlash)位單元,帶有共用的擦除門(EG)和源線(SL)。每個位單元有五個終端:控制門(CG)、工作線(WL)、擦除門(EG)、源線(SL)和位線(BL)。通過向EG施加高電壓執(zhí)行位單元的擦除操作。通過向WL、CG、BL和SL施加高/低電壓偏置信號執(zhí)行編程操作。通過向WL、CG、BL和SL施加低電壓偏置信號執(zhí)行讀操作。
圖 SEQ Figure * ARABIC 4:SuperFlash ESF3單元
利用這種存儲器架構(gòu),用戶可以通過微調(diào)編程操作,以不同Vt電壓對存儲器位單元進(jìn)行編程。存儲器技術(shù)利用智能算法調(diào)整存儲器單元的浮柵(FG)電壓,以從輸入電壓獲得特定的電流響應(yīng)。根據(jù)最終應(yīng)用的要求,可以在線性區(qū)域或閾下區(qū)域?qū)卧M(jìn)行編程。
圖5說明了在存儲器單元中存儲多個電壓的功能。例如,我們要在一個存儲器單元中存儲一個2位整數(shù)值。對于這種情況,我們需要使用4個2位整數(shù)值(00、01、10、11)中的一個對存儲器陣列中的每個單元進(jìn)行編程,此時,我們需要使用四個具有足夠間隔的可能Vt值之一對每個單元進(jìn)行編程。下面的四條IV曲線分別對應(yīng)于四種可能的狀態(tài),單元的電流響應(yīng)取決于向CG施加的電壓。
圖 SEQ Figure * ARABIC 5:ESF3單元中的編程Vt電壓
受訓(xùn)模型的權(quán)重通過編程設(shè)定為存儲器單元的浮柵Vt。因此,受訓(xùn)模型每一層(例如完全連接的層)的所有權(quán)重都可以在類似矩陣的存儲器陣列上編程,如圖6所示。對于推斷運(yùn)算,數(shù)字輸入(例如來自數(shù)字麥克風(fēng))首先利用數(shù)模轉(zhuǎn)換器(DAC)轉(zhuǎn)換為模擬信號,然后應(yīng)用到存儲器陣列。隨后該陣列對指定輸入向量并行執(zhí)行數(shù)千次MAC運(yùn)算,產(chǎn)生的輸出隨即進(jìn)入相應(yīng)神經(jīng)元的激活階段,隨后利用模數(shù)轉(zhuǎn)換器(ADC)將輸出轉(zhuǎn)換回數(shù)字信號。然后,這些數(shù)字信號在進(jìn)入下一層之前進(jìn)行池化處理。
圖 SEQ Figure * ARABIC 6:用于推斷的權(quán)重矩陣存儲器陣列
這類多級存儲器架構(gòu)模塊化程度非常高,而且十分靈活。許多存儲器片可以結(jié)合到一起,形成一個混合了權(quán)重矩陣和神經(jīng)元的大型模型,如圖7所示。在本例中,MxN片配置通過各片間的模擬和數(shù)字接口連接到一起。
圖 SEQ Figure * ARABIC 7:memBrain™的模塊化結(jié)構(gòu)
截至目前,我們主要討論了該架構(gòu)的芯片實(shí)施方案。提供軟件開發(fā)套件(SDK)可幫助開發(fā)解決方案。除了芯片外,SDK還有助于推斷引擎的開發(fā)。SDK流程與訓(xùn)練框架無關(guān)。用戶可以在提供的所有框架(例如TensorFlow、PyTorch或其他框架)中根據(jù)需要使用浮點(diǎn)計算創(chuàng)建神經(jīng)網(wǎng)絡(luò)模型。創(chuàng)建模型后,SDK可幫助量化受訓(xùn)神經(jīng)網(wǎng)絡(luò)模型,并將其映射到存儲器陣列。在該陣列中,可以利用來自傳感器或計算機(jī)的輸入向量執(zhí)行向量矩陣乘法。
圖8:memBrain™ SDK流程
多級存儲器與模擬內(nèi)存內(nèi)計算完美融合,人工智能邊緣處理難題迎刃而解
多級存儲器方法結(jié)合內(nèi)存內(nèi)計算功能的優(yōu)點(diǎn)包括:
1. 超低功耗:專為低功耗應(yīng)用設(shè)計的技術(shù)。功耗方面的第一個優(yōu)點(diǎn)是,這種解決方案采用內(nèi)存內(nèi)計算,因此在計算期間,從SRAM/DRAM傳輸數(shù)據(jù)和權(quán)重不會浪費(fèi)能量。功耗方面的第二個優(yōu)點(diǎn)是,閃存單元在閾下模式下以極低的電流運(yùn)行,因此有功功率消耗非常低。第三個優(yōu)點(diǎn)是待機(jī)模式下幾乎沒有能耗,原因是非易失性存儲器單元不需要任何電力即可保存始終開啟設(shè)備的數(shù)據(jù)。這種方法也非常適合對權(quán)重和輸入數(shù)據(jù)的稀疏性加以利用。如果輸入數(shù)據(jù)或權(quán)重為零,則存儲器位單元不會激活。
2. 減小封裝尺寸:該技術(shù)采用分離柵(1.5T)單元架構(gòu),而數(shù)字實(shí)施方案中的SRAM單元基于6T架構(gòu)。此外,與6T SRAM單元相比,這種單元是小得多。另外,一個單元即可存儲完整的4位整數(shù)值,而不是像SRAM單元那樣需要4*6 = 24個晶體管才能實(shí)現(xiàn)此目的,從本質(zhì)上減少了片上占用空間。
3. 降低開發(fā)成本:由于存儲器性能瓶頸和馮·諾依曼架構(gòu)的限制,很多專用設(shè)備(例如Nvidia的Jetsen或Google的TPU)趨向于通過縮小幾何結(jié)構(gòu)提高每瓦性能,但這種方法解決邊緣計算難題的成本卻很高。采用將模擬內(nèi)存內(nèi)計算與多級存儲器相結(jié)合的方法,可以在閃存單元中完成片上計算,這樣便可使用更大的幾何尺寸,同時降低掩膜成本和縮短開發(fā)周期。
邊緣計算應(yīng)用的前景十分廣闊。然而,需要首先解決功耗和成本方面的挑戰(zhàn),邊緣計算才能得到發(fā)展。使用能夠在閃存單元中執(zhí)行片上計算的存儲器方法可以消除主要障礙。這種方法利用經(jīng)過生產(chǎn)驗(yàn)證的公認(rèn)標(biāo)準(zhǔn)類型多級存儲器技術(shù)解決方案,而這種方案已針對機(jī)器學(xué)習(xí)應(yīng)用進(jìn)行過優(yōu)化。
(來源:Microchip,作者:Vipin Tiwari,Microchip嵌入式存儲器產(chǎn)品開發(fā)總監(jiān))
免責(zé)聲明:本文為轉(zhuǎn)載文章,轉(zhuǎn)載此文目的在于傳遞更多信息,版權(quán)歸原作者所有。本文所用視頻、圖片、文字如涉及作品版權(quán)問題,請聯(lián)系小編進(jìn)行處理。
特別推薦
- 克服碳化硅制造挑戰(zhàn),助力未來電力電子應(yīng)用
- 了解交流電壓的產(chǎn)生
- 單結(jié)晶體管符號和結(jié)構(gòu)
- 英飛凌推出用于汽車應(yīng)用識別和認(rèn)證的新型指紋傳感器IC
- Vishay推出負(fù)載電壓達(dá)100 V的業(yè)內(nèi)先進(jìn)的1 Form A固態(tài)繼電器
- 康佳特推出搭載AMD 銳龍嵌入式 8000系列的COM Express緊湊型模塊
- 村田推出3225尺寸車載PoC電感器LQW32FT_8H系列
技術(shù)文章更多>>
- 提前圍觀第104屆中國電子展高端元器件展區(qū)
- 高性能碳化硅隔離柵極驅(qū)動器如何選型,一文告訴您
- 貿(mào)澤電子新品推薦:2024年第三季度推出將近7000個新物料
- 大聯(lián)大世平集團(tuán)的駕駛員監(jiān)控系統(tǒng)(DMS)方案榮獲第六屆“金輯獎之最佳技術(shù)實(shí)踐應(yīng)用”獎
- X-CUBE-STL:支持更多STM32, 揭開功能安全的神秘面紗
技術(shù)白皮書下載更多>>
- 車規(guī)與基于V2X的車輛協(xié)同主動避撞技術(shù)展望
- 數(shù)字隔離助力新能源汽車安全隔離的新挑戰(zhàn)
- 汽車模塊拋負(fù)載的解決方案
- 車用連接器的安全創(chuàng)新應(yīng)用
- Melexis Actuators Business Unit
- Position / Current Sensors - Triaxis Hall
熱門搜索
音頻IC
音頻SoC
音頻變壓器
引線電感
語音控制
元件符號
元器件選型
云電視
云計算
云母電容
真空三極管
振蕩器
振蕩線圈
振動器
振動設(shè)備
震動馬達(dá)
整流變壓器
整流二極管
整流濾波
直流電機(jī)
智能抄表
智能電表
智能電網(wǎng)
智能家居
智能交通
智能手機(jī)
中電華星
中電器材
中功率管
中間繼電器