加速AI計算
隨著(zhù) AI 大模型的發(fā)展,如何加速計算成了行業(yè)想要突破的重點(diǎn)領(lǐng)域。大模型的蓬勃發(fā)展讓 AI 芯片成為了熱門(mén)話(huà)題。為了更好地支持 AI 大模型,如何提高 AI 芯片性能也成為了產(chǎn)業(yè)關(guān)注的話(huà)題。
本文引用地址:http://dyxdggzs.com/article/202311/452538.htm在談?wù)?AI 芯片性能的時(shí)候,首先想到的一個(gè)指標就是算力即每秒操作數,通常用 TOPS(Tera Operations Per Second)來(lái)表示,例如 NVIDIA 的 H100INT8 Tensor Core 可以達到 3958TOPS。
AI 芯片的算力固然重要,但也并不能了解芯片的能效,尤其是對于邊緣端芯片,低功耗是一個(gè)剛需指標。因此,通常使用單位功率下的每秒操作數來(lái)衡量芯片的能效,常用單位為 TOPS/W。以英偉達 Orin 舉例,200 TOPS 算力下,功耗 45W 的話(huà),能效為 200TOPS/45W=4.44TOPS/W。
再展開(kāi)了解,除了每秒操作數和能效,AI 芯片的性能的衡量還和時(shí)延、功耗、芯片成本/面積、吞吐量、可擴展性、靈活性和適用性和熱管理等。既然 AI 芯片的衡量指標有這么多,那么想要提升芯片的表現也就需要從改善這些方面下手。
AI 芯片知多少
在探討如何提升 AI 芯片性能之前,先來(lái)了解一下幾個(gè) AI 芯片的指標的影響因素。
1. 時(shí)延
時(shí)延通常與 AI 神經(jīng)網(wǎng)絡(luò )處理的數據大?。ò?Batch size)有關(guān)。反映的是 AI 芯片的實(shí)時(shí)性能,主要適用于客戶(hù)端應用。
2. 功耗
在云端、邊緣和終端,功耗都是十分重要的指標。功耗包括芯片中計算單元的功率消耗,也包括片上存儲和片外存儲的功率消耗。
3. 芯片成本/面積
裸片面積對成本有直接影響,每片晶圓上產(chǎn)出的合格芯片越多,單個(gè)芯片的成本就越低。相同的設計,芯片面積大小取決于所用的工藝技術(shù)節點(diǎn),節點(diǎn)越小,面積就越小。這也就解釋了為什么行業(yè)一直在追求更先進(jìn)節點(diǎn)。
4 吞吐量
單位時(shí)間內能夠處理的數據量。對于視頻應用來(lái)說(shuō),通常用分辨率和 FPS(Frames Per Second,也就是幀率)來(lái)表示,大的吞吐量能夠保證視頻畫(huà)面的連續性。提高吞吐量的方法包括:提高時(shí)鐘頻率、增加處理單元數量、提高處理單元的利用率等。
5. 可擴展性
可擴展性表示是否可以通過(guò)擴展處理單元及存儲器來(lái)提高計算性能,Scale up 指對單個(gè) AI 芯片的架構,通過(guò)添加更多的處理單元,核數和存儲器來(lái)提升芯片整體性能。Scale out 指是由多個(gè) AI 芯片構成的系統,通過(guò)添加更多 AI 芯片來(lái)提升系統的整體性能。(性能包括:運算能力,還有存儲能力和數據傳輸能力等)以英偉達 H100 為例,這款 GPU 包括多個(gè)規格,這也讓算力范圍實(shí)現了 26 teraFLOPS~3958 TOPS*的不同表現。
6. 靈活性和適用性
靈活性和適用性決定了相同的設計是否可以應用在不同的領(lǐng)域,以及芯片是否可以運行不同的深度學(xué)習模型,這一指標可能設計許多軟件層面的工作。
7. 熱管理
隨著(zhù)單位面積中的晶體管數量不斷增加,芯片工作時(shí)的問(wèn)題急劇升高,需要有較好的熱管理方案。常見(jiàn)的散熱方法為風(fēng)扇散熱,谷歌的 TPUv3 則用到了最新的液體冷卻技術(shù)。如一款 AI 芯片算力相當高,但功耗也同樣很高,經(jīng)常一過(guò)熱就要導致自動(dòng)降頻這樣的 AI 芯片也很難說(shuō)是一款優(yōu)秀的 AI 芯片。
AI 芯片的限制
提到 AI 芯片的限制,就不得不提到「馮·諾依曼瓶頸」,而這個(gè)詞已經(jīng)不再那么陌生。
在傳統馮·諾伊曼體系結構中,數據從處理單元外的存儲器提取,處理完之后再寫(xiě)回存儲器。在 AI 芯片實(shí)現中,由于訪(fǎng)問(wèn)存儲器的速度無(wú)法跟上運算部件消耗數據的速度,再增加運算部件也無(wú)法得到充分利用,即形成所謂的馮·諾伊曼「瓶頸」,或「內存墻」問(wèn)題,是長(cháng)期困擾計算機體系結構的難題。
這也就引出一個(gè)提高 AI 性能的路徑,即支持高效的數據訪(fǎng)問(wèn)。例如利用高速緩存 (Cache) 等層次化存儲技術(shù)盡量緩解運算和存儲的速度差異。
AI 芯片中需要存儲和處理的數據量遠遠大于之前常見(jiàn)的應用。大部分針對 AI,特別是加速神經(jīng)網(wǎng)絡(luò )處理而提出的硬件架構創(chuàng )新都是在和馮·諾伊曼的瓶頸做斗爭。
在架構層面可以減少訪(fǎng)問(wèn)存儲器的數量,比如減少神經(jīng)網(wǎng)絡(luò )的存儲需求、 數據壓縮和以運算換存儲等 ;也可以降低訪(fǎng)問(wèn)存儲器的代價(jià),盡量拉近存儲設備和運算單元的「距離」,甚至直接在存儲設備中進(jìn)行運算。
從 AI 芯片設計的角度來(lái)說(shuō),要達到較好的性能和能效,最好是對架構級、算法級和電路級三個(gè)層面進(jìn)行跨層設計,以實(shí)現對各種指標的總體權衡。
使用領(lǐng)先的工藝節點(diǎn)是過(guò)去的重要途徑,但由于基礎物理原理限制和經(jīng)濟的原因,持續提高集成密度將變得越來(lái)越困難。目前,CMOS 器件的橫向尺寸接近幾納米,層厚度只有幾個(gè)原子層,這會(huì )導致顯著(zhù)的電流泄漏,降低工藝尺寸縮小的效果。此外,這些納米級晶體管的能量消耗非常高,很難實(shí)現密集封裝。
因為工藝的提升空間有限,是否有其他角度的解決方案能突破 AI 芯片的技術(shù)瓶頸。
兩種解決方法
1. 類(lèi)腦芯片
在計算架構和器件層面,類(lèi)腦芯片是一個(gè)不錯的思路。神經(jīng)元和大腦突觸的能量消耗比最先進(jìn)的 CMOS 器件還低幾個(gè)數量級。IBM 的 Neuromorphic 的終極理念是把記憶和運算建立在高維連接上,而不是器件上;當然最終也降低了運算功耗。許多人工智能算法在其程序中模擬神經(jīng)網(wǎng)絡(luò )。他們使用并行處理來(lái)識別圖像中的對象和語(yǔ)音中的單詞。
近期,IBM 推出了一款新的類(lèi)腦芯片 NorthPole「北極」,北極模糊了計算和存儲之間的界限,IBM 研究院的 Dharmendra Modha 表示,「在單個(gè)內核級別,NorthPole 顯示為接近計算的內存,而在芯片外部,在輸入輸出級別,它顯示為活動(dòng)內存。這使得 NorthPole 易于集成到系統中,并顯著(zhù)降低了主機上的負載?!?/span>
英特爾也推出了 Loihi 神經(jīng)形態(tài)計算處理機器。應用腦研究聯(lián)合首席執行官、滑鐵盧大學(xué)教授克里斯·埃利亞史密斯 (Chris Eliasmith) 是使用這項新技術(shù)的幾位研究人員之一。他表示 「使用 Loihi 芯片,我們已經(jīng)能夠證明運行實(shí)時(shí)應用程序時(shí)的功耗降低了 109 倍。 深度學(xué)習 與 GPU 相比,功耗降低了 5 倍……更好的是,當我們將網(wǎng)絡(luò )擴展 50 倍時(shí),Loihi 可以保持實(shí)時(shí)性能結果,并且僅使用 30% 的電量,而物聯(lián)網(wǎng)硬件使用的電量增加了 500%,并且不再是實(shí)時(shí)的?!?/span>
2. 存算一體
近年來(lái),可以存儲模擬數值的非易失性存儲器發(fā)展迅猛,它可以同時(shí)具有存儲和處理數據能力,可以破解傳統計算體系結構的一些基本限制,有望實(shí)現類(lèi)腦突觸功能。(某種意義上存算一體就是實(shí)現類(lèi)腦計算的方式。)
目前比較流行的存內計算范式是——利用存內計算加速 VMM(Vector-Matrix Multiplication)或 GEMM(General Matrix Multiplication)運算。
基于憶阻器內存高速訪(fǎng)問(wèn)、斷電后仍可保存數據的特性,可以實(shí)現內存+硬盤(pán)二合一,解決數據的大量移動(dòng),從而進(jìn)一步實(shí)現了完全在芯片上進(jìn)行學(xué)習任務(wù)。憶阻存內計算范式則被認為是有望解決該問(wèn)題的候選方案之一。以機器學(xué)習為代表的軟計算應用方向已經(jīng)在憶阻陣列上得到了廣泛的驗證,包括神經(jīng)網(wǎng)絡(luò )、數據聚類(lèi)和回歸等諸多領(lǐng)域。同時(shí),以科學(xué)計算和圖像處理為代表的硬計算也成功在憶阻陣列上實(shí)現,并在降低功耗和時(shí)間復雜度等方面取得了很大突破。究其根本,這些應用的發(fā)展都得益于憶阻陣列能夠以很高的并行性執行并行矩陣向量乘法操作,并消除了大量的數據移動(dòng)任務(wù)。然而,憶阻存內計算仍面臨著(zhù)從底層硬件到系統設計各個(gè)層面的不可忽視的挑戰。
2023 年 10 月,清華大學(xué)集成電路學(xué)院教授吳華強、副教授高濱基于存算一體計算范式,研制出全球首款全系統集成、支持高效片上學(xué)習(機器學(xué)習能在硬件端直接完成)的憶阻器存算一體芯片。相同任務(wù)下,該款芯片實(shí)現片上學(xué)習的能耗僅為先進(jìn)工藝下專(zhuān)用集成電路系統的 3%,展現出卓越的能效優(yōu)勢,具有滿(mǎn)足人工智能時(shí)代高算力需求的應用潛力。相關(guān)成果可應用于手機等智能終端設備,還可以應用于邊緣計算場(chǎng)景,比如汽車(chē)、機器人等。
存算一體已經(jīng)成為多個(gè)存儲芯片廠(chǎng)商的主要研究方向。
3. 加速不同組件之間的數據傳輸速度
另一個(gè)問(wèn)題是要解決,設備之間的內存鴻溝:包括內存容量、內存帶寬和 I/O 延遲等問(wèn)題。
過(guò)去服務(wù)器內的芯片連接通常是用 PCIe 完成的,從性能和軟件的角度來(lái)看,使用 PCIe,不同設備之間通信的開(kāi)銷(xiāo)相對較高。此外,連接多臺服務(wù)器通常意味著(zhù)使用以太網(wǎng)或 InfiniBand,這些通信方法存在著(zhù)相同的問(wèn)題,具有高延遲和低帶寬。
2018 年,IBM 和 Nvidia 帶來(lái)了解決 PCIe 與 NVLink 缺陷的解決方案,應用在當時(shí)世界上最快的超級計算機 Summit 上。AMD 在 Frontier 超級計算機中也有類(lèi)似的專(zhuān)有解決方案,名為 Infinity Fabric。之后,英特爾制定了自己的標準,并于 2019 年將其專(zhuān)有規范作為 CXL1.0 捐贈給了新成立的 CXL 聯(lián)盟。該標準得到了半導體行業(yè)大多數買(mǎi)家的支持。
CXL 是一種開(kāi)放式行業(yè)標準互連,可在主機處理器與加速器、內存緩沖區和智能 I/O 設備等設備之間提供高帶寬、低延遲連接,從而滿(mǎn)足高性能異構計算的要求,并且其維護 CPU 內存空間和連接設備內存之間的一致性。CXL 優(yōu)勢主要體現在極高兼容性和內存一致性?xún)煞矫嫔??;跇I(yè)界大多數參與者的支持,CXL 使向異構計算的過(guò)渡成為可能。
CXL 聯(lián)盟已經(jīng)確定了將采用新互連的三類(lèi)主要設備:
智能網(wǎng)卡等加速器通常缺少本地內存。通過(guò) CXL,這些設備可以與主機處理器的 DDR 內存進(jìn)行通信。
GPU、ASIC 和 FPGA 都配備了 DDR 或 HBM 內存,并且可以使用 CXL 使主機處理器的內存在本地可供加速器使用,并使加速器的內存在本地可供 CPU 使用。它們還位于同一個(gè)緩存一致域中,有助于提升異構工作負載。
可以通過(guò) CXL 連接內存設備,為主機處理器提供額外的帶寬和容量。內存的類(lèi)型獨立于主機的主內存。
不同于存內計算,CXL 則是處理器廠(chǎng)商的主要攻克方向。
在加速 AI 計算的硬件之路,不同公司都在探索新的方法。哪些嘗試會(huì )帶來(lái)跨時(shí)代的改變?我們拭目以待。
評論