突破AI應用記憶體瓶頸 老將新秀各出奇招

作者 : Sally Ward-Foxton,EE Times歐洲特派記者

在資料中心運用於訓練AI模型的AI加速器需要最高的可用記憶體頻寬,雖然將整個模型儲存在處理器中可免除晶片外接記憶體,但並非可行解決方案,因為最大的模型需要量測的參數可達到數十億甚至數兆個...

人工智慧(AI)懷疑論者對當前技術中存在的記憶體瓶頸多有批判,認為這將使得處理器和記憶體之間的資料傳輸無法加速,從而阻礙現實世界的應用。

在資料中心運用於訓練AI模型的AI加速器需要最高的可用記憶體頻寬,雖然將整個模型儲存在處理器中可免除晶片外接記憶體,但並非可行解決方案,因為最大的模型需要量測的參數可達到數十億甚至數兆個。過去的系統受到記憶體限制,如今的資料中心架構則利用各種技巧來克服記憶體瓶頸。

高頻寬記憶體

最流行的解決方案之一是利用高頻寬記憶體(HBM),包括將4、8或12顆DRAM裸晶的3D堆疊透過矽中介層連接至處理器。這種方法的最新版本HBM2E具有比其前一代技術更快的每接腳訊號傳輸速率,達到3.6Gb/s,因而可提高頻寬。

韓國記憶體大廠三星(Samsung)與海力士(SK Hynix)都有提供8裸晶HBM2E堆疊,總容量16GB,頻寬高達460GB/s (根據SK Hynix表示,相較之下DDR5頻寬為2.4GB/s,GDDR6為64GB/s)。而再下一代版本HBM3可望進一步提高速度和容量。

Nvidia最新旗艦級資料中心繪圖處理器(GPU) A100可提供80GB的HBM2E性能,以及2TB/s的記憶體頻寬;該款GPU包含5個16GB DRAM堆疊,搭配利用HBM2的40GB版本DRAM,總頻寬可達1.6TB/s,可用於極度消耗記憶體的深度學習推薦AI模型訓練,將速度提高三倍。

在此同時,資料中心處理器(CPU)也在利用HBM頻寬優勢,如英特爾(Intel)透過新一代資料中心處理器Sapphire Rapids將HBM導入Xeon系列產品,這會是該公司首款採用新AMX指令集擴充的資料中心CPU,專為AI等矩陣乘法工作負載設計,還可利用晶片外DDR5 DRAM或DRAM加HBM。

「在一般情況下,CPU會根據容量進行最佳化,加速器和GPU則是根據頻寬最佳化;」Intel資深首席工程師Arijit Biswas在最近一次的Hot Chips大會演說中表示:「然而隨著模型大小呈現指數級成長,我們看到對容量和頻寬的需求也持續成長;Sapphire Rapids能透過對兩者的原生支援來因應需求。」

 

圖1:Nvidia的A100資料中心GPU具有6個HBM2E記憶體堆疊(出於良率原因,僅使用其中5個)

(圖片來源:Nvidia)

 

這種方法亦透過記憶體分層(tiering)得到強化;Biswas補充,「其中包括對軟體可見(software-visible) HBM加DDR的支援,以及將HBM作為DDR支援快取記憶體的軟體透明快取(software transparent caching)。」不過,Sapphire Rapids首席工程師Nevine Nassif先前接受《EE Times》訪問時表示,該HBM版本得付出晶片面積的代價。

「該款產品的裸晶略有不同,還有一個不同於DDR5控制器的HBM控制器。在非HBM版本Sapphire Rapids中,我們在裸晶的某個區域添加了用於加密、壓縮等功能的加速器;在HBM版本中,那些都沒有了──除了資料串流(data-streaming)加速器──但有HBM控制器。」Nassif補充指出:「而且,為支援HBM的頻寬要求,我們必須對網狀網路(mesh)做一些改變。」

 

圖2:DTU 1.0資料中心AI加速晶片有兩個HBM2記憶體堆疊。

(來源:燧原科技)

 

除了CPU和GPU,HBM也很受資料中心FPGA的歡迎;舉例來說,Intel的Stratix和賽靈思(Xilinx)的Versal系列FPGA都有HBM版本。

