賴斯大學(xué)的研究人員已經(jīng)展示了設(shè)計(jì)創(chuàng)新的以數(shù)據(jù)為中心的計(jì)算硬件以及與機(jī)器學(xué)習(xí)算法共同設(shè)計(jì)硬件的方法,這些算法可以共同將能源效率提高兩個(gè)數(shù)量級(jí)。
機(jī)器學(xué)習(xí)的進(jìn)步,無(wú)人駕駛汽車背后的人工智能形式以及許多其他高科技應(yīng)用,已經(jīng)開創(chuàng)了計(jì)算的新時(shí)代(以數(shù)據(jù)為中心的時(shí)代),并迫使工程師們重新考慮具有消失了75年
“問題在于,對(duì)于當(dāng)今機(jī)器學(xué)習(xí)最先進(jìn)的大規(guī)模深度神經(jīng)網(wǎng)絡(luò)而言,運(yùn)行整個(gè)系統(tǒng)所需的90%以上的電力都消耗在內(nèi)存和處理器之間的數(shù)據(jù)移動(dòng)中”,電氣與計(jì)算機(jī)工程學(xué)助理教授林穎妍說。
林和合作者提出了優(yōu)化數(shù)據(jù)中心處理的兩個(gè)互補(bǔ)的方法,這兩者都呈現(xiàn)6月3日在國(guó)際研討會(huì)上的計(jì)算機(jī)體系結(jié)構(gòu)(ISCA),最大的會(huì)議為新的思路和研究的一個(gè)計(jì)算機(jī)體系結(jié)構(gòu)。
以數(shù)據(jù)為中心的體系結(jié)構(gòu)的驅(qū)動(dòng)與一個(gè)稱為von Neumann瓶頸的問題有關(guān),這種效率低下的原因是自數(shù)學(xué)家約翰·馮·諾伊曼(John von Neumann)于1945年發(fā)明內(nèi)存以來,計(jì)算結(jié)構(gòu)中內(nèi)存和處理的分離一直占主導(dǎo)地位。從程序和數(shù)據(jù)來看,馮·諾伊曼(von Neumann)架構(gòu)使單臺(tái)計(jì)算機(jī)具有難以置信的通用性。根據(jù)從內(nèi)存中加載的存儲(chǔ)程序,可以使用計(jì)算機(jī)進(jìn)行視頻通話,準(zhǔn)備電子表格或模擬火星上的天氣。
但是將內(nèi)存與處理分開也意味著即使簡(jiǎn)單的操作(如加2加2)也需要計(jì)算機(jī)處理器多次訪問內(nèi)存。深度神經(jīng)網(wǎng)絡(luò)中的大量操作使這種記憶瓶頸變得更糟,深度神經(jīng)網(wǎng)絡(luò)是通過“研究”大量先前示例來學(xué)習(xí)做出人性化決策的系統(tǒng)。網(wǎng)絡(luò)越大,它可以完成的任務(wù)就越困難,并且顯示的網(wǎng)絡(luò)示例越多,它的執(zhí)行效果就越好。深度神經(jīng)網(wǎng)絡(luò)訓(xùn)練可能需要專門的處理器庫(kù),這些處理器需要全天候運(yùn)行一周以上?;谥悄芫W(wǎng)絡(luò)在智能手機(jī)上執(zhí)行任務(wù)可以在不到一個(gè)小時(shí)的時(shí)間內(nèi)耗盡電池電量。
賴斯的高效和智能計(jì)算(EIC)實(shí)驗(yàn)室主任Lin說:“對(duì)于機(jī)器學(xué)習(xí)時(shí)代的以數(shù)據(jù)為中心的算法,我們需要?jiǎng)?chuàng)新的以數(shù)據(jù)為中心的硬件體系結(jié)構(gòu)。” “但是,機(jī)器學(xué)習(xí)的最佳硬件架構(gòu)是什么?
“沒有一個(gè)萬(wàn)能的答案,因?yàn)椴煌膽?yīng)用需要機(jī)器學(xué)習(xí)算法,這些算法在算法結(jié)構(gòu)和復(fù)雜性方面可能有很大差異,同時(shí)具有不同的任務(wù)準(zhǔn)確性和資源消耗(例如能源成本,延遲和吞吐量),需要權(quán)衡取舍要求。”她說。“許多研究人員正在為此進(jìn)行研究,像英特爾,IBM和Google這樣的大公司都有自己的設(shè)計(jì)。”
Lin小組在ISCA 2020上的演講之一在TIMELY上提供了結(jié)果,TIMELY是她和她的學(xué)生為“內(nèi)存中處理”(PIM)開發(fā)的一種創(chuàng)新架構(gòu),這種非馮·諾依曼方法將處理引入內(nèi)存陣列。一個(gè)有前途的PIM平臺(tái)是“ 電阻式隨機(jī)存取存儲(chǔ)器 ”(ReRAM),類似于閃存的非易失性存儲(chǔ)器。雖然提出了其他ReRAM PIM加速器架構(gòu),但Lin表示,在10多個(gè)深度神經(jīng)網(wǎng)絡(luò)模型上進(jìn)行的實(shí)驗(yàn)發(fā)現(xiàn),TIMELY的能源效率高18倍,并且交付的計(jì)算密度是最有競(jìng)爭(zhēng)力的最新技術(shù)的30倍以上ReRAM PIM加速器。
TIMELY代表“時(shí)域,內(nèi)存中執(zhí)行,LocalitY”,它通過消除導(dǎo)致效率低下的主要因素來實(shí)現(xiàn)其性能,這種效率低下是由于頻繁訪問主存儲(chǔ)器以處理中間輸入和輸出以及本地和主存儲(chǔ)器之間的接口而引起的?;貞洝?/span>
在主存儲(chǔ)器中,數(shù)據(jù)以數(shù)字方式存儲(chǔ),但是當(dāng)將其帶入本地存儲(chǔ)器以進(jìn)行內(nèi)存中處理時(shí),必須將其轉(zhuǎn)換為模擬量。在以前的ReRAM PIM加速器中,結(jié)果值從模擬轉(zhuǎn)換為數(shù)字,然后發(fā)送回主存儲(chǔ)器。如果將它們從主存儲(chǔ)器調(diào)用到本地ReRAM以進(jìn)行后續(xù)操作,則它們將再次轉(zhuǎn)換為模擬信號(hào),依此類推。
通過使用本地存儲(chǔ)器中的模擬格式緩沖區(qū),及時(shí)避免了不必要的訪問主存儲(chǔ)器和接口數(shù)據(jù)轉(zhuǎn)換的開銷。這樣,TIMELY幾乎可以將所需的數(shù)據(jù)保留在本地存儲(chǔ)陣列中,從而大大提高了效率。
該小組在ISCA 2020上提出的第二個(gè)建議是SmartExchange,該設(shè)計(jì)結(jié)合了算法和加速器硬件創(chuàng)新以節(jié)省能源。
“訪問主存儲(chǔ)器 DRAM的能量要比執(zhí)行計(jì)算多花費(fèi)200倍,因此SmartExchange的關(guān)鍵思想是在算法中強(qiáng)制執(zhí)行結(jié)構(gòu),使我們可以將成本較高的內(nèi)存換成成本更低的內(nèi)存,成本計(jì)算。”
她舉例說:“例如,我們的算法有1000個(gè)參數(shù)。” “在傳統(tǒng)方法中,我們將所有1,000個(gè)存儲(chǔ)在DRAM中,并根據(jù)計(jì)算需要進(jìn)行訪問。使用SmartExchange,我們搜索以找到這1,000個(gè)中的某些結(jié)構(gòu)。然后,我們只需要存儲(chǔ)10個(gè),因?yàn)槿绻覀冎浪鼈冎g的關(guān)系, 10和其余的990,我們可以計(jì)算990中的任何一個(gè),而不必從DRAM調(diào)用它們。
她說:“我們將這10個(gè)稱為“基礎(chǔ)”子集,其想法是將它們存儲(chǔ)在靠近處理器的本地位置,以避免或大幅度減少為訪問DRAM而支付的費(fèi)用。
研究人員使用SmartExchange算法及其自定義的硬件加速器對(duì)七個(gè)基準(zhǔn)深度神經(jīng)網(wǎng)絡(luò)模型和三個(gè)基準(zhǔn)數(shù)據(jù)集進(jìn)行了實(shí)驗(yàn)。他們發(fā)現(xiàn),與最先進(jìn)的深度神經(jīng)網(wǎng)絡(luò)加速器相比,該組合將等待時(shí)間減少了多達(dá)19倍。