圖靈獎(jiǎng)得主Jack Dongarra:高性能計(jì)算與AI大融合,如何顛覆科學(xué)計(jì)算
在過(guò)去的三十年間,高性能計(jì)算(HPC)取得了突飛猛進(jìn)的進(jìn)展,在科學(xué)計(jì)算等領(lǐng)域發(fā)揮著重要的作用。而當(dāng)前,云計(jì)算和移動(dòng)計(jì)算正逐漸成為主流的計(jì)算范式,與此同時(shí)深度學(xué)習(xí)等AI方法所帶來(lái)的顛覆性影響,給HPC與AI的融合帶來(lái)了新的挑戰(zhàn)和機(jī)遇。在第十屆全國(guó)社會(huì)媒體處理大會(huì)(SMP 2022)上,圖靈獎(jiǎng)得主Jack Dongarra梳理了高性能計(jì)算近年來(lái)最主要的應(yīng)用和發(fā)展。
Jack Dongarra,高性能計(jì)算專家,2021年圖靈獎(jiǎng)獲得者,美國(guó)田納西大學(xué)創(chuàng)新計(jì)算實(shí)驗(yàn)室主任。其對(duì)數(shù)值算法和庫(kù)的開(kāi)創(chuàng)性貢獻(xiàn),使高性能計(jì)算軟件在四十多年中與硬件的指數(shù)級(jí)改進(jìn)保持同步。他獲得過(guò)諸多學(xué)術(shù)成就,包括 2019 年他獲得 SIAM / ACM 計(jì)算科學(xué)與工程獎(jiǎng),2020 年他因高性能數(shù)學(xué)軟件領(lǐng)域的領(lǐng)導(dǎo)能力獲得 IEEE 計(jì)算機(jī)先鋒獎(jiǎng)。他是 AAAS、ACM、IEEE 和 SIAM 的研究員,英國(guó)皇家學(xué)會(huì)的外國(guó)研究員,以及美國(guó)國(guó)家工程院的成員。
1 高性能計(jì)算廣泛應(yīng)用于科學(xué)的“第三極”
當(dāng)前,高性能計(jì)算(HPC)方法廣泛地應(yīng)用于科研仿真,而仿真也被譽(yù)為科學(xué)研究的“第三極”。一直以來(lái),科學(xué)研究和工程研究通常采用基于理論和實(shí)驗(yàn)的范式。然而,這兩種方法存在很多固有的限制,比如,通常建造大型的風(fēng)洞非常的困難,試驗(yàn)飛機(jī)引擎與飛鳥碰撞的成本將非常昂貴,等待觀察氣候變化將會(huì)非常的耗時(shí)與緩慢,新藥品和武器等試驗(yàn)將會(huì)非常的危險(xiǎn)等等。此外,我們有時(shí)無(wú)法通過(guò)實(shí)驗(yàn)來(lái)研究某些問(wèn)題,比如研究星系運(yùn)動(dòng)和研發(fā)新藥品等。因此,研究者們逐漸利用科學(xué)計(jì)算手段進(jìn)行仿真,研究此類問(wèn)題。這種方法通常基于已知的物理規(guī)律和數(shù)字計(jì)算方法,通過(guò)高性能的計(jì)算機(jī)系統(tǒng)仿真相應(yīng)的物理現(xiàn)象。
2 算力之巔——超級(jí)計(jì)算機(jī)
人們一般基于商品化的成熟芯片構(gòu)建典型的超級(jí)計(jì)算機(jī),在一個(gè)板卡上集成多個(gè)芯片,每個(gè)芯片中都擁有多個(gè)核心(Core)。同時(shí),通常會(huì)在板卡上使用圖形處理單元(GPU)等作為增強(qiáng)算力的加速器。在同一機(jī)架柜上,不同的板卡通過(guò)高速的鏈接進(jìn)行通信,不同的機(jī)柜通過(guò)交換機(jī)(switch)互聯(lián)在一起,這樣組成的一個(gè)超級(jí)計(jì)算機(jī)可能需要占用兩個(gè)網(wǎng)球場(chǎng)那么大的空間。
這樣的超級(jí)計(jì)算機(jī)的并行性非常之高,通常采用的是分布式內(nèi)存和「MPI+Open-MP」的編程范式。與數(shù)據(jù)的浮點(diǎn)計(jì)算相比,在HPC系統(tǒng)不同部分之間數(shù)據(jù)的移動(dòng)非常的昂貴?,F(xiàn)有的超級(jí)計(jì)算機(jī)支持包括64,32,16,8等位寬的不同的精度的浮點(diǎn)計(jì)算。
當(dāng)前,最快的超級(jí)計(jì)算機(jī)能夠提供Exaflop/s級(jí)別(1018)的算力。這是一個(gè)非常巨大的數(shù)值,如果每個(gè)人一秒鐘完成一次乘加計(jì)算,那么,需要全球所有人花費(fèi)四年的時(shí)間才能完成超級(jí)計(jì)算機(jī)一秒鐘完成的計(jì)算。同時(shí),為了維持這樣的超級(jí)計(jì)算機(jī)的運(yùn)轉(zhuǎn),每年需要花費(fèi)千萬(wàn)美元的電費(fèi)。
從過(guò)去近三十年間全球超級(jí)計(jì)算機(jī)TOP500的性能變化情況可以發(fā)現(xiàn),超算性能近乎保持著指數(shù)級(jí)的增長(zhǎng)速度。有趣的是,如今日常所用的MacBook的性能,比1993年當(dāng)時(shí)世界上最先進(jìn)的超級(jí)計(jì)算機(jī)的性能還要強(qiáng)大,當(dāng)時(shí)那臺(tái)計(jì)算機(jī)制造于洛斯阿拉莫斯國(guó)家實(shí)驗(yàn)室,主要用于核武器設(shè)計(jì)。今年6月的數(shù)據(jù)顯示,全球排名前10的超級(jí)計(jì)算機(jī)當(dāng)中,有5個(gè)來(lái)自美國(guó),有2個(gè)來(lái)自中國(guó)(分別位于無(wú)錫和廣州),其余3個(gè)來(lái)自芬蘭、日本和法國(guó)。
3 “和而不同”的HPC & ML/AI
HPC和ML計(jì)算有著即相似又不同的特性。HPC屬于數(shù)字計(jì)算密集型的,通常輸入非常有限的數(shù)據(jù),經(jīng)過(guò)非常大量的數(shù)字計(jì)算,輸出大量的數(shù)據(jù)。而在ML領(lǐng)域進(jìn)行高性能數(shù)據(jù)處理(HPDA),通常需要輸入大量的數(shù)據(jù),輸出的卻是相對(duì)比較少的數(shù)據(jù)。兩者使用的數(shù)據(jù)精度也非常不同,在科學(xué)仿真等高性能計(jì)算場(chǎng)景下通常使用64比特浮點(diǎn)數(shù)據(jù),而在機(jī)器學(xué)習(xí)場(chǎng)景下會(huì)使用16比特浮點(diǎn)數(shù)據(jù)。
?
AI在科學(xué)研究的諸多不同的方面發(fā)揮著非常重要的作用:AI能夠在不同領(lǐng)域輔助科學(xué)發(fā)現(xiàn),提高計(jì)算體系結(jié)構(gòu)的性能,以及在邊緣管理和處理大量數(shù)據(jù)。因此,在科學(xué)計(jì)算領(lǐng)域機(jī)器學(xué)習(xí)等技術(shù)被應(yīng)用到氣候?qū)W、生物學(xué)、藥學(xué)、流行病學(xué)、材料學(xué)、宇宙學(xué)甚至高能物理等等很多學(xué)科以提供增強(qiáng)的模型和更先進(jìn)的仿真方法。比如,用深度學(xué)習(xí)輔助藥品研發(fā)、預(yù)測(cè)流行病以及對(duì)基于醫(yī)學(xué)影像的腫瘤進(jìn)行分類等等。
科研仿真和AI計(jì)算可以非常有效地進(jìn)行聯(lián)合,因?yàn)槎叨夹枰P秃蛿?shù)據(jù)。通常,仿真使用(數(shù)學(xué))模型產(chǎn)生數(shù)據(jù),(AI)分析使用數(shù)據(jù)來(lái)生成模型。使用分析方法得到的模型和其他的模型一起可以被用到仿真中去;仿真產(chǎn)生的數(shù)據(jù)和其他來(lái)源的數(shù)據(jù)一起可以被用于分析。這樣就形成了一個(gè)相互促進(jìn)的良性循環(huán)。
除了在具體的應(yīng)用領(lǐng)域相互補(bǔ)充之外,HPC&AI在基本開(kāi)發(fā)方法、軟件與軟件基礎(chǔ)設(shè)施和AI硬件架構(gòu)等領(lǐng)域都有非常多的聯(lián)系。同時(shí)也將二者更廣泛地聯(lián)系起來(lái),比如:AI可以用來(lái)引導(dǎo)仿真、更快地調(diào)整仿真應(yīng)用的參數(shù)、提供定制化的計(jì)算核函數(shù),以及將傳統(tǒng)的HPC和神經(jīng)形態(tài)計(jì)算相結(jié)合等很多內(nèi)容。AI&ML具有顛覆性的影響力,正如通常所說(shuō):「AL&ML并不會(huì)代替科學(xué)家,但是使用AI&ML工具的科學(xué)家會(huì)代替那些不使用這些工具的科學(xué)家」。
4 展望未來(lái):HPC系統(tǒng)將更加定制化
未來(lái)的HPC系統(tǒng)將可以被定制化。當(dāng)前,HPC主要有CPU和GPU兩種類型的處理器,未來(lái)將采用更多不同的單元,比如FPGA、ML加速器和ASIC芯片等等。更多采用不同結(jié)構(gòu)和范式的處理器將會(huì)越來(lái)越多地添加HPC計(jì)算系統(tǒng)當(dāng)中,比如神經(jīng)形態(tài)處理處理、量子計(jì)算以及光計(jì)算等或?qū)l(fā)揮越來(lái)越重要作用。在構(gòu)建新的HPC系統(tǒng)的時(shí)候,人們將能夠按需使用相應(yīng)的模塊與功能。
5 總結(jié)
HPC硬件在不斷地演進(jìn),有標(biāo)量計(jì)算機(jī)器、向量計(jì)算機(jī)器、分布式系統(tǒng)、加速器以及混合精度計(jì)算機(jī)器等等。當(dāng)前計(jì)算機(jī)領(lǐng)域發(fā)生著三個(gè)重大的變化,高性能計(jì)算、深度學(xué)習(xí)、以及邊緣計(jì)算與人工智能。算法和軟件應(yīng)該隨著硬件不斷的進(jìn)化,正如Leiserson等人的論文所述,在摩爾定律之后,仍然存在很大的空間可以通過(guò)算法、軟件和硬件架構(gòu)去提升HPC系統(tǒng)的終極性能。
6 Q&A
問(wèn)題1:當(dāng)前,業(yè)界和學(xué)界都比較關(guān)注神經(jīng)網(wǎng)絡(luò)大模型的訓(xùn)練,比如GPT3等具有超過(guò)1700億的參數(shù)量,通常需要百個(gè)高性能的GPU訓(xùn)練1~3個(gè)月。未來(lái)采用高性能計(jì)算機(jī)可以在幾天或幾個(gè)小時(shí)內(nèi)完成相關(guān)的訓(xùn)練嗎?
回答1:GPU給計(jì)算機(jī)提供了強(qiáng)大的數(shù)值計(jì)算的能力。例如,超級(jí)計(jì)算機(jī)中98%的算力來(lái)自于GPU。而在CPU和GPU之間移動(dòng)數(shù)據(jù)非常耗時(shí)。為了減少成本高昂的數(shù)據(jù)移動(dòng),可以通過(guò)將GPU和CPU距離更加貼近的方法,采用Chiplet等芯片設(shè)計(jì)方法或更為切實(shí)可行的實(shí)現(xiàn)路徑。另外,直接將數(shù)據(jù)和對(duì)應(yīng)的處理單元離得更近的方法對(duì)于解決數(shù)據(jù)搬運(yùn)成本高昂的問(wèn)題也將非常有幫助。
問(wèn)題2:我們觀察到一個(gè)現(xiàn)象,當(dāng)前很多機(jī)器學(xué)習(xí)算法可以和硬件一起演化,并且相互影響。比如,當(dāng)前ML領(lǐng)域性能最好的Transformer模型,英偉達(dá)等公司專門為其設(shè)計(jì)了專用的架構(gòu),使得Transformer更好用。您是否觀察到這樣的現(xiàn)象,如何評(píng)論?
回答2:這是一個(gè)非常好的例子,展現(xiàn)了硬件設(shè)計(jì)和其他方面的相互促進(jìn)。當(dāng)前很多硬件研究人員密切關(guān)注行業(yè)的變化,并對(duì)趨勢(shì)做出判斷。將應(yīng)用與硬件進(jìn)行聯(lián)合設(shè)計(jì)可以顯著地提升性能,進(jìn)而銷售更多的硬件。我認(rèn)同這種「算法和硬件共同演化」的說(shuō)法。
問(wèn)題3:您指出未來(lái)高性能計(jì)算將是一個(gè)異構(gòu)的混合體。集成這些部分將是一個(gè)非常困難的問(wèn)題,甚至將會(huì)導(dǎo)致性能的降低。如果我們只是單純地使用GPU,可能會(huì)導(dǎo)致更好的性能。您如何評(píng)價(jià)?
回答3:當(dāng)前,高性能計(jì)算機(jī)中將CPU和GPU非常松散地耦合在一起,需要將數(shù)據(jù)從CPU傳輸?shù)紾PU上進(jìn)行計(jì)算。未來(lái),采用不同的硬件相互耦合到一起的趨勢(shì)會(huì)繼續(xù)延續(xù)。比如,使用專門的硬件做ML計(jì)算,可以是對(duì)GPU的進(jìn)一步的增強(qiáng)。通過(guò)將ML相關(guān)的算法加載到對(duì)應(yīng)的加速器上,在加速器上執(zhí)行算法的細(xì)節(jié)并將計(jì)算結(jié)果傳輸給對(duì)應(yīng)的處理器。未來(lái)也可實(shí)現(xiàn)可插拔的量子加速器,使其執(zhí)行對(duì)應(yīng)的量子算法等等。
問(wèn)題4:HPC是非常昂貴的,尤其對(duì)于研究者和中小企業(yè)而言。是否存在類似云計(jì)算等方式能夠讓從事研究的師生和中小企業(yè)也用得起HPC?
回答4:在美國(guó),使用HPC需要向有關(guān)部門提交相關(guān)的申請(qǐng),說(shuō)明正在研究的問(wèn)題和需要的計(jì)算量。如果得到批準(zhǔn),就不用擔(dān)心HPC使用的費(fèi)用問(wèn)題。在美國(guó)進(jìn)行過(guò)一項(xiàng)是否應(yīng)該將所有的HPC轉(zhuǎn)變?yōu)榛谠频南到y(tǒng)的研究。結(jié)果表明,基于云的方案比直接使用HPC系統(tǒng)貴2-3倍。需要注意的是這背后的經(jīng)濟(jì)學(xué)假設(shè):HPC被足夠多的人共同使用,并且需要解決的問(wèn)題有時(shí)需要使用整個(gè)HPC系統(tǒng)。這種情形下?lián)碛幸粋€(gè)專用的HPC更優(yōu)于購(gòu)買云服務(wù)。在美國(guó)和歐洲所觀察到的現(xiàn)狀是這樣。