|
內(nèi)存計(jì)算技術(shù)在人工智能存儲(chǔ)系統(tǒng)中的應(yīng)用前景(圖文)时间:2021-10-26 【转载】 2019冠狀病毒疾病肆虐全球,但是也加速了全球數(shù)字化轉(zhuǎn)型,并且也改變了存儲(chǔ)類半導(dǎo)體的發(fā)展模式。隨著人工智能、物聯(lián)網(wǎng)和大數(shù)據(jù)等相關(guān)技術(shù)的發(fā)展,遠(yuǎn)程辦公、視頻會(huì)議和在線課程 2019冠狀病毒疾病肆虐全球,但是也加速了全球數(shù)字化轉(zhuǎn)型,并且也改變了存儲(chǔ)類半導(dǎo)體的發(fā)展模式。隨著人工智能、物聯(lián)網(wǎng)和大數(shù)據(jù)等相關(guān)技術(shù)的發(fā)展,遠(yuǎn)程辦公、視頻會(huì)議和在線課程等實(shí)時(shí)應(yīng)用大量涌現(xiàn),需要處理的數(shù)據(jù)量也隨之激增。根據(jù) IDC 2017年發(fā)布的數(shù)據(jù),預(yù)計(jì)到2025年,全球產(chǎn)生的數(shù)據(jù)量將達(dá)到163 zettabyte(1 zettabyte= 2^70個(gè)字節(jié)),并且其中5.2 zettabytes 將需要進(jìn)行數(shù)據(jù)分析。
圖1.2025年 IDC預(yù)測的數(shù)據(jù)量 廣告 目前的計(jì)算機(jī)系統(tǒng)采用馮·諾伊曼結(jié)構(gòu),當(dāng) CPU 處理來自 DRAM 芯片外的數(shù)據(jù)時(shí),頻繁使用的數(shù)據(jù)被存儲(chǔ)緩存中(L1級、L2級和L3級),這樣不僅速度快和功耗低,還能夠獲得最大性能。然而在需要處理大量數(shù)據(jù)的應(yīng)用程序中,絕大部分?jǐn)?shù)據(jù)是從內(nèi)存中讀取的,因?yàn)榕c緩存的容量相比起來,要處理的數(shù)據(jù)則大的多。
圖2. 計(jì)算機(jī)中內(nèi)存架構(gòu) 在這種情況下,CPU 和內(nèi)存之間數(shù)據(jù)通道的帶寬成為限制性能發(fā)揮的瓶頸 ,在 CPU 和內(nèi)存之間傳輸數(shù)據(jù)也消耗了巨大能量。為了突破這一瓶頸,CPU 和內(nèi)存之間的通道帶寬需要擴(kuò)展,但是如果當(dāng)前 CPU 的管腳數(shù)量已經(jīng)達(dá)到極限,進(jìn)一步的帶寬改進(jìn)將面臨技術(shù)上難以逾越的困難。在現(xiàn)代計(jì)算機(jī)結(jié)構(gòu)中,數(shù)據(jù)存儲(chǔ)和數(shù)據(jù)計(jì)算是分開的,這樣的“數(shù)據(jù)墻”問題是不可避免的。我們不妨假設(shè)處理器用于乘法運(yùn)算的功耗約為1個(gè)單位,而從 DRAM 中獲取數(shù)據(jù)到處理器需要消耗的能量是數(shù)據(jù)的實(shí)際計(jì)算的650倍,也就是說減少數(shù)據(jù)移動(dòng)對于性能和功耗的提升是巨大的。
圖3. 數(shù)據(jù)計(jì)算與數(shù)據(jù)內(nèi)存?zhèn)鬟f功耗對比圖 深層神經(jīng)網(wǎng)絡(luò)(DNN)是一種機(jī)器學(xué)習(xí)(ML) ,其中以用于計(jì)算機(jī)視覺(CV)的卷積神經(jīng)網(wǎng)絡(luò)(CNN)和用于自然語言處理(NLP)的遞歸神經(jīng)網(wǎng)絡(luò)(RNN)為大家所熟知,并且最近大熱的推薦模型(RM)等新的應(yīng)用程序也趨向于使用 DNN。對于RNN而言,其主要運(yùn)算是矩陣向量乘法運(yùn)算,由于其具有低數(shù)據(jù)重用特性,內(nèi)存訪問次數(shù)越多,通過內(nèi)存通道的數(shù)據(jù)移動(dòng)就越多,而性能瓶頸就約明顯。 所以為了改進(jìn)這一點(diǎn),有很多人提出應(yīng)用PIM技術(shù)重新構(gòu)建DRAM內(nèi)存,PIM正如其定義的那樣,其操作和計(jì)算是在內(nèi)存中執(zhí)行的,也就是說,PIM的預(yù)期效果是通過在內(nèi)存中執(zhí)行操作而不將數(shù)據(jù)移動(dòng)到 CPU,從而最小化數(shù)據(jù)移動(dòng),用來提升性能。從20世紀(jì)90年代末到21世紀(jì)初,學(xué)術(shù)界積極研究這一概念,但由于 DRAM 處理和邏輯計(jì)算的技術(shù)難度大,以及使用 DRAM 處理實(shí)現(xiàn)內(nèi)存中 CPU 的成本太高,導(dǎo)致PIM 的競爭力大大削弱,并且也沒有商業(yè)化。但是現(xiàn)今對于性能的需求使得這一概念的商業(yè)化提上了日程。 如果想要理解 PIM,首先我們是要知道 AI究竟進(jìn)行了什么樣的操作,下圖給我們展示了神經(jīng)網(wǎng)絡(luò)中的完全連接(FC)層,單輸出神經(jīng)元Y1節(jié)點(diǎn)鏈接到X1,X2,X3和X4節(jié)點(diǎn)上,每個(gè)節(jié)點(diǎn)突觸上的權(quán)重分別為w11,w12,w13和w14。AI為了處理這個(gè)全連接層需要將每個(gè)計(jì)算節(jié)點(diǎn)和權(quán)重相乘然后再進(jìn)行求和,然后再應(yīng)用一個(gè)激活函數(shù),如RELU等。更復(fù)雜的情況是有幾個(gè)輸入(X1...Xn)和輸出(Y1...Yn)的情況下,AI將每個(gè)單元分別乘以其對應(yīng)輸出的權(quán)重然后再分別求和,而這也就是數(shù)學(xué)上的矩陣乘法和加法運(yùn)算。
圖4. AI的完全連接的層樣例 同樣的在圖5中,如果我們把這些運(yùn)算用的電路全部設(shè)計(jì)到存儲(chǔ)單元中,則完全不需要將數(shù)據(jù)搬運(yùn)和傳輸,只需要在存儲(chǔ)單元中完成計(jì)算并且把結(jié)果告知CPU即可;這樣不僅能夠顯著減少功耗,還能盡可能的處理更加復(fù)雜的操作。目前SK Hynix公司正在大力開發(fā)采用這一技術(shù)的PIM DRAM,對于RNN 等內(nèi)存瓶頸的應(yīng)用來說,如果在 DRAM 中使用計(jì)算電路執(zhí)行應(yīng)用程序,預(yù)計(jì)性能和功耗將有顯著提高。而未來CPU需要處理的數(shù)據(jù)還在不斷增多,PIM有望成為計(jì)算機(jī)提升性能最強(qiáng)有力的方案。
圖5. SK hynix的PIM 概念 |




