今天每一個燃燒的 token 背后,都是一次又一次的計算,而在實現(xiàn)這些計算的軟硬件架構(gòu)底層,都會有一小片由 Jack Dongarra 撰寫的代碼在發(fā)揮著作用。
Jack Dongarra 是 2021 年圖靈獎的獲得者。作為 " 計算機界的諾貝爾獎 ",圖靈獎官方給 Dongarra 的評語是:" 他開創(chuàng)性地貢獻了數(shù)值算法和庫,使得高性能計算軟件在四十多年來能夠跟上指數(shù)級的硬件改進。"
Dongarra 的工作主要集中在高性能計算(HPC)領(lǐng)域,而今天 AI 系統(tǒng)在訓(xùn)練和推理過程中嚴(yán)重依賴高性能計算。
" 他的算法和軟件對許多計算科學(xué)領(lǐng)域產(chǎn)生巨大影響,包括 AI 和圖形學(xué)。" 圖靈獎官方這樣評價。
他主導(dǎo)開發(fā)了一系列標(biāo)志性的線性代數(shù)軟件庫,包括早期的 LINPACK、廣泛使用的 BLAS ( Basic Linear Algebra Subprograms ) 以及其后繼者 LAPACK ( Linear Algebra Package ) 。這些庫運轉(zhuǎn)在今天幾乎所有科學(xué)計算設(shè)備的底層。此外,他還參與了 MPI ( Message Passing Interface ) 的設(shè)計與推廣,這是一種在分布式內(nèi)存系統(tǒng)中實現(xiàn)高效并行計算的關(guān)鍵標(biāo)準(zhǔn)。
簡單說,它們解決了每個計算機都需要處理的數(shù)學(xué)問題,并提供了一套統(tǒng)一的 " 積木 " 給各個計算設(shè)備使用。當(dāng)這些計算變得越發(fā)復(fù)雜,對速度越發(fā)挑剔——比如今天全世界的計算資源都潑向的 AI 領(lǐng)域,Dongarra 的研究價值就越發(fā)關(guān)鍵,它們成了支撐今天 AI 最底層的要素。
作為一個計算科學(xué)的奠基者,Dongarra 也密切關(guān)注著今天 AI 的進展,同時還積極投入到與年輕研究者的互動。他連續(xù)多次來中國參加世界三大國際大學(xué)生超算競賽之一的 ASC。今年,這個由亞洲超算協(xié)會主辦、浪潮集團合作舉辦的賽事,在青海舉辦,25 支參賽隊伍親手設(shè)計安裝小型超算集群,完成宇宙中微子探測模擬,青藏高原氣候數(shù)值模擬,以及國際通行基準(zhǔn)測試等前沿科學(xué)應(yīng)用賽題。比賽嚴(yán)格限定 4000 瓦功耗上限,要求選手在算力性能與能源效率間精準(zhǔn)平衡。
——是的,它讓人想到 DeepSeek,在受限的條件下完成最核心的創(chuàng)新和性能的突破。
在 ASC 間隙,我們有機會和 Dongarra 聊了聊,包括 DeepSeek 在內(nèi)的今天 AI 領(lǐng)域人們關(guān)心的多個話題。
作為見證了從普通計算機到科學(xué)計算再到今天正被 AI 改變的計算范式的科學(xué)家,他如何看今天 AI 對計算帶來的挑戰(zhàn),被重塑的科研與工業(yè)界的關(guān)系,以及科學(xué)家在今天這個動蕩世界里的角色,對正被 AI 深刻影響的每個人都十分有參考價值。
以下是對話實錄。
硅星人 :您好,很榮幸有機會與您交流。也許我們可以先談?wù)?ASC,您多次來中國參加 ASC,今年 ASC 有什么讓您印象最深刻的事情嗎?
Jack Dongarra:ASC 為年輕人提供了一個絕佳的競技平臺,讓他們能夠挑戰(zhàn)自我。參賽者需要在一個具備運行真實應(yīng)用能力的硬件平臺上,充分挖掘硬件的挑戰(zhàn)性特性。競賽設(shè)定有嚴(yán)格的功耗預(yù)算,參賽隊伍可以自由組裝包含加速器和標(biāo)準(zhǔn)處理器的機器,但總功耗不能超過限定值。他們需要在獲得指定應(yīng)用程序后,自行搭建集群、組裝硬件、配置軟件環(huán)境(即軟件棧),然后運行這些應(yīng)用程序,力求在自建的系統(tǒng)上榨取最高性能。
如果你走進所有計算機所在的房間,25 支隊伍每支隊伍都有自己的計算機系統(tǒng),那是一個相當(dāng)嘈雜的地方。風(fēng)扇真的很大聲,它們會產(chǎn)生很多噪音,如果你要在那個房間里待很長時間,你最好戴上耳罩,因為它確實會產(chǎn)生很多噪音。
今年共有 25 支隊伍參賽,主力來自中國,同時也吸引了國際隊伍。觀看他們同場競技,并交流各自的機器配置,總是令人興奮不已。其中不乏一些經(jīng)驗豐富的常客,他們在應(yīng)用程序優(yōu)化和系統(tǒng)搭建方面積累了豐富經(jīng)驗,表現(xiàn)通常遠超初次參賽的隊伍。最有趣的是在短時間內(nèi)見證整個賽事進程,觀察各隊如何比拼、如何應(yīng)對挑戰(zhàn),以及他們?nèi)绾卧趤砟昃硗林貋怼⒃俅螞_擊新紀(jì)錄。
硅星人:今天每個人都在談?wù)?AI,我想知道,如果用您自己的話來描述,您的研究工作與今天的 AI 有何關(guān)聯(lián)?比如您的工作如何加速我們今天所談?wù)摰?AI?
Jack Dongarra: 在我的早期工作中,我著手解決的根本問題是如何使數(shù)值算法和軟件,特別是那些用于線性代數(shù)的,在新興的高性能計算系統(tǒng)上高效運行。我相信許多學(xué)科的科學(xué)問題最終都歸結(jié)為求解大型方程組和計算特征值問題。這些任務(wù)計算量很大,挑戰(zhàn)在于早期的超級計算機架構(gòu)復(fù)雜,有時難以獲得一致、可移植的性能。
所以我們需要一個軟件庫,它能夠抽象復(fù)雜性并提供一個非常好的解決方案。我喜歡把它看作一個數(shù)學(xué)上穩(wěn)健的解決方案,并且能夠針對其運行的硬件進行優(yōu)化。那些成果在今天仍然是計算科學(xué)的重要基石。
而對于今天的 AI,它有許多方面,但其中一個方面是,它的核心計算問題依然是一個線性代數(shù)問題。所以我們可以思考的是,在 AI 領(lǐng)域中最重要的那個計算是什么。而對這個問題最簡單的描述就是,它是一個矩陣乘法。
所以如果我們能高效地做矩陣乘法就有助于提高 AI 應(yīng)用程序的性能。因此,在系統(tǒng)架構(gòu)層面實現(xiàn)優(yōu)質(zhì)穩(wěn)定的線性代數(shù)計算模塊(having a good, robust set of linear algebra routines implemented on the architecture),可以使事情運行得更快。
AI 還有一個重要的特點,就是它不需要很高的精度。通常我們認為科學(xué)計算需要 64 位浮點精度,但許多人工智能計算可以用更低的精度完成。如果你用更低的精度,你可以運行得更快,并且占用更少的空間。這是我們在人工智能領(lǐng)域可以優(yōu)化的兩個重要方面。
硅星人 : 您提到了 AI 和 HPC 之間的關(guān)系,那么今天您自己的研究興趣是什么,您現(xiàn)在在研究或技術(shù)突破方面關(guān)注的重點是什么?
Jack Dongarra:我目前關(guān)注的一個核心問題是:如果未來計算機的硬件不再原生支持高性能計算的 64 位精度計算,我們該如何確保依然能獲得 64 位的計算結(jié)果?
過去曾有一些數(shù)學(xué)方法被應(yīng)用過,這些 " 舊 " 思路未來將扮演重要角色。我們正在研究如何利用這些技術(shù)方案,確保在硬件變革中不喪失 64 位的計算精度。我認為從科學(xué)角度看,這是一個非常值得探索的領(lǐng)域。因此,日本、中國、美國等多個國家目前都有大量研究力量聚焦于這一特定方向。
硅星人 : 不僅是您的研究工作在今天已經(jīng)融入了各個 AI 系統(tǒng)里,更重要的是,這些研究背后的哲學(xué)對 AI 研究和產(chǎn)業(yè)界也影響深遠。在我看來,您的研究背后有幾個關(guān)鍵詞,比如基準(zhǔn)(benchmark)、開源、硬件和軟件的協(xié)同,以及很重要的,數(shù)學(xué)在計算機科學(xué)中的重要性。
所以我有幾個圍繞這些關(guān)鍵詞的問題。
第一個是關(guān)于 benchmark (基準(zhǔn))。我知道 Top500 在推動 HPC 的極限或潛力方面非常重要。在今天的 AI 產(chǎn)業(yè)中,基準(zhǔn)也至關(guān)重要。但我們看到,現(xiàn)在有很多不同的評測基準(zhǔn),甚至讓人覺得每天都有新的評測榜單基準(zhǔn)出現(xiàn)。所以我的問題是,您認為 AI 產(chǎn)業(yè)可以從 Top500 這樣的基準(zhǔn)的設(shè)計中學(xué)習(xí)到哪些經(jīng)驗?
Jack Dongarra :Top500 基準(zhǔn)測試始于 20 世紀(jì) 90 年代初,其設(shè)計目標(biāo)非常簡單:旨在提供一種客觀且統(tǒng)一的方法,用以追蹤和比較全球最快超級計算機的性能。當(dāng)時既無標(biāo)準(zhǔn)基準(zhǔn)測試,也無關(guān)于系統(tǒng)及其性能聲明的可靠清單,驗證與比較非常困難。因此,我們引入了 LINPACK 這一極其簡單的基準(zhǔn)作為共同標(biāo)尺,以便能夠以統(tǒng)一的方式衡量不同架構(gòu)的性能。
LINPACK 基準(zhǔn)有許多優(yōu)點,但也存在缺陷。優(yōu)點在于它易于理解、運行和觀察性能。缺點則是它解決的問題曾經(jīng)重要,但如今已非如此。具體而言,在 90 年代初,浮點運算成本高昂,而當(dāng)今硬件中的浮點運算能力已供過于求。LINPACK 解決的是基于稠密矩陣的問題,但大多數(shù)科學(xué)應(yīng)用解決的是稀疏矩陣問題——這雖然也屬于線性代數(shù)范疇,卻與稠密矩陣問題截然不同。
因此,我們需要調(diào)整基準(zhǔn)測試體系。我們既不想丟棄原有基準(zhǔn)信息,又想對其進行補充,即增加新的基準(zhǔn)來衡量其他方面。于是我們推出了名為 HPCG 的新基準(zhǔn),它旨在衡量當(dāng)今高性能機器上運行的實際科學(xué)問題的性能表現(xiàn)。
這仍需要其他基準(zhǔn)的補充,AI 便是一個絕佳例證。單一基準(zhǔn)無法滿足所有需求,我們需要一個基準(zhǔn)集合。這些基準(zhǔn)應(yīng)易于實現(xiàn),并能深入揭示計算機在重要應(yīng)用(尤其是當(dāng)今高性能機器上運行的科學(xué)應(yīng)用)上的性能表現(xiàn)。這樣做是為了全面覆蓋我們機器的實際應(yīng)用場景。
擁有基準(zhǔn)至關(guān)重要,更重要的是這些基準(zhǔn)必須真實反映計算機的實際工作情況。我們應(yīng)當(dāng)預(yù)期基準(zhǔn)會隨時間演進,不斷向集合中添加新的基準(zhǔn),以保持與我們所運行應(yīng)用的高度相關(guān)性。
硅星人 : 這些基準(zhǔn)背后,一個重要的理念是大家必須一起協(xié)作。您也做了很多開源標(biāo)準(zhǔn)的事情。不過,今天人們在談?wù)?AI 時,開源似乎可以說正變得有爭議。來自不同公司的不同人對此有不同的看法。例如,OpenAI,人們真的希望 OpenAI 開源他們的一些模型,但他們還沒有這樣做。也許這背后的原因是今天的 AI,利益和商業(yè)效益或投資回報率已經(jīng)變得如此重要,以至于他們選擇不開源。我想知道您對此有何看法,因為您為開源和標(biāo)準(zhǔn)方面做出了很多貢獻。
Jack Dongarra:對。在科學(xué)界,我們認為要進行實驗,撰寫關(guān)于實驗及其結(jié)果的論文,發(fā)表這些論文,讓人們理解、看到我們所做的,并且能復(fù)現(xiàn)我們所做的,以驗證結(jié)果事實上是準(zhǔn)確的,同時也為人們提供一種方式,甚至可能改進已做的工作。所以,這就是科學(xué)過程。
另一方面則是一個更側(cè)重于商業(yè)、發(fā)展業(yè)務(wù)和賺錢的過程。在那里我們不一定想把所有的秘密都泄露給競爭對手。我們想保留這些秘密并防止它們泄露。
因此有兩件事產(chǎn)生了沖突。科學(xué),我們想開放一切,讓人們看到實驗是如何進行的,并讓他們能夠復(fù)現(xiàn)它。我們正在努力確保我們做正確的事情。以及工業(yè),我們正在某種意義上試圖通過隱藏或不透露所有細節(jié)來保護我們的發(fā)明。這些正是沖突的兩件事。
而 AI,它可能是一個如此賺錢的業(yè)務(wù),以至于人們想要保護他們可能擁有的任何商業(yè)秘密。這的確與我們在科學(xué)中普遍看到的開放性背道而馳了。
硅星人 : 另一個關(guān)鍵詞是軟硬件結(jié)合,您提到您過往的工作,很重要意義在于使軟件能夠跟上快速發(fā)展的硬件能力。今天的情況如何?
Jack Dongarra:硬件隨著我們技術(shù)的進步而不斷變化。在我的職業(yè)生涯中,我見證了順序計算機(sequential computers ) 轉(zhuǎn)變?yōu)橛糜诳茖W(xué)計算的計算機,我見證了向量計算,然后我們有了共享內(nèi)存并行和分布式內(nèi)存并行,現(xiàn)在我們有了加速計算,我們使用 GPU 來幫助加速性能。這些變化是硬件變化,但它們對軟件產(chǎn)生了巨大的影響。
所以軟件必須適應(yīng)新環(huán)境,適應(yīng)我們擁有的新硬件,而這種適應(yīng)導(dǎo)致我們重寫和重構(gòu)軟件,以便它能在這些新平臺上正確工作,并且以一種能夠榨干新硬件所提供的性能的方式進行工作。所以這是一個不斷努力以跟上不斷變化的硬件的過程,它導(dǎo)致我們重寫和重新思考我們實現(xiàn)的底層算法和軟件。
所以每隔幾年我們都必須經(jīng)歷這種變化,去擁抱新的硬件。如果我們不這樣做,那么我們看到的性能,真的不會與我們今天硬件中潛在的性能相匹配。但這是一個必要的努力,如果我們做得正確,我們可以擁有一種可移植的方式來實現(xiàn)它,即接口保持一致,而底層軟件是特定于它打算運行的硬件域的。
硅星人:就著這個話題再問一個具體的問題,今年 ASC 我看到有一些問題或任務(wù)與如何利用 DeepSeek 有關(guān)。DeepSeek 背后的團隊在如何利用硬件和軟件方面做了很多工作。所以我很好奇您對他們工作的看法。您是否關(guān)注過他們的工作,或者您對他們工作的看法是什么?
Jack Dongarra: 是的,DeepSeek 所取得的成就是偉大的(that was a great accomplishment that DeepSeek had)。
他們能夠開發(fā)一個系統(tǒng),并且以比傳統(tǒng)方法更少的資源來完成,這讓每個人都開始思考并試圖更好地理解他們是如何做到的,以及如何可以將它應(yīng)用到自己的 AI 應(yīng)用中。
你知道,一些變化并不經(jīng)常發(fā)生,而它們(一旦出現(xiàn))會促使人們重新審視,甚至可能改變我們的思維方式,這會使每個人都受益。
他們對此持開放態(tài)度并讓人們能看到他們是如何做到的這個事實,我認為是一件好事,因為它讓其他人能夠復(fù)制和擴展,甚至幫它變得更好。
硅星人: 我認為您過往所做的研究工作,以及未來可能關(guān)注的重點,還有一個共同點,就是它們都與數(shù)學(xué)有關(guān)。
我看到現(xiàn)在圍繞人工智能有很多討論,但其實也有不少來自人工智能以外領(lǐng)域的科學(xué)家認為人工智能實際上不是一門科學(xué)。甚至有人說計算機科學(xué)不是一門科學(xué),因為所有在名字里帶有 " 科學(xué) " 一詞的都不是科學(xué)。例如,社會科學(xué)(social science )。所以我想知道您對這種觀點有何看法,因為也有人認為 AI 之所以起伏不定,是因為它缺乏基礎(chǔ)科學(xué)層面的突破,它總是關(guān)于一個黑箱,一些小東西,一個新的名詞或新的概念,但那不是科學(xué)。所以這是一個我認為很有趣的問題。我想知道您對此的看法。
Jack Dongarra: 嗯。我認為你問的這是一個很好的問題。
科學(xué)是發(fā)現(xiàn),發(fā)現(xiàn)新的事物。它是關(guān)于如何利用現(xiàn)有知識來繼續(xù)向前突破,以得到新的知識,以及更好的對事物如何運作的理解。我認為我們利用了計算機來做這些事情,而且做了很多。
我認為擁有幫助我們更快、更準(zhǔn)確地解決問題的計算機,有助于推動科學(xué)向前發(fā)展,并使我們能夠做更多的事情,進行更多的探索,運行更多的實驗,做一些總體上將有助于整個科學(xué)領(lǐng)域的事情。
所以我喜歡把科學(xué)過程看作一個不斷進步的過程,你使用當(dāng)前的知識,提出新的策略,這些策略被付諸實施,改進了以前的工作,然后你把它寫下來,讓人們檢查并看到你為推動科學(xué)向前發(fā)展所做的一切。所以我會說,在計算機科學(xué)里,科學(xué)還是有它的空間的。
硅星人:所以還是該期待人工智能或計算機科學(xué)領(lǐng)域有更多像您這樣有數(shù)學(xué)背景的人加入。
Jack Dongarra: 是的,數(shù)學(xué)是一個很好的背景,它在計算機科學(xué)中非常重要,我認為它們是相輔相成的。我的背景是應(yīng)用數(shù)學(xué),我在計算機上做任何事情時都會用到它。我利用我的數(shù)學(xué)知識來幫助我在計算機科學(xué)上做得更好。我們總是試圖想出更好的方法,更快、更便宜、更準(zhǔn)確的方法,所有這些都受益于對數(shù)學(xué)的良好掌握以及如何應(yīng)用數(shù)學(xué)來想出新的做事方式。
硅星人:這引出另一個我想問的問題,可能更多是關(guān)于作為一名科學(xué)家的這個身份。
我們知道科學(xué)家對整個社會非常重要,不僅是因為科學(xué)突破,或者一些科學(xué)技術(shù)本身。今天如果我們考慮到地緣政治局勢,以及這個人人都普遍感到困惑和焦慮的時代,科學(xué)家是不是也是時候扮演更重要的角色,產(chǎn)生更大的影響,不僅在自己的研究領(lǐng)域,而且是對于整個社會。在 AI 領(lǐng)域我們看到像杰弗里 · 辛頓和楊立昆這樣的科學(xué)家已經(jīng)在對更多事情發(fā)聲,所以我的問題是,您對這類問題有什么想法嗎?
Jack Dongarra: 嗯。
我們今天在美國正經(jīng)歷一個尷尬的時期,科學(xué)不像過去那樣受到重視,資金也不如過去充足。如果這種情況持續(xù)下去,將會導(dǎo)致很多問題。
所以我希望我們今天在美國所經(jīng)歷的,在不久的將來會發(fā)生改變,回到一個科學(xué)能夠繁榮發(fā)展,并獲得足夠資金的局面,從而能夠有更多的科學(xué)發(fā)現(xiàn)誕生。
而科學(xué)發(fā)現(xiàn)對于我們世界的發(fā)展至關(guān)重要,它能帶來新的做事方式,教育我們的人民,并確保我們有足夠的科學(xué)家來完成如此重要的工作。所以我會說這是一個重要的情況。我們需要施加壓力,確保它不被遺忘。
硅星人 : 最后一個問題,今天回顧您過往科學(xué)研究中最重要的成果,您認為它們是一個個天才時刻的結(jié)果,還是更像是一個技術(shù)發(fā)展過程里必然的結(jié)果?提這個問題是因為,今天在 AI 領(lǐng)域,似乎越來越有一種傾向,將個人描繪成可以決定整個人類或整個技術(shù)未來的天才。您對此有何看法?
Jack Dongarra :我認為我們通過對一個領(lǐng)域進行漸進改變(incremental changes)來進步,這些小的改變推動事物向前發(fā)展。然后偶爾我們會得到一些偉大的洞察(great insights),這些偉大的洞察使我們能夠真正實現(xiàn)飛躍(really leapfrog over),并且以一種從根本上不同和全新的方式做事。所以我認為它們兩者都很重要。
不幸的是,我們沒有更多的那些天才時刻(genius moments),但偶爾我們確實有。這時候如果我們能識別出它們,我們就會從中受益,而且在漸進改變方面取得穩(wěn)步進展也是推動事物向前發(fā)展的重要方式。
但當(dāng)然,我們所有人都希望那些突破發(fā)生,有時它們很容易,有時則不然。并且我們必須準(zhǔn)備好在等待那些重大突破發(fā)生的同時,進行漸進改變。