部份人工智慧ASIC晶片也會採用HBM,如騰訊(Tencent)支援的資料中心AI ASIC開發商上海燧原科技(Enflame Technology)將HBM用於其DTU 1.0元件,該元件還針對雲端AI訓練進行了最佳化;該款80-TFLOPS (FP16/BF16)晶片採用了兩個HBM2堆疊,可提供透過晶片上網路連結的512-GB/s頻寬。

單位成本性能

儘管HBM為資料中心AI加速器所需的晶片外記憶體提供了極高的頻寬,仍存在一些堅持不用的廠商,Graphcore就是其中之一。在一場Hot Chips大會的演說中,Graphcore技術長Simon Knowles指出,在大型AI模型中速度更高的運算同時需要記憶體容量和頻寬,雖然有人會利用HBM來提高這兩者,但權衡因素包括HBM的成本、功耗和熱限制。

 

圖3:Graphcore對不同記憶體技術的容量和頻寬進行比較。當其他人嘗試利用HBM2E因應這兩個方面的需求時,Graphcore卻在其Colossus Mk2 AI加速器晶片上採用了DDR主記憶體搭配晶片上SRAM的組合。

(圖片來源:Graphcore)

 

Graphcore的第二代智慧處理單元(IPU)反而是採用其大型896 MiB晶片上SRAM,來支援其1,472個處理器核心運作所需的記憶體頻寬。Knowles表示,這足以避免DRAM負載分擔(offload)所需的更高頻寬。

他指出,為支援記憶體容量,因太大而無法在晶片上安裝的AI模型,可利用伺服器等級、DDR形式的低頻寬遠端DRAM;這種配置與主處理器搭配,可讓中等規模的模型分散儲存於IPU叢集的SRAM。

有鑑於Graphcore向來以單位成本性能(performance-per-dollar)為基礎推銷IPU,該公司拒用HBM的主要原因似乎就是成本。「HBM整合AI處理器的淨成本,是伺服器等級DDR每位元組(byte)成本的10倍以上;」Knowles指出,「即使容量適中,HBM也主導處理器模組的成本,但如果AI電腦利用DDR,就能以相同的整體擁有成本(TCO)部署更多AI處理器。」

根據Knowles說法,40GB的HBM能有效將封裝後的光罩尺寸(reticle-sized)處理器成本提升三倍。而Graphcore的8GB HBM2與8GB DDR4的成本明細顯示,HBM裸晶尺寸是DDR4的兩倍(將20奈米HBM與Knowles認為是同級產品的18奈米DDR4進行比較),從而增加了製造成本。還有TSV蝕刻、堆疊、組裝與封裝的成本,以及記憶體和處理器製造商的獲利率。

 

圖4:Graphcore對HBM2與DDR4記憶體的成本分析顯示,前者的成本是後者的十倍。

(圖片來源:Graphcore)

 「DDR DIMM不會發生這種利潤堆疊(margin stacking),因為使用者可以直接從記憶體製造商取得;」Knowles表示:「實際上,出現可插拔式電腦零組件生態系的一個主要原因,就是為了避免出現利潤堆疊。」

以多勝寡、以小博大

在Hot Chips大會期間脫離隱身模式的美國矽谷新創公司Esperanto Technologies,則提供了另一種解決記憶體瓶頸問題的方法;該公司的1,000核心RISC-V架構 AI加速器,目標應用是超大規模推薦模型的推論訓練,而非前面提過的AI訓練工作負載。

Esperanto創辦人暨執行董事長Dave Ditzel指出,資料中心推論不需要巨大的晶片上記憶體;「我們的客戶不想要250MB的晶片上記憶體,他們要的是100MB——他們想用推理做的所有事情都是100MB就夠,比那更大的任何工作才會需要更多記憶體。」

Ditzel補充,客戶偏好將大量DRAM與處理器放在同一張板卡、不是晶片上;「他們告訴我們,『只要一次把所有東西都放到板卡上,然後利用高速介面;能以比PCIe匯流排更快的速度存取100GB的記憶體就搞定了。』」

將Esperanto的方法與其他資料中心推論加速器進行比較,Ditzel指出,其他業者專注於消耗整個功率預算的單一巨型處理器,但Esperanto這家新創公司的方法——將多顆低功耗處理器安裝在雙M.2加速卡上——能更妥善利用晶片外記憶體。

