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