模擬內(nèi)存計(jì)算如何解決功耗挑戰(zhàn)
在這一進(jìn)程中也有一些困難:
1.隱私和安全問題:對(duì)于始終在線的、感知的設(shè)備,人們擔(dān)心個(gè)人數(shù)據(jù)在上傳期間或在數(shù)據(jù)中心的存儲(chǔ)期間被濫用。
2.不必要的功耗:如果每個(gè)數(shù)據(jù)位都被云計(jì)算占用,那么它就會(huì)消耗來自硬件、無線電、傳輸和云計(jì)算的能量。
3.小批量推理的延遲:如果數(shù)據(jù)來自邊緣,則從基于云的系統(tǒng)獲得響應(yīng)可能需要一秒或更長的時(shí)間。對(duì)于人類的感官來說,任何超過100毫秒的延遲都是顯而易見的。
4.數(shù)據(jù)經(jīng)濟(jì):傳感器無處不在,而且它們非常便宜;然而,他們產(chǎn)生了大量的數(shù)據(jù)。將所有數(shù)據(jù)上傳到云端并進(jìn)行處理似乎毫無經(jīng)濟(jì)可言。
通過使用本地處理引擎來解決這些挑戰(zhàn),執(zhí)行推理操作的神經(jīng)網(wǎng)絡(luò)模型,首先要針對(duì)所需用例使用給定的數(shù)據(jù)集進(jìn)行培訓(xùn)。通常,這需要高計(jì)算資源和浮點(diǎn)算術(shù)運(yùn)算。因此,機(jī)器學(xué)習(xí)解決方案的訓(xùn)練部分仍然需要在公共或私有云(或本地GPU、CPU、FPGA場)上使用數(shù)據(jù)集完成,以生成最優(yōu)的神經(jīng)網(wǎng)絡(luò)模型。一旦神經(jīng)網(wǎng)絡(luò)模型準(zhǔn)備就緒,神經(jīng)網(wǎng)絡(luò)模型就不需要反向傳播進(jìn)行推理操作,因此該模型可以進(jìn)一步針對(duì)具有小型計(jì)算引擎的本地硬件進(jìn)行優(yōu)化。一個(gè)推理引擎通常需要大量的多重累加(MAC)單元,然后是一個(gè)激活層,如整流線性單元(ReLU)、sigmoid或tanh,這取決于神經(jīng)網(wǎng)絡(luò)模型的復(fù)雜性和層之間的池化層。
大多數(shù)神經(jīng)網(wǎng)絡(luò)模型需要大量的MAC操作。例如,即使一個(gè)相對(duì)較小的“1.0 MobileNet-224”模型也有420萬個(gè)參數(shù)(權(quán)重),需要5.69億個(gè)MAC操作來執(zhí)行推斷。由于大多數(shù)模型由MAC操作主導(dǎo),這里的重點(diǎn)將放在機(jī)器學(xué)習(xí)計(jì)算的這一部分,并探索創(chuàng)建更好的解決方案的機(jī)會(huì)。圖2顯示了簡單的、完全連通的兩層網(wǎng)絡(luò)。