英特爾的百花齊放與獨(dú)尊儒術(shù)
算力載體形態(tài)從未如今天這樣多元,從老三樣CPU、GPU、FPGA,到新三樣NPU、TPU、DPU,各領(lǐng)風(fēng)騷,如果算上各種小眾處理器名稱(chēng)的術(shù)語(yǔ)縮寫(xiě),據(jù)說(shuō)26個(gè)英文字母都不夠用了。于是,全球處理器龍頭,算力武器庫(kù)最豐富的英特爾決定終結(jié)這一亂局,提出XPU概念。所謂XPU,一如X86中的“X”,是任意的意思,XPU概念將覆蓋CPU、GPU、FPGA和各種專(zhuān)用加速處理芯片,可處理標(biāo)量、矢量、矩陣和空間架構(gòu)等各種計(jì)算要素,是一個(gè)大一統(tǒng)的異構(gòu)計(jì)算體系。
算力載體多元化肇始于數(shù)據(jù)量持續(xù)指數(shù)級(jí)增長(zhǎng),以及數(shù)據(jù)形態(tài)越來(lái)越多元化?,F(xiàn)如今,大量的數(shù)據(jù)并不是易編程處理的結(jié)構(gòu)化數(shù)據(jù),處理形態(tài)多元的數(shù)據(jù)需要新算法與新算力載體支持,一種架構(gòu)包打天下已經(jīng)成為歷史,傳統(tǒng)解決方案耗能巨大難以支撐數(shù)據(jù)增長(zhǎng)勢(shì)頭。在2021世界人工智能大會(huì)上,英特爾研究院副總裁、英特爾中國(guó)研究院院長(zhǎng)宋繼強(qiáng)表示,新時(shí)代科技公司需要融合不同技術(shù),以應(yīng)對(duì)全社會(huì)數(shù)字化轉(zhuǎn)型帶來(lái)的機(jī)遇和挑戰(zhàn)。他說(shuō):“用不同架構(gòu)去處理不同類(lèi)型的數(shù)據(jù),根據(jù)處理速度的要求、帶寬的要求去優(yōu)化,打組合拳好過(guò)只用一種武器解決所有問(wèn)題?!?
從異構(gòu)計(jì)算到超異構(gòu)計(jì)算
XPU概念出現(xiàn)離不開(kāi)異構(gòu)計(jì)算。異構(gòu)計(jì)算是行業(yè)熱點(diǎn),宋繼強(qiáng)曾撰文介紹過(guò)異構(gòu)計(jì)算發(fā)展情況,并提出超異構(gòu)計(jì)算概念,他認(rèn)為,超異構(gòu)計(jì)算將消除當(dāng)前異構(gòu)計(jì)算累積的弊病,打開(kāi)算力增長(zhǎng)空間,滿(mǎn)足人工智能跳躍式發(fā)展對(duì)算力的需求。
異構(gòu)計(jì)算是指在完成一個(gè)任務(wù)時(shí),采用一種以上的硬件架構(gòu)設(shè)計(jì),將其組合在一起,以實(shí)現(xiàn)更優(yōu)性能和功耗表現(xiàn)。異構(gòu)計(jì)算組合方式主要包括:一體化SoC,該方式專(zhuān)用性最強(qiáng)、能耗最低、性能可能也最高,能效比非常好,但只在需求量達(dá)到一定規(guī)模時(shí),才能達(dá)到商用化開(kāi)發(fā)要求的投入產(chǎn)出比;分體式板卡,其優(yōu)勢(shì)是靈活,工程師可以根據(jù)需求隨意組合,但受限于PCB走線與接插件性能,板級(jí)組合系統(tǒng)的功耗和帶寬速度都要打很大折扣。
傳統(tǒng)的異構(gòu)計(jì)算,已經(jīng)不能滿(mǎn)足產(chǎn)業(yè)應(yīng)用對(duì)AI計(jì)算的需求。如下圖所示,一體化SoC(紅線)和分體式板卡(藍(lán)線),分別有著比較明顯的劣勢(shì)。為改變傳統(tǒng)異構(gòu)計(jì)算劣勢(shì),英特爾提出了超異構(gòu)計(jì)算概念。
架構(gòu)融合、異質(zhì)集成和軟件統(tǒng)一構(gòu)成“超異構(gòu)計(jì)算”三要素。架構(gòu)融合,即之前提到的面向標(biāo)量、矢量、矩陣和空間等不同架構(gòu)相互組合,各用所長(zhǎng)。例如,用CPU處理標(biāo)量數(shù)據(jù);用GPU處理矢量運(yùn)算;用深度神經(jīng)網(wǎng)絡(luò)加速器處理塊狀運(yùn)算,進(jìn)行矩陣加速;用FPGA處理稀疏矩陣運(yùn)算,可以大幅降低專(zhuān)用I/O和計(jì)算消耗。
超異構(gòu)計(jì)算與異構(gòu)計(jì)算的主要區(qū)別體現(xiàn)在兩點(diǎn),一個(gè)是異質(zhì)封裝能力,一個(gè)是統(tǒng)一軟件平臺(tái),宋繼強(qiáng)告訴告訴探索科技(techsugar),超異構(gòu)的“‘超’就超在這里?!?
異質(zhì)封裝集成是利用半導(dǎo)體先進(jìn)制造與封裝技術(shù),將不同節(jié)點(diǎn)裸芯片封裝在同一顆產(chǎn)品里面。傳統(tǒng)異質(zhì)集成封裝將芯片平鋪在一起,主要有兩個(gè)缺點(diǎn),第一增加面積,芯片數(shù)量多時(shí)導(dǎo)致封裝面積過(guò)大,成本增加很多;平面集成導(dǎo)致芯片之間連線較長(zhǎng),從而限制了連通帶寬。立體封裝(2.5D或3D封裝)則解決了上述問(wèn)題,將芯片像高樓一樣分層堆疊,讓異質(zhì)集成有了極其廣闊的發(fā)揮空間。
宋繼強(qiáng)在演進(jìn)和受訪時(shí)都強(qiáng)調(diào),當(dāng)前異質(zhì)封裝技術(shù)多是將處理器與存儲(chǔ)器封在一起,目的是為了打破存儲(chǔ)墻,增加處理器與存儲(chǔ)器之間的帶寬。在此之上,英特爾更提出了計(jì)算芯片異質(zhì)封裝,將不同節(jié)點(diǎn)工藝屬性的計(jì)算芯片(Compute Die)封在同一產(chǎn)品內(nèi),更能發(fā)揮不同計(jì)算核心的協(xié)同效力。
多架構(gòu)并存滿(mǎn)足了應(yīng)用對(duì)硬件性能的多樣化需求,但不同架構(gòu)開(kāi)發(fā)工具和環(huán)境往往不同,一個(gè)算法到另外一個(gè)架構(gòu)去實(shí)施往往要重新開(kāi)發(fā),所以異構(gòu)計(jì)算增加了巨大的軟件開(kāi)發(fā)工作量。為解決這一異構(gòu)計(jì)算的最大痛點(diǎn),英特爾在2019年公布o(jì)neAPI項(xiàng)目,這是一個(gè)開(kāi)源跨架構(gòu)的編程模型,為開(kāi)發(fā)者在使用CPU、GPU、FPGA和專(zhuān)用加速器時(shí)提供統(tǒng)一的開(kāi)發(fā)體驗(yàn)。
oneAPI的目的是降低軟件開(kāi)發(fā)者使用異構(gòu)系統(tǒng)的門(mén)檻,減少重復(fù)開(kāi)發(fā)工作,在硬件平臺(tái)升級(jí)后,軟件能以最小開(kāi)發(fā)成本升級(jí)到新一代硬件平臺(tái)。oneAPI開(kāi)放包容,并不囿于英特爾硬件,該編程模型可以支持現(xiàn)在市場(chǎng)上主流計(jì)算硬件,目前已經(jīng)有四五十家企業(yè)、大學(xué)機(jī)構(gòu)宣布支持oneAPI。宋繼強(qiáng)說(shuō):“友商的GPU和CPU,都已經(jīng)有oneAPI支持的案例?!?
集成光電和神經(jīng)擬態(tài)計(jì)算
I/O傳輸瓶頸是當(dāng)代大型計(jì)算系統(tǒng)面臨的另一核心挑戰(zhàn)。計(jì)算能力的提升,帶來(lái)更多數(shù)據(jù)交互需求,當(dāng)前以銅線為主的I/O互連技術(shù)應(yīng)對(duì)起來(lái)就有些左支右絀,難以為繼,I/O模塊的尺寸和功耗都限制了計(jì)算系統(tǒng)的擴(kuò)展。以功耗為例,增加的I/O線路會(huì)消耗大量的電能,這樣計(jì)算模塊分到的電能就非常少。
宋繼強(qiáng)指出,與銅相比,光是理論上更優(yōu)的互連介質(zhì)。但在實(shí)際應(yīng)用中,光互連技術(shù)還有光電轉(zhuǎn)換效率低、光器件體積大等劣勢(shì)。近年來(lái),英特爾在光互連技術(shù)中已經(jīng)取得突破性進(jìn)展,逐漸消除光互連技術(shù)的缺點(diǎn)。例如,英特爾研究院將硅光發(fā)射、調(diào)制和接收模塊等光處理中間過(guò)程模塊尺寸縮小,從而將光模塊和CMOS光處理器整合在一個(gè)芯片中,大幅度縮小整個(gè)系統(tǒng)的尺寸和功耗,從而可以用在服務(wù)器應(yīng)用中。
此外,英特爾100G硅光收發(fā)器累積出貨超過(guò)400萬(wàn)顆;英特爾在2020年推出業(yè)界首個(gè)一體封裝光學(xué)以太網(wǎng)交換機(jī),集成了1.6 Tbps 的硅光引擎與 12.8 Tbps 的可編程以太網(wǎng)交換機(jī)。宋繼強(qiáng)認(rèn)為,集成光電技術(shù)具備變革性能力,非常值得關(guān)注。
神經(jīng)擬態(tài)計(jì)算也是英特爾當(dāng)前的一個(gè)研究重點(diǎn)。英特爾推出的神經(jīng)擬態(tài)計(jì)算基礎(chǔ)芯片Loihi,采用易擴(kuò)展的存算一體架構(gòu),純數(shù)字電路實(shí)現(xiàn),擁有128個(gè)核,每個(gè)神經(jīng)擬態(tài)計(jì)算內(nèi)核模擬1024個(gè)神經(jīng)元計(jì)算結(jié)構(gòu),共13萬(wàn)個(gè)神經(jīng)元,每個(gè)神經(jīng)元又有1000個(gè)突觸連接,共1.3億個(gè)突觸。在一個(gè)應(yīng)用實(shí)施中,英特爾將768個(gè)Loihi芯片連接在一起,做成規(guī)模接近1億神經(jīng)元的系統(tǒng),用于科學(xué)研究。
相比深度學(xué)習(xí)算法,神經(jīng)擬態(tài)計(jì)算的優(yōu)勢(shì)是低功耗與廣適用。英特爾Loihi基于脈沖神經(jīng)網(wǎng)絡(luò)(Spike Neural Network,簡(jiǎn)稱(chēng)SSN),采用異步時(shí)鐘,只有工作的模塊耗電,不工作的部分完全不耗電。宋繼強(qiáng)表示,與傳統(tǒng)深度學(xué)習(xí)加速芯片相比,Loihi用電效率高1000倍。
深度學(xué)習(xí)模型基于數(shù)據(jù)驅(qū)動(dòng),針對(duì)某一個(gè)任務(wù)訓(xùn)練出的算法并不能輕易擴(kuò)展到其他應(yīng)用上。而神經(jīng)擬態(tài)計(jì)算具備自學(xué)習(xí)機(jī)制,系統(tǒng)會(huì)根據(jù)工作時(shí)輸入的數(shù)據(jù)調(diào)整參數(shù)相對(duì)應(yīng)的硬件配置,這樣硬件就能根據(jù)需求不同而演化出不同的模型,其靈活性是深度學(xué)習(xí)算法不能比擬的。
宋繼強(qiáng)介紹,Loihi沒(méi)有乘加器和浮點(diǎn)運(yùn)算單元,其運(yùn)算功能由神經(jīng)元來(lái)實(shí)現(xiàn),開(kāi)發(fā)者可以根據(jù)應(yīng)用將神經(jīng)元?jiǎng)澐譃橐曈X(jué)、語(yǔ)言和數(shù)學(xué)等不同區(qū)域,同時(shí)進(jìn)行多模態(tài)訓(xùn)練。以識(shí)別榴蓮為例,深度學(xué)習(xí)算法要靠成千上萬(wàn)張榴蓮照片訓(xùn)練才能識(shí)別出來(lái),而人則可以通過(guò)看、嗅、摸等多種感覺(jué)去感知榴蓮,不同感知映射成為同一個(gè)符號(hào)“榴蓮”。神經(jīng)擬態(tài)計(jì)算就是模仿人類(lèi)這種認(rèn)識(shí)事物的方式來(lái)運(yùn)作,宋繼強(qiáng)說(shuō):“這就是類(lèi)腦芯片真正想要達(dá)到的目標(biāo),同時(shí)進(jìn)行多個(gè)輸入訓(xùn)練,最后歸結(jié)到一個(gè)符號(hào),識(shí)別準(zhǔn)確度高,而且功耗比較低。”
向應(yīng)用要性能
從名稱(chēng)上來(lái)看,XPU表面是百花齊放,實(shí)質(zhì)是走向統(tǒng)一,任意計(jì)算硬件都可以歸類(lèi)到XPU,從而終結(jié)無(wú)意義的概念之爭(zhēng);oneAPI聽(tīng)起來(lái)是獨(dú)尊儒術(shù),骨子里是百家爭(zhēng)鳴,任意計(jì)算硬件都可以接入oneAPI,在不同架構(gòu)下做開(kāi)發(fā)的軟件工程師都可以在oneAPI平臺(tái)上放飛創(chuàng)意。超異構(gòu)計(jì)算體系就是這樣一個(gè)看似矛盾的開(kāi)放包容與嚴(yán)謹(jǐn)統(tǒng)一具備的結(jié)合體。
數(shù)據(jù)急劇增長(zhǎng)帶來(lái)計(jì)算體系概念的空前繁榮,叫什么都可以,但能否用得上、用得好才是關(guān)鍵,在科研中,可以極致優(yōu)化某一個(gè)維度的性能,但商業(yè)化產(chǎn)品部署,必然是性能、開(kāi)發(fā)成本和運(yùn)維成本折中平衡的結(jié)果。而商業(yè)化方案的成功則離不開(kāi)向應(yīng)用的深度優(yōu)化,即所謂垂直整合,宋繼強(qiáng)認(rèn)為,在超異構(gòu)計(jì)算中,垂直整合比單一技術(shù)創(chuàng)新難度高很多,原因有三:
-
首先,垂直整合需要能夠接觸到實(shí)際應(yīng)用的場(chǎng)景與真實(shí)數(shù)據(jù),根據(jù)應(yīng)用場(chǎng)景需求來(lái)打磨解決方案;
-
其次,多個(gè)領(lǐng)域?qū)<乙芟嗷ヅ浜?,除了通用的算法、硬件和軟件?zhuān)家,還要有領(lǐng)域?qū)<业亩αχС?,才能做出符合垂直?yīng)用需求的好方案;
-
第三,解決方案要能接受市場(chǎng)檢驗(yàn),一兩套方案原型與大規(guī)模商業(yè)化部署的難度差異極大。
宋繼強(qiáng)舉例:“就像現(xiàn)在的一些AI系統(tǒng),原型做了出來(lái),拿到了前一兩輪投資,但到后面商業(yè)化的時(shí)候,還在用原型,那就不行了?!?
垂直整合成功的案例,除了Mobileye的自動(dòng)駕駛整體解決方案,還有英特爾為微軟提供的搜索引擎優(yōu)化方案。在搜索引擎優(yōu)化應(yīng)用中,對(duì)于搜索結(jié)果反饋的實(shí)時(shí)性要求極高,CPU和GPU都難以滿(mǎn)足毫秒級(jí)硬實(shí)時(shí)要求,而由于搜索引擎算法迭代周期短,需要不斷升級(jí)改版,因而ASIC也不適用,所以最終采用了英特爾CPU加FPGA組合,即典型的XPU解決方案。
垂直整合是工程和藝術(shù)的結(jié)合,因?yàn)樾詢(xún)r(jià)比和芯片出廠后的靈活可配置是不可調(diào)和的矛盾。然而開(kāi)發(fā)者總要在限定時(shí)空下去做出選擇,如同英特爾推XPU和oneAPI這兩個(gè)術(shù)語(yǔ)一樣,叫什么不重要,能否落地成為大家接受的行業(yè)標(biāo)準(zhǔn)最重要。