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