• 正文
  • 相關(guān)推薦
申請入駐 產(chǎn)業(yè)圖譜

數(shù)據(jù)大爆炸?讓人焦慮的內(nèi)存計算怎么克服?

原創(chuàng)
2019/03/07
52
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論

?

在過去的幾十年中,計算性能的提高是通過更快、更精確地處理更大數(shù)量的數(shù)據(jù)來實現(xiàn)的。

內(nèi)存和存儲空間現(xiàn)在是以千兆字節(jié)和兆字節(jié)來衡量的,而不是以千字節(jié)和兆字節(jié)。處理器操作 64 位而不是 8 位數(shù)據(jù)塊。然而,半導體行業(yè)創(chuàng)造和收集高質(zhì)量數(shù)據(jù)的能力比分析數(shù)據(jù)的能力增長得更快。

一方面,互聯(lián)網(wǎng)物聯(lián)網(wǎng)正在推動數(shù)據(jù)爆炸。惠普實驗室(Hewlett-Packard Labs)的研究科學家約翰·保羅·斯特拉坎(John Paul Strachan)在 Leti 設(shè)備研討會(12 月的 IEEE 電子設(shè)備會議的一個附帶活動)上的一次演講中指出,僅 Facebook 用戶每天就產(chǎn)生 4 千兆字節(jié)(1 千兆字節(jié)=1015 字節(jié))的數(shù)據(jù)。

通過傳感器、攝像頭和其他所有設(shè)備對現(xiàn)實的數(shù)字捕捉產(chǎn)生了更大的效果。一輛獨立的汽車每天可以收集 4 TB 的數(shù)據(jù),將來一個大城市可能會有數(shù)百萬的數(shù)據(jù)。僅僅捕獲這些信息并將其上傳到中央數(shù)據(jù)中心所需的能量和帶寬就很驚人。

神經(jīng)網(wǎng)絡(luò)和馮諾依曼瓶頸
同時,對大型數(shù)據(jù)集的大部分分析都屬于神經(jīng)網(wǎng)絡(luò)。

神經(jīng)網(wǎng)絡(luò)的工作原理是計算矩陣的積和。將數(shù)據(jù)矩陣加載到數(shù)組中,并將每個元素乘以預定權(quán)重。在大多數(shù)情況下,結(jié)果將傳遞到網(wǎng)絡(luò)的下一層并乘以一組新的權(quán)重。經(jīng)過幾個這樣的步驟,就能得出關(guān)于數(shù)據(jù)是什么的結(jié)論。這有點像貓,可疑的行為模式,或者某種特殊的電活動。

在訓練階段,將網(wǎng)絡(luò)的結(jié)論與先前已知的“正確”答案進行比較。然后,一個稱為反向傳播的過程使用預測值和正確值之間的差異向上或向下調(diào)整網(wǎng)絡(luò)每個層中的每個權(quán)重。

從概念上講,這種方法非常簡單。但實際上,數(shù)據(jù)集很大,計算步驟也很大。ImageNet 圖像分類基準測試中表現(xiàn)最佳的是使用具有 6000 萬個參數(shù)的 8 層神經(jīng)網(wǎng)絡(luò)。一次通過算法獲得一個圖像需要 200 億次操作。

對于網(wǎng)絡(luò)的每一層,現(xiàn)有權(quán)重和每個訓練示例的元素都被加載到處理器的寄存器中,然后相乘,并將結(jié)果寫回到存儲器中。性能瓶頸不是計算,而是處理器和存儲器陣列之間的帶寬。存儲器和處理器之間的這種分離是馮·諾依曼架構(gòu)的定義特征之一,并且存在于幾乎所有現(xiàn)代計算系統(tǒng)中。

大數(shù)據(jù)集,帶寬受限的機器學習工作負載以及 Dennard 擴展的結(jié)束正在將行業(yè)基準從原始計算性能轉(zhuǎn)變?yōu)橛嬎阈省τ诮o定的任務(wù),硅片面積,功耗和計算精度之間的最佳平衡是什么?

?

