- Advertisement -
首頁 技術頻道 整合多階/類比記憶體運算 AI邊緣功耗難題迎刃而解

整合多階/類比記憶體運算 AI邊緣功耗難題迎刃而解

- Advertisement -

雖然使用者可以享受到這些AI應用帶來的益處,但同時仍有隱私、功耗、延遲和成本等諸多疑慮,這些疑慮便成為AI 應用的挑戰。如果有一個能夠從資料來源,執行部分/全部運算(推論)的本地處理引擎,那麼這些問題即可迎刃而解。傳統數位神經網路的記憶體存在功耗瓶頸,難以實現這一目標。為了解決此問題,可以將多階記憶體與類比記憶體內運算方法結合使用,使處理引擎滿足更低的毫瓦級(mW)到微瓦級(μW)功率要求,進而在網路邊緣執行AI推論。

雲端AI面臨隱私/功耗/延遲挑戰

如果透過雲端引擎為AI應用提供服務,使用者必須主動/被動上傳一些資料到雲端,運算引擎則在雲端處理資料並提供預測,然後將預測結果發送給終端用戶使用。以下概述資料處理過程面臨的挑戰(圖1):

1.隱私問題:對於Always-on、Always-aware設備,個人資料或機密資訊在上傳期間或在資料中心保存期限期間可能遭受濫用的風險。

2.不必要的功耗:如果每個資料位元都傳輸到雲端,則硬體、無線電、傳輸裝置以及雲端中不必要的運算都會消耗電能。

3.小批量推論的延遲:如果資料來自邊緣裝置,有時至少需要一秒才能收到雲端系統的回應。當延遲超過100毫秒時,人們便有明顯感知,造成不佳的用戶體驗。

4.資料經濟需要創造價值:感測器隨處可見且價格低廉,能夠蒐集大量資料,但是如果每筆資料都上傳到雲端進行處理的效益不高。

圖1 從邊緣到雲端的資料傳輸

要使用本地處理引擎解決這些挑戰,首先必須針對目標使用案例,利用指定資料集合對執行推論運算的神經網路進行訓練。這通常需要高效能運算和記憶體資源,以及浮點運算。因此,機器學習解決方案的訓練部分仍需在公共、私有雲或本地GPU、CPU和FPGA Farm上實現,同時結合資料集合來生成最佳神經網路模型。神經網路模型的推論運算不需要反向傳播,因此在該模型準備就緒之後,可利用小型運算引擎針對本地硬體進行深度優化。推論引擎通常需要大量乘積累加運算(Multiply Accumulate, MAC)引擎,隨後是啟動層,例如修正線性單元(ReLU)、Sigmoid函數或雙曲正切函數,具體取決於神經網路模型複雜度,以及各層之間的池化層。

大多數神經網路模型需要大量MAC運算。例如,即使是相對較小的「1.0 MobileNet-224」模型,也有420萬個參數(權重),執行一次推論需要多達5.69億次的MAC運算。此類模型中的大多數都由MAC運算主導,因此這裡的重點是機器學習計算的運算部分,同時還要尋找機會來建立更好的解決方案。圖2為一個簡單的完全連接型兩層網路。輸入神經元(資料)透過第一層權重處理。第一層的輸出神經元透過第二層權重處理,並提供預測,例如模型能否在指定影像中找到貓臉 。

圖2 完全連接的兩層神經網路

這些神經網路模型使用「點積」運算計算每層中的每個神經元,如下面的公式所示:

Yi=∑i Wi Xi 〗

(為簡單起見,公式中省略了「偏差」項)。

在數位神經網路中,權重和輸入資料儲存在DRAM/SRAM中。權重和輸入資料需要移至某個MAC引擎旁以進行推論。根據圖3,採用這種方法後,大部分功耗都源自於獲取模型參數以及將資料登錄到實際發生MAC運算的ALU。從能量角度來看,使用數位邏輯閘的典型MAC運算消耗約250fJ的能量,但在資料傳輸期間消耗的能量超過運算本身兩個數量級,達到50皮焦(pJ)到100pJ的範圍。實際上,很多設計技巧可以大幅減少記憶體到ALU的資料傳輸,但整個數位方案仍受馮紐曼架構的限制。這意謂著,有大量的機會可以減少功率浪費。如果執行MAC運算的能耗可以從約100pJ減少到若干分之幾pJ,將產生什麼樣的可能性?

圖3 機器學習運算中的記憶體瓶頸

消除記憶體瓶頸並降低功耗

如果記憶體本身可用來消除之前的記憶體瓶頸(圖3),則在邊緣執行推論相關的運算就成為可行方案。使用記憶體內運算的方式,可以大幅減少必須移動的資料量,也就能消除資料傳輸期間浪費的能源。快閃記憶體單元運行時產生的主動功率消耗較低,在待機模式下幾乎不消耗能量,因此可以進一步降低能耗。

以Microchip子公司Silicon Storage Technology(SST)的memBrain技術為例,該解決方案奠基於SST的SuperFlash記憶體技術,這項技術已成為適用於微控制器和智慧卡應用的多階記憶體的公認標準。此解決方案內建一個記憶體內運算架構,允許在儲存權重的位置完成運算。權重毋需資料移動,只有輸入資料需要從輸入感測器,例如相機和麥克風,移動到記憶體陣列中,因此消除了MAC運算中的記憶體瓶頸。

