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