低精度,模擬內(nèi)存,高精度
IBMResearchAlmaden 的副總裁兼實驗室主任 JeffWelser 在一次 IEDM 演示中指出,神經(jīng)網(wǎng)絡(luò)計算通常不需要高計算精度。16 位計算模塊使用等效 32 位塊所需的四分之一電路空間,并將所需的數(shù)據(jù)量減半。即使使用傳統(tǒng)架構(gòu),降低精度算法也可以顯著提高計算效率。

克服內(nèi)存瓶頸的需求也在推動更激進的計算內(nèi)存架構(gòu)。在這種體系結(jié)構(gòu)的最簡單視圖中,預先確定的權(quán)重存儲在非易失性內(nèi)存元素數(shù)組中。將輸入數(shù)據(jù)加載在內(nèi)存字行上,并對來自單個單元格的電流求和。

究竟如何在硬件中實現(xiàn)這樣的方案是正在進行的研究的主題。業(yè)界已經(jīng)提出了數(shù)字和模擬解決方案。例如,數(shù)字陣列可以由閃存元件組裝而成。明尼蘇達大學的研究人員展示了兼容 CMOS 的 eflash 存儲單元,它將電荷存儲在控制柵極和通道之間的浮動柵極上。在這樣的陣列中,可以通過完善的集成電路設(shè)計精確地控制特定權(quán)重值和它們改變的速率(學習速率)。這種方法很有吸引力,因為它依賴于成熟,易于理解的組件技術(shù)。

然而,機器學習應用中感興趣的許多數(shù)據(jù)本質(zhì)上是模擬的。斯坦福大學和加州大學伯克利分校的研究員 Xin Zheng 及其同事觀察到,通過使用固有存儲模擬值的 RRAM 等存儲元件,可以避免模數(shù)轉(zhuǎn)換和數(shù)模轉(zhuǎn)換及其相關(guān)的能耗和硅足跡。然而,目前可用的模擬存儲器元件帶來了一系列新的挑戰(zhàn)。

當數(shù)字元件處于開啟或關(guān)閉狀態(tài)時,模擬元件可以具有一系列值。給定信號存儲的值取決于設(shè)備的屬性。在絲狀 RRAM 中,電阻隨著導電細絲在器件的端子之間形成而下降。一系列弱編程脈沖可能會產(chǎn)生弱細絲,而強脈沖會產(chǎn)生更強的細絲。因此,存儲給定值所需的脈沖強度和數(shù)量取決于長絲形成的動力學。學習速率取決于電阻狀態(tài)與從一個狀態(tài)移動到下一個狀態(tài)所需的脈沖數(shù)之間的分離。

對于推理任務(wù),可以使用傳統(tǒng) CMOS 邏輯計算權(quán)重,然后將其存儲在 RRAM 陣列中。使用給定數(shù)量的編程脈沖實現(xiàn)的精確值可能因設(shè)備而異,但模擬表明在面對這些變化時總體精度是穩(wěn)健的。然而,對于學習任務(wù),隨著修正在網(wǎng)絡(luò)中的傳播,個體權(quán)重需要上下調(diào)整。不幸的是,當前的 RRAM 設(shè)備通常具有對 SET 和 RESET 脈沖有不對稱響應。簡單地改變編程脈沖的符號不會在相反的方向上產(chǎn)生相等的調(diào)整。這種不對稱性是學習任務(wù)在記憶中實現(xiàn)的一個主要問題。

?

耐力,穩(wěn)定性和可重復性
如上所述,清華大學的研究生 Meiran Zhao 表示,學習任務(wù)還需要大量的數(shù)據(jù)和非常多的重量更新,大約 10 5 和 10 7。針對傳統(tǒng)存儲應用設(shè)計的 RRAM 陣列的測試將設(shè)備壽命放在相同的范圍內(nèi)。然而,數(shù)據(jù)存儲應用需要數(shù)字值——一個設(shè)備是開著的還是關(guān)著的——并且通常使用足夠強的設(shè)置和重置脈沖來創(chuàng)建或移除一根強導電絲。如果使用弱脈沖代替,趙的小組表明模擬切換在超過 10 11 之后沒有失敗更新脈沖,盡管學習準確度確實降低到超過 10 9 個更新脈沖。

