芯片制造商正在研究新的架構(gòu),這些架構(gòu)可顯著增加每瓦功耗和每個(gè)時(shí)鐘周期可處理的數(shù)據(jù)量,從而為數(shù)十年來(lái)芯片架構(gòu)的最大轉(zhuǎn)變奠定了基礎(chǔ)。
所有主要的芯片制造商和系統(tǒng)供應(yīng)商都在改變方向,引發(fā)一場(chǎng)架構(gòu)競(jìng)賽,其中包括從存儲(chǔ)器中讀取和寫入數(shù)據(jù)的方式到數(shù)據(jù)處理和管理的方式,以及最終在單個(gè)芯片上的各種單元被封裝在一起。雖然半導(dǎo)體制造的節(jié)點(diǎn)縮減將繼續(xù),但沒(méi)有人愿意進(jìn)行擴(kuò)展以跟上傳感器數(shù)據(jù)的爆炸性增長(zhǎng)以及機(jī)器之間的流量增加。
其中包括:
新的處理器體系結(jié)構(gòu)關(guān)注的是每個(gè)周期處理更大數(shù)據(jù)塊的方法,有時(shí)精度較低,或者根據(jù)應(yīng)用程序的不同,將特定操作優(yōu)先于其他操作。
正在開(kāi)發(fā)新的內(nèi)存體系結(jié)構(gòu),以改變數(shù)據(jù)存儲(chǔ)、讀取、寫入和訪問(wèn)的方式。
更有針對(duì)性的處理單元分散在系統(tǒng)周圍,與內(nèi)存非常接近。加速器不是依靠一個(gè)最適合應(yīng)用程序的主處理器,而是根據(jù)數(shù)據(jù)類型和應(yīng)用程序來(lái)選擇。
人工智能正在進(jìn)行的工作:將不同的數(shù)據(jù)類型融合為模式,有效地增加數(shù)據(jù)密度,同時(shí)最小化不同數(shù)據(jù)類型之間的差異。
Rambus公司的杰出發(fā)明家StevenWoo說(shuō):“有一些趨勢(shì)讓人們?cè)噲D充分利用他們已經(jīng)擁有的東西。”在數(shù)據(jù)中心,你想從硬件和軟件中擠出盡可能多的空間。這就是數(shù)據(jù)中心重新思考經(jīng)濟(jì)問(wèn)題的方式。啟用新功能非常昂貴。但是瓶頸正在轉(zhuǎn)移,這就是為什么你會(huì)看到專門的芯片以及提高計(jì)算效率的方法。如果你能夠阻止在內(nèi)存和I/O上來(lái)回發(fā)送數(shù)據(jù),這會(huì)產(chǎn)生很大的影響?!?/p>
這些變化在邊緣上更為明顯,而且就在邊緣之外,系統(tǒng)供應(yīng)商突然意識(shí)到數(shù)百億臺(tái)設(shè)備會(huì)產(chǎn)生太多數(shù)據(jù),無(wú)法將所有內(nèi)容發(fā)送到云端進(jìn)行處理。但是在邊緣處理所有這些數(shù)據(jù)會(huì)增加其自身的挑戰(zhàn),需要在不顯著改變功率預(yù)算的情況下實(shí)現(xiàn)性能的巨大改進(jìn)。
英偉達(dá)(Nvidia)的特斯拉首席平臺(tái)架構(gòu)師羅伯特?奧伯(RobertOber)表示:“新的重點(diǎn)是降低精度?!薄斑@不僅僅是更多的計(jì)算周期。它更多的是在內(nèi)存中進(jìn)行數(shù)據(jù)打包,使用16位指令格式。所以這并不是為了提高效率而在緩存中存儲(chǔ)更多的數(shù)據(jù)。從統(tǒng)計(jì)學(xué)上講,結(jié)果在兩方面都是一致的?!?/p>
Ober預(yù)測(cè),通過(guò)一系列的架構(gòu)優(yōu)化,在可預(yù)見(jiàn)的將來(lái),每隔幾年就可以將處理速度提高一倍?!拔覀儗⒖吹郊夹g(shù)的進(jìn)步。”他說(shuō):?!盀榱藢?shí)現(xiàn)這一目標(biāo),我們必須處理三各方面:一個(gè)是計(jì)算,第二個(gè)是存儲(chǔ)。在一些模型中,這是內(nèi)存訪問(wèn)。有些則是計(jì)算。第三個(gè)方面是主機(jī)帶寬和I/O帶寬。我們需要在優(yōu)化存儲(chǔ)和網(wǎng)絡(luò)方面做大量工作?!?/p>
其中一些已經(jīng)在實(shí)施中。在2018年HotChips大會(huì)上,三星奧斯汀研發(fā)部門的首席架構(gòu)師杰夫?魯普利(JeffRupley)在發(fā)言中指出了該公司M3處理器的幾個(gè)重大架構(gòu)變化。一個(gè)涉及每個(gè)周期更多的指令-六個(gè),而之前的M2為四個(gè)。再加上分支預(yù)測(cè),這基本上是幾個(gè)神經(jīng)網(wǎng)絡(luò)在搜索中做的相當(dāng)于預(yù)取的工作,指令隊(duì)列的深度是它的兩倍,挑戰(zhàn)就開(kāi)始顯現(xiàn)出來(lái)。
從另一個(gè)角度來(lái)看,這些變化將創(chuàng)新的紐帶從制造和工藝技術(shù)轉(zhuǎn)移到前端的架構(gòu)和設(shè)計(jì),以及后端的制造封裝。雖然處理技術(shù)將繼續(xù)創(chuàng)新,但在每個(gè)新節(jié)點(diǎn)上僅提高15%至20%的性能和性能是非常復(fù)雜的——而且這還遠(yuǎn)遠(yuǎn)不足以跟上數(shù)據(jù)的大幅增長(zhǎng)。
Xilinx的總裁兼首席執(zhí)行官VictorPeng在HotChips的演講中說(shuō):“變革正以指數(shù)速度發(fā)生。每年將產(chǎn)生10zettabytes[10的21次方字節(jié)]的數(shù)據(jù),其中大部分是非結(jié)構(gòu)化數(shù)據(jù)?!?/p>
內(nèi)存中的新方法
處理這么多數(shù)據(jù)需要重新思考系統(tǒng)中的每個(gè)組件,,從數(shù)據(jù)處理方式到數(shù)據(jù)存儲(chǔ)方式。
“已經(jīng)有很多嘗試創(chuàng)建新的內(nèi)存架構(gòu),”eSiliconEMEA創(chuàng)新高級(jí)主管CarlosMaciàn說(shuō)?!皢?wèn)題是你需要讀取每一行并在每一行中選擇一位。另一種方法是構(gòu)建可以從左到右,上下讀取的內(nèi)存。你還可以更進(jìn)一步,將計(jì)算添加到不同的存儲(chǔ)器中國(guó)?!?/p>
這些變化包括改變讀取內(nèi)存的方式、位置和處理元素的類型,以及使用人工智能對(duì)數(shù)據(jù)在系統(tǒng)中存儲(chǔ)、處理和移動(dòng)的方式和位置進(jìn)行優(yōu)先級(jí)排序。
“如果我們?cè)谙∈钄?shù)據(jù)的情況下一次只能從該數(shù)組中讀取一個(gè)字節(jié),或者在相同的字節(jié)通道中可能只有8個(gè)連續(xù)字節(jié),而不使用與其他字節(jié)或字節(jié)通道相關(guān)的所有能耗,那么我們是什么呢?不感興趣,“Cadence產(chǎn)品營(yíng)銷集團(tuán)總監(jiān)MarcGreenberg說(shuō)?!拔磥?lái)可能更適合這種事情。例如,如果我們看一下HBM2的架構(gòu),HBM2芯片堆棧被安排到16個(gè)64位的虛擬通道中,我們只需要從任何虛擬通道的任何訪問(wèn)中獲得4個(gè)連續(xù)的64位字。因此,有可能構(gòu)建1,024位寬的數(shù)據(jù)陣列并水平寫入,但一次只讀取64位×4個(gè)字。”
內(nèi)存是馮?諾依曼體系結(jié)構(gòu)的核心組件之一,但它也正在成為最大的實(shí)驗(yàn)領(lǐng)域之一。AMD的客戶端產(chǎn)品首席架構(gòu)師DanBouvier表示:“虛擬內(nèi)存系統(tǒng)是一個(gè)大問(wèn)題,在這個(gè)系統(tǒng)中,數(shù)據(jù)的傳輸方式更加不自然。如果你能消除DRAM中的Bank沖突,你就能獲得更高效的數(shù)據(jù)流。因此,離散GPU可以在90%的效率范圍內(nèi)運(yùn)行DRAM,這是非常高的。但如果你能得到流暢的數(shù)據(jù)流,你也可以在80%到85%的效率范圍內(nèi)運(yùn)行APU和CPU?!?/p>
圖1:馮·諾依曼架構(gòu)
IBM正在開(kāi)發(fā)一種不同的內(nèi)存體系結(jié)構(gòu),它本質(zhì)上是磁盤陣列的現(xiàn)代版本。IBM的系統(tǒng)硬件架構(gòu)師杰夫?斯圖切利(JeffStuecheli)將連接技術(shù)稱為連接的“瑞士軍刀”,其目標(biāo)不是局限于單個(gè)磁盤,而是巧用可用的任何內(nèi)存。這種方法的優(yōu)點(diǎn)是可以混合和匹配不同類型的數(shù)據(jù)。
“CPU變成了一個(gè)位于高性能信號(hào)接口中間的東西,”Stuecheli說(shuō)?!叭绻阈薷奈Ⅲw系結(jié)構(gòu),核心可以在每個(gè)周期做更多的事情而不需要增加頻率?!?/p>
連接性和吞吐量對(duì)于確保這些體系結(jié)構(gòu)能夠處理所生成的數(shù)量龐大的數(shù)據(jù)變得越來(lái)越重要?!艾F(xiàn)在最大的瓶頸在于數(shù)據(jù)流動(dòng),”Rambus'Woo說(shuō)。“業(yè)界在實(shí)現(xiàn)更好的計(jì)算方面做得非常出色。但是,如果你正在等待數(shù)據(jù)或?qū)S脭?shù)據(jù)模式,則需要更快地運(yùn)行內(nèi)存。因此,如果你看一下DRAM和NVM,性能取決于流量模式。如果對(duì)數(shù)據(jù)進(jìn)行流處理,就可以從內(nèi)存中獲得非常好的效率。但如果數(shù)據(jù)在空間中隨意跳躍,效率就會(huì)降低。無(wú)論你做什么,隨著體積的增加,你都要做得更快。
更多的計(jì)算,更少的移動(dòng)
使問(wèn)題復(fù)雜化的是,邊緣設(shè)備以不同的頻率和速度生成多種不同類型的數(shù)據(jù)。為了使數(shù)據(jù)在各種處理單元之間平滑移動(dòng),必須比過(guò)去更有效地管理它。
“有四種主要配置-多對(duì)多,內(nèi)存子系統(tǒng),低功耗Io,以及網(wǎng)狀和環(huán)形拓?fù)?,”ArterisIP董事長(zhǎng)兼首席執(zhí)行官CharlieJanac說(shuō)?!澳憧梢詫⑺羞@四個(gè)放在一個(gè)芯片中,這就是決策IoT芯片所發(fā)生的事情。或者你可以添加具有高吞吐量的HBM子系統(tǒng)。但復(fù)雜性是巨大的,因?yàn)槠渲幸恍┕ぷ髫?fù)載非常具體,每個(gè)芯片有多個(gè)工作負(fù)載和引腳。如果你看一些這些物聯(lián)網(wǎng)芯片,他們會(huì)收集大量的數(shù)據(jù)。對(duì)于像汽車中的雷達(dá)和LiDAR這樣的東西尤其如此。沒(méi)有某種先進(jìn)的互連,它們就不可能存在。”
挑戰(zhàn)在于如何最小化數(shù)據(jù)移動(dòng),同時(shí)在需要時(shí)最大化數(shù)據(jù)流,并以某種方式在不使用太多功率的情況下實(shí)現(xiàn)本地和集中處理之間的平衡。
NetSpeedSystems的產(chǎn)品營(yíng)銷經(jīng)理拉杰什?拉曼努賈姆(RajeshRamanujam)表示:“一方面是帶寬問(wèn)題。”“如果可能的話,盡量不移動(dòng)數(shù)據(jù),因此可以將數(shù)據(jù)移動(dòng)到更靠近處理器的地方。但如果必須移動(dòng)數(shù)據(jù),則需要盡可能地壓縮數(shù)據(jù)。然而,這一切都不存在于真空之中。所有這些都必須從系統(tǒng)級(jí)別進(jìn)行觀察。每個(gè)步驟都需要考慮多個(gè)順序軸,它決定了您是使用傳統(tǒng)的讀寫方式使用內(nèi)存,還是使用新的內(nèi)存技術(shù)。在某些情況下,您可能希望更改存儲(chǔ)數(shù)據(jù)本身的方式。如果您想要更快的性能,這通常意味著更高的芯片面積成本,但這會(huì)影響到功耗。現(xiàn)在你要考慮功能安全,還要擔(dān)心數(shù)據(jù)過(guò)載。
這就是為什么在邊緣處理和不同處理元素之間的吞吐量有如此多的關(guān)注。但是,隨著架構(gòu)的開(kāi)發(fā)和改進(jìn),如何以及在哪里實(shí)現(xiàn)這些處理的方式將會(huì)有很大的不同。
舉個(gè)例子:Marvell引入了一個(gè)內(nèi)置人工智能的SSD控制器,這樣它就可以在邊緣處理更大的計(jì)算負(fù)載。人工智能引擎可以用于固態(tài)存儲(chǔ)本身的分析。
“你可以直接將模型加載到硬件中,并在SSD控制器中進(jìn)行硬件處理,”Marvell的首席工程師內(nèi)德瓦爾尼察說(shuō)。今天,云端的主機(jī)就是這樣做的。但是,如果每個(gè)驅(qū)動(dòng)器都將數(shù)據(jù)發(fā)送到云端,就會(huì)產(chǎn)生大量的網(wǎng)絡(luò)流量。最好是在邊緣進(jìn)行處理。因此,你擁有的存儲(chǔ)設(shè)備越多,處理能力就越強(qiáng)。減少數(shù)據(jù)移動(dòng)的好處是巨大的?!?/p>
這種方法特別值得注意的是,它強(qiáng)調(diào)了數(shù)據(jù)移動(dòng)的靈活性,這取決于應(yīng)用程序。因此,主機(jī)可以生成一個(gè)任務(wù)并將其發(fā)送到存儲(chǔ)設(shè)備進(jìn)行處理,之后僅返回元數(shù)據(jù)或計(jì)算結(jié)果。在另一種情況下,存儲(chǔ)設(shè)備可以存儲(chǔ)數(shù)據(jù)、對(duì)其進(jìn)行預(yù)處理和生成元數(shù)據(jù)、標(biāo)記和索引,然后由主機(jī)檢索,以便進(jìn)行進(jìn)一步的分析。
這是一種選擇,還有其他的做法。三星的Rupley強(qiáng)調(diào)了無(wú)序處理和融合的習(xí)慣用法,它們可以解碼兩條指令并將它們?nèi)诤系揭粋€(gè)操作中。
AI監(jiān)督和優(yōu)化
所有這些都是人工智能,這是進(jìn)入芯片架構(gòu)的真正新元素之一。這種疏忽不是讓操作系統(tǒng)和中間件管理功能,而是圍繞芯片,芯片之間和系統(tǒng)級(jí)分布。在某些情況下,這可能包括芯片內(nèi)的神經(jīng)網(wǎng)絡(luò)。
eSilicon公司營(yíng)銷副總裁邁克·吉安法尼亞說(shuō):“與其說(shuō)你如何將更多的東西組合在一起,不如說(shuō)你改變了做事的傳統(tǒng)方式。”“通過(guò)人工智能和機(jī)器學(xué)習(xí),你可以把所有這些東西撒在一個(gè)系統(tǒng)周圍,以獲得更高效和更有預(yù)測(cè)性的處理?!痹谄渌闆r下,它可能涉及到獨(dú)立于系統(tǒng)或封裝內(nèi)獨(dú)立運(yùn)行的獨(dú)立芯片?!?/p>
Arm透漏了其首款機(jī)器學(xué)習(xí)芯片計(jì)劃,將于今年晚些時(shí)候在多個(gè)市場(chǎng)領(lǐng)域和垂直領(lǐng)域推出。Arm杰出工程師伊恩?布拉特表示:“這是一種新型處理器?!彼ㄒ粋€(gè)基本模塊,這是一個(gè)計(jì)算引擎,加上一個(gè)MAC引擎,一個(gè)具有控制聯(lián)合和廣播網(wǎng)絡(luò)的DMA引擎??偣灿?6個(gè)計(jì)算引擎,使用7nm工藝技術(shù),在1GHz可以運(yùn)行4萬(wàn)億次。
由于Arm是在合作伙伴的生態(tài)系統(tǒng)中提供IP,因此其芯片更通用,可配置為正在開(kāi)發(fā)的其他AI/ML芯片。它不是將所有內(nèi)容構(gòu)建為整體結(jié)構(gòu),而是按功能劃分處理,因此每個(gè)計(jì)算引擎都在不同的特征映射上工作。Bratt表示,四個(gè)關(guān)鍵要素是靜態(tài)調(diào)度,高效卷積,帶寬減少機(jī)制以及面向未來(lái)設(shè)計(jì)的可編程性。
圖2:Arm的ML處理器架構(gòu)
與此同時(shí),Nvidia采取了不同的策略,在GPU旁邊構(gòu)建專用的深度學(xué)習(xí)引擎,以優(yōu)化處理圖像和視頻的流量。
通過(guò)利用部分或全部這些方法,芯片制造商表示,他們每?jī)赡昕梢詫⑿阅芴岣咭槐?,跟上?shù)據(jù)爆炸的步伐,同時(shí)保持在電力預(yù)算的嚴(yán)格限制范圍內(nèi)。但這不僅僅是提供更多的電腦。它正在改變芯片設(shè)計(jì)和系統(tǒng)工程的起點(diǎn),從越來(lái)越多的數(shù)據(jù)開(kāi)始,而不是硬件和軟件的限制。
Synopsys董事長(zhǎng)兼聯(lián)席首席執(zhí)行官AartdeGeus表示,“當(dāng)電腦進(jìn)入企業(yè)時(shí),很多人都認(rèn)為世界的發(fā)展速度要快得多。”“他們用一堆會(huì)計(jì)賬簿對(duì)紙張進(jìn)行會(huì)計(jì)處理。那是一個(gè)指數(shù)變化,現(xiàn)在我們?cè)俅慰吹剿J裁词前l(fā)展-這可能會(huì)給它一種更快的感覺(jué)-你可以從某種程度上理解穿孔卡片的會(huì)計(jì)賬簿,并將其打印出來(lái)并進(jìn)行計(jì)算。在心理上,你可以遵循每一步。事實(shí)上,在一個(gè)農(nóng)業(yè)領(lǐng)域,你只需要在某一天的溫度上升這么多,就需要澆水和某種肥料,這是機(jī)器學(xué)習(xí)的結(jié)合,這是一種優(yōu)化,在過(guò)去并不明顯。
“新的架構(gòu)將被接受,”西門子Mentor總裁兼首席執(zhí)行官沃利?萊恩斯(WallyRhines)表示。它們將被設(shè)計(jì)成在很多情況下,會(huì)有機(jī)器學(xué)習(xí),因?yàn)槟愕拇竽X有能力從經(jīng)驗(yàn)中學(xué)習(xí)。我走訪了20多家公司,它們都有各自的專用人工智能處理器。但是你會(huì)越來(lái)越多地在特定的應(yīng)用中看到它們,它們將補(bǔ)充傳統(tǒng)的馮·諾依曼架構(gòu)。神經(jīng)形態(tài)計(jì)算將成為主流,它是我們下一步如何提高計(jì)算效率,降低成本,在移動(dòng)和連接環(huán)境中做事情的一個(gè)重要組成部分。”