在人工智能以及針對各種截然不同的終端市場和系統(tǒng)而設(shè)計的機器學(xué)習(xí)芯片快速發(fā)展的推動下,人們可選擇的存儲器/體系架構(gòu)數(shù)量呈現(xiàn)爆炸式增長。
在這些系統(tǒng)中,某些系統(tǒng)的模型參數(shù)大小可能在100億到1000億之間,并且芯片或應(yīng)用之間的差異可能會非常大。神經(jīng)網(wǎng)絡(luò)的訓(xùn)練和推理是當(dāng)今最復(fù)雜的工作負載之一,這使得很難找到最優(yōu)的存儲解決方案。這些系統(tǒng)消耗了大量的計算資源(主要是使用乘法累加運算)以及大量內(nèi)存帶寬。系統(tǒng)任何一個環(huán)節(jié)的減速都可能對整個系統(tǒng)產(chǎn)生影響。
Arm機器學(xué)習(xí)集團產(chǎn)品營銷副總裁SteveRoddy說:“目前已經(jīng)部署了一系列技術(shù)來降低神經(jīng)網(wǎng)絡(luò)模型的復(fù)雜性和神經(jīng)網(wǎng)絡(luò)模型的內(nèi)存需求。例如,可以通過量化、網(wǎng)絡(luò)簡化、剪枝、聚類和模型壓縮來盡可能減小模型的大小。在設(shè)備運行時,通過智能調(diào)度跨層重用中間值還可以減少內(nèi)存流量,從而加快推理運行時間。”
這給內(nèi)存開發(fā)人員帶來了巨大的壓力,要求他們以最低的功耗、面積和成本提供盡可能多的帶寬。這一趨勢當(dāng)前并沒有減弱的跡象。神經(jīng)網(wǎng)絡(luò)模型規(guī)模逐年增長,為了訓(xùn)練這些模型,數(shù)據(jù)集也在不斷增長。
“這些模型的規(guī)模和訓(xùn)練集的大小每年都以大約一個數(shù)量級的速度增長,”來自Rambus公司的杰出發(fā)明家、研究員StevenWoo說。“今年年初,當(dāng)最新的自然語言處理模型問世時,它具有大約170億個參數(shù),這個數(shù)字夠大了吧,但是,今年夏天又出現(xiàn)了一個更新的版本,參數(shù)的數(shù)量居然上升到了1750億。也就是說,大約七個月的時間,參數(shù)的數(shù)量就增加了整整10倍。”
20世紀80年代和90年代初的神經(jīng)網(wǎng)絡(luò)模型大約有100到1,000個參數(shù)。“如果我有一個更大的模型,我需要更多的樣本來訓(xùn)練它,因為每個參數(shù)都必須調(diào)整,”StevenWoo說。“對于那些在技術(shù)領(lǐng)域缺乏耐心的人來說,當(dāng)您擁有更多數(shù)據(jù)時,您不想再在訓(xùn)練上等待那么長的時間。唯一的出路是是擁有更多帶寬。您必須能夠更快地將這些數(shù)據(jù)推送到系統(tǒng)中,并更快地將其提取出來。帶寬是頭等大事。”
另一個問題是能源。Woo表示:“如果您要做的只是將性能提高一倍,同時所消耗的電量也增加一倍,那么,生活就會很美好。但是,這不是它的運作方式,您實際上需要非常在乎功率問題,因為您墻上的電源插座只能承受這么大的功率。事實是,人們確實希望將性能提高X倍,但同時他們希望能將能源效率提高2X倍,這就是讓事情變得困難的地方。”
這種權(quán)衡在AI推理應(yīng)用方面更加困難。“今天,AI/ML的訓(xùn)練和推理之間的鴻溝越來越大,”CadenceIP集團產(chǎn)品市場部總監(jiān)MarcGreenberg指出。“訓(xùn)練需要最大的內(nèi)存帶寬,并且通常是在功能強大的服務(wù)器類型的機器或非常高端的GPU卡上進行的。在訓(xùn)練領(lǐng)域中,我們發(fā)現(xiàn),高階訓(xùn)練使用HBM內(nèi)存,而低階訓(xùn)練使用GDDR6內(nèi)存。HBM存儲器特別擅長以最低的單bit能量提供最高的帶寬。HBM2/2E內(nèi)存可以在AI/ML處理器與每個存儲器堆棧之間提供高達每秒3.2/3.6TB的內(nèi)存帶寬,而即將發(fā)布的HBM3標準則有望提供更高的帶寬。”
成本權(quán)衡
這種性能當(dāng)然是有代價的。Greenberg指出:“HBM作為一種高端解決方案,有一個與之匹配的高價格自然無可厚非,這意味著HBM可能會繼續(xù)部署在服務(wù)器機房和其他高端應(yīng)用中。GDDR6技術(shù)有助于降低成本,當(dāng)今的器件可以通過技術(shù)以16Gbps的數(shù)據(jù)速率提供每秒512Gbit/s的速度,而且將來會出現(xiàn)更快的數(shù)據(jù)速率。用戶將其中多個器件并行放置也很常見。例如,某些圖形卡可以并行使用10個或更多GDDR6部件,以達到5Tbps速度甚至更高的帶寬。”
推理技術(shù)仍在發(fā)展,這在邊緣計算中尤其明顯。Greenberg說:“對于AI推理,我們在新設(shè)計中看到的主要是GDDR6和LPDDR5內(nèi)存。他們以更合適的成本提供了更適中的帶寬,使得可以在云的邊緣實時部署AI,而不必將所有數(shù)據(jù)發(fā)送回服務(wù)器。”
現(xiàn)在正在開發(fā)的許多AI機器都使用了經(jīng)過精心規(guī)劃的非常規(guī)則的布局和結(jié)構(gòu)。
他說:“如果您回想起SoC設(shè)計時代,您會發(fā)現(xiàn)芯片設(shè)計中其實有很多隨機性,這些芯片的異構(gòu)性非常明顯。它們部署了許多不同的功能,而且很多是異構(gòu)的功能。這使得芯片看起來就像是將不同block混合在一塊的儲物柜。但是,當(dāng)您看一看AI芯片時,您將會看到一個非常規(guī)則的結(jié)構(gòu),因為這種方法才能保證在整個芯片上非常并行的數(shù)據(jù)流中管理大量數(shù)據(jù)。與我們在SoC甚至許多CPU中所做的架構(gòu)不同。它的架構(gòu)設(shè)計主要圍繞著如何通過該芯片傳輸數(shù)據(jù)而構(gòu)建。”
所有這些都直接影響到內(nèi)存的選擇,尤其是DRAM,而DRAM早在幾年前就被人們預(yù)測行將淘汰了。但是實際上,情況恰恰相反。如今的選項比以往任何時候都要多,并且每一種選擇都有各自不同的價格。
SynopsysDDR產(chǎn)品技術(shù)營銷經(jīng)理VadhirajSankaranarayanan表示:“例如,我們正處于DDR標準從DDR4過渡到DDR5的階段。“奔著DDR4要求而來的客戶因為其產(chǎn)品的使用壽命足夠長,因此也可能也希望獲得DDR5的支持。與LPDDR5類似,這些新標準中除了提供更高的性能外,在功耗方面也具有優(yōu)勢。因為這些標準可以在較低的電壓下運行,因此可以降低功耗,而且在RAS(可靠性、可用性和可維護性)上也有優(yōu)勢。在功能方面,由于速度較高,DRAM本身將配備可糾正子系統(tǒng)中任何地方可能發(fā)生的單比特錯誤的功能。”
提供這么多內(nèi)存選擇是必需的,因為在當(dāng)今的AI/ML應(yīng)用中,內(nèi)存配置可能會有很大的差異。Sankaranarayanan說:“我們已經(jīng)看到,設(shè)計團隊除了使用HBM之外還使用LPDDR,但這實際上取決于帶寬要求。還有一些成本因素需要考慮。使用HBM時,由于需要通過硅直通技術(shù)將多個DRAM管芯堆疊在一起-并且使用插入器將DRAM和SoC放入同一個SoC封裝中,因而需要多個封裝步驟,造成今天HBM的成本都很高。但是,隨著與AI相關(guān)的應(yīng)用及需求的增加,在不久的將來,HBM的價格都將變得物有所值。”
功率是第一位的
毫不奇怪,功率管理是AI/ML應(yīng)用中的首要考慮因素。對于數(shù)據(jù)中心以及邊緣設(shè)備都是如此。
在SoC中,分配給內(nèi)存的功率可以分為三個部分。
Rambus的Woo說:“首先是從DRAM內(nèi)核中獲取bit所消耗的功率,這方面您無法投機取巧,您必須把數(shù)據(jù)位從DRAM內(nèi)核中讀取出來才能發(fā)揮它的作用。其次,和移動數(shù)據(jù)相關(guān)的功率,即與數(shù)據(jù)線兩端電路相關(guān)的功率。第三,在DRAM中還有SoCPHY和接口。事實證明,這些存儲器本身耗電只占三分之一,其它三分之二的功率則用于在DRAM和SoC這兩個芯片之間來回移動數(shù)據(jù),這個比例有點嚇人,因為這意味著將數(shù)據(jù)從DRAM內(nèi)核中讀取出來-您必須要做的-并不是控制功率的主要因素。在嘗試提高功率效率時,如果您考慮將這些東西都堆疊在一起,則可以省掉很多這種功耗,HBM器件就是這么做的。如果您考慮將SoC與DRAM堆疊在一起,那些和數(shù)據(jù)通信相關(guān)的功率可能就會下降很多倍甚至是一個數(shù)量級。那就是您可能節(jié)約功率的地方。”
圖1:HBM2存儲器系統(tǒng)功率。資料來源:Rambus
這里沒有免費的午餐。Woo表示:“如果要這樣做,那么現(xiàn)在您將受到DRAM內(nèi)核功率的更多限制,并且您必須考慮如何降低DRAM內(nèi)核功率,以使整體體積變小。”
這是一個正在進行中的研究領(lǐng)域,但是解決方案的技術(shù)路線現(xiàn)在還并不明朗。隨著越來越多的比特被放置到芯片上,它們會變得越來越小,所以一個比特就容納不下太多的電子了。結(jié)果是,很難確定這個比特位到底是1還是0,而且它們保持所需電子狀態(tài)的時間可能會降低,所以需要更加頻繁地進行刷新。
新材料和新cell設(shè)計可能會有所幫助。另一個選擇可能是管理PHY的電源,但是所有事物之間都存在循環(huán)依賴關(guān)系,因此PHY面臨的挑戰(zhàn)確實非常困難。
Woo表示:“隨著速度的提高,需要做更多的工作來確保數(shù)據(jù)的正確傳輸,這里存在著一場拉鋸戰(zhàn)。這和拍賣師很相似,他們開口就得大聲說話。在PHY上也有同樣的現(xiàn)象。為了繼續(xù)區(qū)分信號,您必須具有適當(dāng)?shù)姆龋虼颂魬?zhàn)之一是如何設(shè)定正確的幅度,避免信號的模糊,以確保對方接收到的正是您所發(fā)送的。為了清楚地指明在數(shù)據(jù)線路上來回通信的符號,需要進行大量的工作。也有一些其他嘗試降低幅度的技術(shù),但它們都是折衷方案。通常,人們不希望更改其基礎(chǔ)架構(gòu)。如果其它條件不變的話,人們會選擇增量式的改進而不是革命性的改進。這就是挑戰(zhàn)所在之處。”
片上存儲器與片外存儲器
如今,AI/MLSoC架構(gòu)中的另一個重大折衷是將內(nèi)存放在哪里。盡管很多時候AI芯片都具有片上存儲器,但片外存儲器對于AI的訓(xùn)練至關(guān)重要。
Cadence的Greenberg說:“問題主要在于您要為神經(jīng)網(wǎng)絡(luò)存儲多少數(shù)據(jù)。每個神經(jīng)元都需要一定數(shù)量的存儲空間。每個人都希望使用片上存儲器,只要您有條件可以使用片上存儲器,肯定就想使用它。它的速度超快,功耗超低,但是價格昂貴。在預(yù)算一定的情況下,您在主芯片上放每一平方毫米的內(nèi)存就意味著芯片上的邏輯和其他功能就少了一平方毫米的面積。”
片上存儲器非常昂貴,因為它實質(zhì)上是使用邏輯工藝制造的。他說:“假設(shè)我現(xiàn)在使用的邏輯工藝是7nm或5nm工藝,如果制造一個16層內(nèi)存的話,將會非常昂貴。如果您可以在分立芯片上制造內(nèi)存,則可以針對成本目標優(yōu)化內(nèi)存工藝。不僅不需要怎么限制金屬層的數(shù)量,而且分立內(nèi)存芯片的每平方毫米成本大大低于7nm或5nm邏輯芯片的每平方毫米成本。”
大多數(shù)AI/ML工程團隊都在為選擇片內(nèi)存儲還是片外存儲而苦苦掙扎,因為這些設(shè)計仍處于其生命周期的早期。Greenberg說:“每個人剛開始時都希望使用片內(nèi)內(nèi)存。這方面真沒有真正可以查閱的標準。在大多數(shù)AI芯片中,其版圖布局實際上是有所不同的。業(yè)界尚未決定AI的最佳架構(gòu),因此,我們現(xiàn)在基本上仍處于AI芯片架構(gòu)的試驗階段,并朝著大多數(shù)人可能會適應(yīng)的方向發(fā)展。所以,今天的AI設(shè)計仍然非常開放,我們可以看到很多創(chuàng)新。那么,該如何推薦內(nèi)存類型呢?實際上,這個問題又回到了每個人查看內(nèi)存時的一些關(guān)鍵參數(shù)上,您需要多少內(nèi)存?需要存儲多少GB的數(shù)據(jù)?速度想達到多快?您能安排多少PCB面積?你想花多少錢?每個人在求最優(yōu)解時的方法都多多少少會有所不同。”
這些決定會影響AI/ML芯片的各個方面,包括專用加速器。那里的主要選擇取決于性能、功率和面積,云計算和邊緣計算芯片之間的界限很清晰。
CadenceTensilica集團產(chǎn)品營銷總監(jiān)SuhasMitra說:“云計算和邊緣計算這兩種情況存在千差萬別。它們是有相似之處,但更大的是不同之處。如果您正在為數(shù)據(jù)中心云設(shè)計處理器,那么就如何存儲,選擇什么樣的內(nèi)存層次結(jié)構(gòu)、如何放置內(nèi)存等方面,功率和面積就很有意義。”
對于邊緣計算,權(quán)衡的復(fù)雜性仍繼續(xù)增加,在傳統(tǒng)PPA(功率、性能、面積)公式中增加了第四個變量-帶寬。Mitra說:“討論的范疇?wèi)?yīng)該是關(guān)于PPAB的,因為我們需要就這四個因素不斷地進行權(quán)衡調(diào)整。在AI/ML處理器設(shè)計或加速器設(shè)計中,如何確定功率、性能、面積、帶寬的折衷,在很大程度上取決于工作負載的性質(zhì)。從根本上講,當(dāng)您談?wù)撨吘売嬎愕膯栴}時,在考慮有限的面積內(nèi)實現(xiàn)了多少性能時還必須考慮到能源效率問題,或者說,消耗這些功率,我可以獲得多少性能?我們一直在關(guān)注這些指標。”
他指出,這就是為什么人們花了這么多的時間在內(nèi)存接口上的原因。對于處理器/加速器設(shè)計者,這些考量會采用不同的形式。“形式基本上與AI工作負載有關(guān)。我如何確保當(dāng)我的工作空間很小時,可以以非常有效的方式進行計算?之所以如此,是因為您不能為了計算犧牲太多的面積或太大的功率。實現(xiàn)這個工作負載,最佳的配置是什么?您可以查看不同的工作負載,并嘗試計算出應(yīng)該是什么,每秒應(yīng)該有多少幀,每秒每瓦應(yīng)有多少幀,每秒每平方毫米應(yīng)有多少幀。”
結(jié)論
人工智能的體系架構(gòu)仍處于快速進化的狀態(tài)。所有人都在猜測它何時穩(wěn)定以及是否會穩(wěn)定下來,這使得判斷自己的選擇是否正確及其正確性會持續(xù)多久變得更加困難。
“您走對路了嗎?這個問題很明確,但是有很多不同的答案。”Mitra說。“在傳統(tǒng)處理器設(shè)計中,如果我以這樣的方式設(shè)計它,那么它看起來就是這個樣子。因此,所有人都去設(shè)計處理器IP,人們還設(shè)計出一些變體,例如VLIW與超標量等。但是,最終勝出的永遠不會只有一種設(shè)計。您會發(fā)現(xiàn)有許多可以勝出的設(shè)計。這幾乎就像是說給了您40個選項,而不是一個解決方案。展望未來,您將看到人們將做出更多這些架構(gòu)選擇,因為AI對于不同的垂直領(lǐng)域具有許多不同的含義。”
責(zé)任編輯人:CC
評論
查看更多