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

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

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

?

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

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

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

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

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

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

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

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

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

大數(shù)據(jù)集,帶寬受限的機(jī)器學(xué)習(xí)工作負(fù)載以及 Dennard 擴(kuò)展的結(jié)束正在將行業(yè)基準(zhǔn)從原始計(jì)算性能轉(zhuǎn)變?yōu)橛?jì)算效率。對(duì)于給定的任務(wù),硅片面積,功耗和計(jì)算精度之間的最佳平衡是什么?

?

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

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

究竟如何在硬件中實(shí)現(xiàn)這樣的方案是正在進(jìn)行的研究的主題。業(yè)界已經(jīng)提出了數(shù)字和模擬解決方案。例如,數(shù)字陣列可以由閃存元件組裝而成。明尼蘇達(dá)大學(xué)的研究人員展示了兼容 CMOS 的 eflash 存儲(chǔ)單元,它將電荷存儲(chǔ)在控制柵極和通道之間的浮動(dòng)?xùn)艠O上。在這樣的陣列中,可以通過完善的集成電路設(shè)計(jì)精確地控制特定權(quán)重值和它們改變的速率(學(xué)習(xí)速率)。這種方法很有吸引力,因?yàn)樗蕾囉诔墒欤子诶斫獾慕M件技術(shù)。

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

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

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

?

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

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

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

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

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

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

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

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

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

相關(guān)推薦