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