他指出,那些單晶片競爭方案的「接腳數量非常有限,因此必須利用像HBM之類的產品才能在少數接腳上實現非常高的頻寬——但HBM確實很昂貴、很難取得而且是高功耗。」

 

圖5:Esperanto透過利用6個較小晶片而非單一大晶片來解決記憶體瓶頸問題,並能留下接腳用於連結LPDDR4x晶片。

(圖片來源:Esperanto Technologies)

 

Esperanto的多晶片解決方案,還可保留更多接腳支援與晶片外DRAM的通訊。除了6個處理器晶片,該公司還採用24顆專為手機設計的廉價、低電壓LPDDR4x DRAM晶片;Ditzel指出:「每位元功耗與HBM大致相同。」

「因為LPDDR4x的頻寬比HBM低,我們可以透過更寬尺寸取得更多頻寬;」他補充:「我們在加速卡的記憶體系統採用1,500位元寬度,而單晶片競爭對手無法負擔1,500位元寬度的記憶體系統,因為每個資料接腳都得搭配一些電源和接地接腳,實在太多接腳了…」

Ditzel 表示:「之前處理過這個問題,我們的建議是,『讓我們把它分開吧!』。」透過822GB/s的記憶體頻寬存取192GB的總記憶體容量,所有64位元DRAM晶片加總可實現1,536位元寬的記憶體系統,分成96個16位元通道,以更妥善處理記憶體延遲,而且這一切都滿足120W的功率預算。

流水線權重

開發晶圓片大小AI加速器的美國新創公司Cerebras Systems,則是設計了一種在晶圓外部的記憶體瓶頸解決方案;該公司在Hot Chips發表了一款用於其CS-2AI加速器系統的記憶體擴展系統MemoryX,鎖定高性能運算和科學工作負載應用。MemoryX旨在實現具備上兆或更多參數的巨大AI模型。

 

圖6:Cerebras Systems的MemoryX是其CS-2晶圓片尺寸引擎系統的晶片外部記憶體擴展,但展現的性能號稱就像在晶片上。

(來源:Cerebras Systems)

MemoryX是DRAM和快閃記憶體的組合,展現的性能號稱就像在晶片上一樣;該架構被宣傳為極具彈性,被設計為可容納4TB到2.4PB (2,000億到120兆個參數)——該容量足以支援世界上最大的AI模型。

Cerebras共同創辦人暨首席硬體架構師Sean Lie表示,為了使其晶片外記憶體表現得像在晶片上一樣,該公司對MemoryX進行最佳化,透過消除延遲產生之影響的方式,將參數和權重資料以串流形式傳輸至處理器。

「我們將記憶體與運算分開,從基礎上將它們分解;」他表示:「這能使通訊變得簡潔直接。我們可以這麼做的理由,是神經網路會根據模型的不同組成部份、以不同方式使用記憶體,因此我們可以為每種類型記憶體和每種類型的運算,設計量身打造的解決方案。」

Lie指出,因為那些模型組成部份被分解,所以「簡化了縮放問題。」在訓練期間,對延遲敏感的激發記憶體必須被立即存取,因此Cerebras會保持晶片上記憶體的激發。

 

圖7:Cerebras在AI訓練期間利用流水線(pipelining)消除對延遲敏感的通訊。

(圖片來源:Cerebras System)

 Cerebras將權重儲存在MemoryX上,然後根據需要將資料串流到晶片。Lie表示,在沒有密切依賴性的情況下,對權重記憶體的使用相對頻率較低,這可用來避免延遲和性能瓶頸。粗粒度(coarse-grained)流水線也避免了資料層之間的依賴,每一層的權重會在前一層完成之前開始串流。

同時,細粒度流水線避免了一代代訓練之間的依賴;後向傳遞的權重更新被同一層的後續前向傳遞所覆蓋。Lie表示:「透過利用這些流水線技術,權重串流執行模型可以隱藏外部權重引起的額外延遲,並且可以達到如同權重在晶圓片上被本地存取時的相同性能。」

 

本文同步刊登於《電子工程專輯》雜誌2022年4月號

責編:Judith Cheng

(參考原文:Memory Bottlenecks: Overcoming a Common AI Problem,By Sally Ward-Foxton)

 

 

加入我們官方帳號LINE@,最新消息一手掌握!

發表評論