?
在過去的幾十年中,計算性能的提高是通過更快、更精確地處理更大數(shù)量的數(shù)據(jù)來實現(xiàn)的。
內存和存儲空間現(xiàn)在是以千兆字節(jié)和兆字節(jié)來衡量的,而不是以千字節(jié)和兆字節(jié)。處理器操作 64 位而不是 8 位數(shù)據(jù)塊。然而,半導體行業(yè)創(chuàng)造和收集高質量數(shù)據(jù)的能力比分析數(shù)據(jù)的能力增長得更快。
一方面,互聯(lián)網和物聯(lián)網正在推動數(shù)據(jù)爆炸?;萜諏嶒炇遥℉ewlett-Packard Labs)的研究科學家約翰·保羅·斯特拉坎(John Paul Strachan)在 Leti 設備研討會(12 月的 IEEE 電子設備會議的一個附帶活動)上的一次演講中指出,僅 Facebook 用戶每天就產生 4 千兆字節(jié)(1 千兆字節(jié)=1015 字節(jié))的數(shù)據(jù)。
通過傳感器、攝像頭和其他所有設備對現(xiàn)實的數(shù)字捕捉產生了更大的效果。一輛獨立的汽車每天可以收集 4 TB 的數(shù)據(jù),將來一個大城市可能會有數(shù)百萬的數(shù)據(jù)。僅僅捕獲這些信息并將其上傳到中央數(shù)據(jù)中心所需的能量和帶寬就很驚人。
神經網絡和馮諾依曼瓶頸
同時,對大型數(shù)據(jù)集的大部分分析都屬于神經網絡。
神經網絡的工作原理是計算矩陣的積和。將數(shù)據(jù)矩陣加載到數(shù)組中,并將每個元素乘以預定權重。在大多數(shù)情況下,結果將傳遞到網絡的下一層并乘以一組新的權重。經過幾個這樣的步驟,就能得出關于數(shù)據(jù)是什么的結論。這有點像貓,可疑的行為模式,或者某種特殊的電活動。
在訓練階段,將網絡的結論與先前已知的“正確”答案進行比較。然后,一個稱為反向傳播的過程使用預測值和正確值之間的差異向上或向下調整網絡每個層中的每個權重。
從概念上講,這種方法非常簡單。但實際上,數(shù)據(jù)集很大,計算步驟也很大。ImageNet 圖像分類基準測試中表現(xiàn)最佳的是使用具有 6000 萬個參數(shù)的 8 層神經網絡。一次通過算法獲得一個圖像需要 200 億次操作。
對于網絡的每一層,現(xiàn)有權重和每個訓練示例的元素都被加載到處理器的寄存器中,然后相乘,并將結果寫回到存儲器中。性能瓶頸不是計算,而是處理器和存儲器陣列之間的帶寬。存儲器和處理器之間的這種分離是馮·諾依曼架構的定義特征之一,并且存在于幾乎所有現(xiàn)代計算系統(tǒng)中。
大數(shù)據(jù)集,帶寬受限的機器學習工作負載以及 Dennard 擴展的結束正在將行業(yè)基準從原始計算性能轉變?yōu)橛嬎阈省τ诮o定的任務,硅片面積,功耗和計算精度之間的最佳平衡是什么?
?
低精度,模擬內存,高精度
IBMResearchAlmaden 的副總裁兼實驗室主任 JeffWelser 在一次 IEDM 演示中指出,神經網絡計算通常不需要高計算精度。16 位計算模塊使用等效 32 位塊所需的四分之一電路空間,并將所需的數(shù)據(jù)量減半。即使使用傳統(tǒng)架構,降低精度算法也可以顯著提高計算效率。
克服內存瓶頸的需求也在推動更激進的計算內存架構。在這種體系結構的最簡單視圖中,預先確定的權重存儲在非易失性內存元素數(shù)組中。將輸入數(shù)據(jù)加載在內存字行上,并對來自單個單元格的電流求和。
究竟如何在硬件中實現(xiàn)這樣的方案是正在進行的研究的主題。業(yè)界已經提出了數(shù)字和模擬解決方案。例如,數(shù)字陣列可以由閃存元件組裝而成。明尼蘇達大學的研究人員展示了兼容 CMOS 的 eflash 存儲單元,它將電荷存儲在控制柵極和通道之間的浮動柵極上。在這樣的陣列中,可以通過完善的集成電路設計精確地控制特定權重值和它們改變的速率(學習速率)。這種方法很有吸引力,因為它依賴于成熟,易于理解的組件技術。
然而,機器學習應用中感興趣的許多數(shù)據(jù)本質上是模擬的。斯坦福大學和加州大學伯克利分校的研究員 Xin Zheng 及其同事觀察到,通過使用固有存儲模擬值的 RRAM 等存儲元件,可以避免模數(shù)轉換和數(shù)模轉換及其相關的能耗和硅足跡。然而,目前可用的模擬存儲器元件帶來了一系列新的挑戰(zhàn)。
當數(shù)字元件處于開啟或關閉狀態(tài)時,模擬元件可以具有一系列值。給定信號存儲的值取決于設備的屬性。在絲狀 RRAM 中,電阻隨著導電細絲在器件的端子之間形成而下降。一系列弱編程脈沖可能會產生弱細絲,而強脈沖會產生更強的細絲。因此,存儲給定值所需的脈沖強度和數(shù)量取決于長絲形成的動力學。學習速率取決于電阻狀態(tài)與從一個狀態(tài)移動到下一個狀態(tài)所需的脈沖數(shù)之間的分離。
對于推理任務,可以使用傳統(tǒng) CMOS 邏輯計算權重,然后將其存儲在 RRAM 陣列中。使用給定數(shù)量的編程脈沖實現(xiàn)的精確值可能因設備而異,但模擬表明在面對這些變化時總體精度是穩(wěn)健的。然而,對于學習任務,隨著修正在網絡中的傳播,個體權重需要上下調整。不幸的是,當前的 RRAM 設備通常具有對 SET 和 RESET 脈沖有不對稱響應。簡單地改變編程脈沖的符號不會在相反的方向上產生相等的調整。這種不對稱性是學習任務在記憶中實現(xiàn)的一個主要問題。
?
耐力,穩(wěn)定性和可重復性
如上所述,清華大學的研究生 Meiran Zhao 表示,學習任務還需要大量的數(shù)據(jù)和非常多的重量更新,大約 10 5 和 10 7。針對傳統(tǒng)存儲應用設計的 RRAM 陣列的測試將設備壽命放在相同的范圍內。然而,數(shù)據(jù)存儲應用需要數(shù)字值——一個設備是開著的還是關著的——并且通常使用足夠強的設置和重置脈沖來創(chuàng)建或移除一根強導電絲。如果使用弱脈沖代替,趙的小組表明模擬切換在超過 10 11 之后沒有失敗更新脈沖,盡管學習準確度確實降低到超過 10 9 個更新脈沖。
所需的大量訓練周期也會威脅存儲的重量值的穩(wěn)定性。在 RRAM 裝置中,燈絲的導電率由燈絲體積內的氧空位濃度決定。該濃度又由施加的電壓脈沖控制。但是,不可能精確控制個別職位空缺的位置。當它們在器件內遷移時,無論是在電壓梯度的影響下還是在熱激發(fā)后,精確的電阻都會發(fā)生變化。
另一種非易失性存儲器,即電化學 RAM,試圖解決絲狀 RRAM 的局限性。當 RRAM 是雙終端設備時,ECRAM 是三終端設備。施加到第三端子的電壓控制離子從 LiPON 電解質層插入到 WO 3 導體中。電阻取決于氧化還原反應,該反應可以在開啟和關閉方向上精確且可重復地控制。
超越神經網絡
卷積神經網絡是最常見的機器學習技術,但它不一定是最好的。新興存儲器設備的非線性概率行為對于某些算法來說是一個挑戰(zhàn),但對其他算法來說可能是一個優(yōu)勢。
例如,生成對抗網絡使用一個神經網絡為另一個生成測試示例。當“鑒別器”網絡能夠區(qū)分真實數(shù)據(jù)和“發(fā)生器”網絡生成的示例時,它就是成功的。因此,鑒別器網絡可以通過顯示由發(fā)生器網絡創(chuàng)建的一組非小狗圖像來學習識別小狗的照片。生成對抗性網絡算法的一個挑戰(zhàn)是生成測試示例,這些測試示例涵蓋了所有感興趣的真實情況?!澳J絹G棄”,其中生成的示例聚集在有限數(shù)量的類別周圍,可能會由于 RRAM 網絡固有的隨機性而減少。同樣的非線性行為使得精確的權重難以存儲,這可能導致更多的測試示例。
RRAM 行為與歷史有關。給定的重置脈沖實際重置設備的概率會隨著之前設置的脈沖數(shù)的增加而降低。Imec 的一個小組使用這種行為作為時間序列學習規(guī)則的基礎 - 在時間 t 有效的裝置用于預測在時間 t +Δ處有效的裝置。將該預測與實際數(shù)據(jù)進行比較,然后通過 SET 脈沖加強具有正確預測的設備,而通過 RESET 脈沖削弱具有不正確預測的設備。訓練之后,將得到的網絡拓撲用作生成新數(shù)據(jù)序列的模型。
最后,密歇根大學的研究人員將 RRAM 交叉開關陣列與隨機導電橋存儲器件結合使用,通過模擬退火來解決“自旋玻璃”優(yōu)化問題。自旋玻璃問題源于物理學,但也適用于許多其他領域,它試圖尋找相互作用自旋的隨機二維陣列的最低能量狀態(tài)。模擬退火隨機翻轉一組單個自旋,保留那些減少系統(tǒng)總能量的翻轉,然后降低系統(tǒng)溫度并重復該過程。密歇根集團利用 CBRAMS 的隨機切換概率來降低找到局部最小狀態(tài)而不是真正的最低能量狀態(tài)的風險。
內存計算展望未來
從歷史上看,電子設備研究首先出現(xiàn),然后電氣工程師和軟件開發(fā)人員學會了如何利用新功能。在過去的幾年里,新興的存儲設備已經從實驗室的奇思妙想,到令人失望的閃存替代品,再到新機器學習方法的推動者。接下來的幾年將展示半導體行業(yè)是否可以使用這些設備來幫助管理它正在幫助創(chuàng)建的數(shù)據(jù)大爆炸。
與非網編譯內容,未經允許不得轉載!
?