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