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