所需的大量訓練周期也會威脅存儲的重量值的穩(wěn)定性。在 RRAM 裝置中,燈絲的導電率由燈絲體積內(nèi)的氧空位濃度決定。該濃度又由施加的電壓脈沖控制。但是,不可能精確控制個別職位空缺的位置。當它們在器件內(nèi)遷移時,無論是在電壓梯度的影響下還是在熱激發(fā)后,精確的電阻都會發(fā)生變化。

另一種非易失性存儲器,即電化學 RAM,試圖解決絲狀 RRAM 的局限性。當 RRAM 是雙終端設(shè)備時,ECRAM 是三終端設(shè)備。施加到第三端子的電壓控制離子從 LiPON 電解質(zhì)層插入到 WO 3 導體中。電阻取決于氧化還原反應,該反應可以在開啟和關(guān)閉方向上精確且可重復地控制。

超越神經(jīng)網(wǎng)絡(luò)
卷積神經(jīng)網(wǎng)絡(luò)是最常見的機器學習技術(shù),但它不一定是最好的。新興存儲器設(shè)備的非線性概率行為對于某些算法來說是一個挑戰(zhàn),但對其他算法來說可能是一個優(yōu)勢。

例如,生成對抗網(wǎng)絡(luò)使用一個神經(jīng)網(wǎng)絡(luò)為另一個生成測試示例。當“鑒別器”網(wǎng)絡(luò)能夠區(qū)分真實數(shù)據(jù)和“發(fā)生器”網(wǎng)絡(luò)生成的示例時,它就是成功的。因此,鑒別器網(wǎng)絡(luò)可以通過顯示由發(fā)生器網(wǎng)絡(luò)創(chuàng)建的一組非小狗圖像來學習識別小狗的照片。生成對抗性網(wǎng)絡(luò)算法的一個挑戰(zhàn)是生成測試示例,這些測試示例涵蓋了所有感興趣的真實情況?!澳J絹G棄”,其中生成的示例聚集在有限數(shù)量的類別周圍,可能會由于 RRAM 網(wǎng)絡(luò)固有的隨機性而減少。同樣的非線性行為使得精確的權(quán)重難以存儲,這可能導致更多的測試示例。

RRAM 行為與歷史有關(guān)。給定的重置脈沖實際重置設(shè)備的概率會隨著之前設(shè)置的脈沖數(shù)的增加而降低。Imec 的一個小組使用這種行為作為時間序列學習規(guī)則的基礎(chǔ) - 在時間 t 有效的裝置用于預測在時間 t +Δ處有效的裝置。將該預測與實際數(shù)據(jù)進行比較,然后通過 SET 脈沖加強具有正確預測的設(shè)備,而通過 RESET 脈沖削弱具有不正確預測的設(shè)備。訓練之后,將得到的網(wǎng)絡(luò)拓撲用作生成新數(shù)據(jù)序列的模型。

最后,密歇根大學的研究人員將 RRAM 交叉開關(guān)陣列與隨機導電橋存儲器件結(jié)合使用,通過模擬退火來解決“自旋玻璃”優(yōu)化問題。自旋玻璃問題源于物理學,但也適用于許多其他領(lǐng)域,它試圖尋找相互作用自旋的隨機二維陣列的最低能量狀態(tài)。模擬退火隨機翻轉(zhuǎn)一組單個自旋,保留那些減少系統(tǒng)總能量的翻轉(zhuǎn),然后降低系統(tǒng)溫度并重復該過程。密歇根集團利用 CBRAMS 的隨機切換概率來降低找到局部最小狀態(tài)而不是真正的最低能量狀態(tài)的風險。

內(nèi)存計算展望未來
從歷史上看,電子設(shè)備研究首先出現(xiàn),然后電氣工程師軟件開發(fā)人員學會了如何利用新功能。在過去的幾年里,新興的存儲設(shè)備已經(jīng)從實驗室的奇思妙想,到令人失望的閃存替代品,再到新機器學習方法的推動者。接下來的幾年將展示半導體行業(yè)是否可以使用這些設(shè)備來幫助管理它正在幫助創(chuàng)建的數(shù)據(jù)大爆炸。

與非網(wǎng)編譯內(nèi)容,未經(jīng)允許不得轉(zhuǎn)載!
?

相關(guān)推薦