摘要:Jack Dongarra是2021年图灵奖的获得者。作为“计算机界的诺贝尔奖”,图灵奖官方给Dongarra的评语是:"他开创性地贡献了数值算法和库,使得高性能计算软件在四十多年来能够跟上指数级的硬件改进。"
今天每一个燃烧的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领域人们关心的多个话题。
Jack Dongarra 与 ASC 参赛队员在比赛现场合影
作为见证了从普通计算机到科学计算再到今天正被AI改变的计算范式的科学家,他如何看今天AI对计算带来的挑战,被重塑的科研与工业界的关系,以及科学家在今天这个动荡世界里的角色,对正被AI深刻影响的每个人都十分有参考价值。
以下是对话实录。
硅星人:您好,很荣幸有机会与您交流。也许我们可以先谈谈ASC,您多次来中国参加ASC,今年ASC有什么让您印象最深刻的事情吗?
Jack Dongarra:ASC为年轻人提供了一个绝佳的竞技平台,让他们能够挑战自我。参赛者需要在一个具备运行真实应用能力的硬件平台上,充分挖掘硬件的挑战性特性。竞赛设定有严格的功耗预算,参赛队伍可以自由组装包含加速器和标准处理器的机器,但总功耗不能超过限定值。他们需要在获得指定应用程序后,自行搭建集群、组装硬件、配置软件环境(即软件栈),然后运行这些应用程序,力求在自建的系统上榨取最高性能。
如果你走进所有计算机所在的房间,25支队伍每支队伍都有自己的计算机系统,那是一个相当嘈杂的地方。风扇真的很大声,它们会产生很多噪音,如果你要在那个房间里待很长时间,你最好戴上耳罩,因为它确实会产生很多噪音。
今年共有25支队伍参赛,主力来自中国,同时也吸引了国际队伍。观看他们同场竞技,并交流各自的机器配置,总是令人兴奋不已。其中不乏一些经验丰富的常客,他们在应用程序优化和系统搭建方面积累了丰富经验,表现通常远超初次参赛的队伍。最有趣的是在短时间内见证整个赛事进程,观察各队如何比拼、如何应对挑战,以及他们如何在来年卷土重来、再次冲击新纪录。
ASC很“吵”的总决赛现场
硅星人:今天每个人都在谈论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在ASC25闭幕式致辞
硅星人: 另一个关键词是软硬件结合,您提到您过往的工作,很重要意义在于使软件能够跟上快速发展的硬件能力。今天的情况如何?
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: 是的,数学是一个很好的背景,它在计算机科学中非常重要,我认为它们是相辅相成的。我的背景是应用数学,我在计算机上做任何事情时都会用到它。我利用我的数学知识来帮助我在计算机科学上做得更好。我们总是试图想出更好的方法,更快、更便宜、更准确的方法,所有这些都受益于对数学的良好掌握以及如何应用数学来想出新的做事方式。
年轻时候的Jack Dongarra 图片来源:Mirage Magazine,原文标题《Pretty good at Math》
硅星人:这引出另一个我想问的问题,可能更多是关于作为一名科学家的这个身份。
我们知道科学家对整个社会非常重要,不仅是因为科学突破,或者一些科学技术本身。今天如果我们考虑到地缘政治局势,以及这个人人都普遍感到困惑和焦虑的时代,科学家是不是也是时候扮演更重要的角色,产生更大的影响,不仅在自己的研究领域,而且是对于整个社会。在AI领域我们看到像杰弗里·辛顿和杨立昆这样的科学家已经在对更多事情发声,所以我的问题是,您对这类问题有什么想法吗?
Jack Dongarra: 嗯。
我们今天在美国正经历一个尴尬的时期,科学不像过去那样受到重视,资金也不如过去充足。如果这种情况持续下去,将会导致很多问题。
所以我希望我们今天在美国所经历的,在不久的将来会发生改变,回到一个科学能够繁荣发展,并获得足够资金的局面,从而能够有更多的科学发现诞生。
而科学发现对于我们世界的发展至关重要,它能带来新的做事方式,教育我们的人民,并确保我们有足够的科学家来完成如此重要的工作。所以我会说这是一个重要的情况。我们需要施加压力,确保它不被遗忘。
硅星人: 最后一个问题,今天回顾您过往科学研究中最重要的成果,您认为它们是一个个天才时刻的结果,还是更像是一个技术发展过程里必然的结果?提这个问题是因为,今天在AI领域,似乎越来越有一种倾向,将个人描绘成可以决定整个人类或整个技术未来的天才。您对此有何看法?
Jack Dongarra :我认为我们通过对一个领域进行渐进改变(incremental changes)来进步,这些小的改变推动事物向前发展。然后偶尔我们会得到一些伟大的洞察(great insights),这些伟大的洞察使我们能够真正实现飞跃(really leapfrog over),并且以一种从根本上不同和全新的方式做事。所以我认为它们两者都很重要。
不幸的是,我们没有更多的那些天才时刻(genius moments),但偶尔我们确实有。这时候如果我们能识别出它们,我们就会从中受益,而且在渐进改变方面取得稳步进展也是推动事物向前发展的重要方式。
但当然,我们所有人都希望那些突破发生,有时它们很容易,有时则不然。并且我们必须准备好在等待那些重大突破发生的同时,进行渐进改变。
来源:硅星人