這種記憶體概念基於兩大基本原理:一是電晶體的類比電流回應基於其臨界值電壓(Vt)和輸入資料,二則是基爾霍夫電流定律,即在某個點交匯的多個導體網路中,電流的代數和為零。瞭解這種多階記憶體架構中的基本非揮發性記憶體(NVM)位元單元也十分重要。圖4是兩個ESF3(第3代嵌入式SuperFlash)位元單元,帶有共用的抹除閘(EG)和來源線(SL)。每個位元單元有五個終端:控制閘(CG)、工作線(WL)、抹除閘、來源線和位元線(BL)。透過向EG施加高電壓執行位元單元的抹除操作,同時向WL、CG、BL和SL施加高/低電壓偏置訊號來執行程式設計操作,並且向WL、CG、BL和SL施加低電壓偏置訊號以執行讀取操作。

圖4 SuperFlash ESF3單元

採用這種記憶體架構,用戶可以透過微調程式設計操作,以不同Vt電壓對記憶體位元單元進行程式設計。記憶體技術利用智慧演算法調整記憶體單元的浮柵(FG)電壓,以從輸入電壓獲得特定的電流回應。根據最終應用的要求,可以在線性區域或閾下區域對單元進行程式設計。

圖5說明了在記憶體單元中儲存多個電壓的功能。例如,如果要在一個記憶體單元中儲存一個2位元整數值,需要使用4個2位元整數值(00、01、10、11)中的一個,進行記憶體陣列中,每個單元的程式設計。此時需要使用四個具有足夠間隔的可能Vt值之一,對每個單元進行程式設計。圖5的四條IV曲線分別對應於四種可能的狀態,單元的電流回應取決於向CG施加的電壓。

圖5 ESF3單元中的程式設計Vt電壓

受訓模型的權重透過程式設計設定為記憶體單元的浮柵Vt,因此,受訓模型每一層,例如完全連接層的所有權重,都可以在類似矩陣的記憶體陣列上進行程式設計(圖6)。對於推論運算,數位輸入,如數位麥克風,首先利用數位類比轉換器(DAC)轉換為類比訊號,然後應用到記憶體陣列。隨後該陣列對指定輸入向量並存執行數千次MAC運算,產生的輸出隨即進入相應神經元的啟動階段,隨後利用類比數位數轉換器(ADC)將輸出轉換回數位訊號。然後,這些數位訊號在進入下一層之前進行池化處理。

圖6 用於推論的權重矩陣記憶體陣列

這類多階記憶體架構模組化程度非常高,而且十分靈活。許多記憶體晶片可以結合在一起,形成一個混合了權重矩陣和神經元的大型模型(圖7)。在此案例中,M×N晶片配置透過各晶片間的類比和數位介面相互連接。

圖7 memBrain的模組化結構

截至目前,文章主要討論了該架構的晶片實施方案。提供軟體發展套件(SDK)可幫助開發解決方案,除了晶片外,SDK還有助於推論引擎的開發。SDK流程與訓練框架無關。用戶可以在提供的所有框架,包含TensorFlow、PyTorch等框架中,根據需要使用浮點運算創建神經網路模型(圖8)。創建模型後,SDK可協助量化受訓神經網路模型,並將其映射到記憶體陣列。在該陣列中,可以利用來自感測器或電腦的輸入向量執行向量矩陣乘法。

圖8 memBrain SDK流程

多階記憶體方法結合記憶體內運算功能的優點包括:

1.較低功耗:專為低功耗應用設計的技術。功耗方面的第一個優點是,這種解決方案採用記憶體內運算,因此在運算期間,從SRAM/DRAM傳輸資料和權重不會浪費能量。功耗方面的第二個優點是,快閃記憶體單元在臨界值模式下以較低的電流運行,因此主動功率消耗非常低。第三個優點是待機模式下幾乎沒有能耗,原因是非易失性記憶體單元不需要任何電力即可保存始終開啟設備的資料。這種方法也非常適合在權重和輸入資料的稀疏性時加以利用,如果輸入資料或權重為零,則記憶體位元單元不會啟動。

2.減小封裝尺寸:該技術採用分離柵(1.5T)單元架構,而數位實施方案中的SRAM單元基於6T架構。此外,與6T SRAM單元相比,這種單元是小得多。另外,一個單元即可儲存完整的4位元整數值,而不是像SRAM單元那樣需要4×6=24個電晶體才能實現此目的,從根本減少晶片上占用的空間。

3.降低開發成本:由於記憶體效能瓶頸和馮紐曼架構的限制,很多專用設備,例如NVIDIA的Jetsen或Google的TPU,趨向於透過縮小幾何結構提高每瓦效能,但這種方法解決邊緣運算難題的成本卻很高。採用將類比記憶體內運算與多階記憶體結合的方法,可以在快閃記憶體單元中完成晶片運算,這樣便可使用更大的幾何尺寸,同時降低掩膜成本(Mask Cost)和縮短開發週期。

邊緣運算應用的前景十分廣闊,然而,首先需要解決功耗和成本方面的挑戰,邊緣運算才能得到發展機會。使用能夠在快閃記憶體單元中執行晶片上運算的記憶體方法,可以消除主要障礙。這種方法利用經生產驗證的公認標準類型多階記憶體技術解決方案,且此方案已針對機器學習應用進行優化。

(本文作者為Microchip嵌入式記憶體產品開發總監)

相關文章

- Advertisement -
- Advertisement -

最新文章

- Advertisement -

熱門文章

- Advertisement -

編輯推薦

- Advertisement -