图灵奖获得者JackDongarra:高性能计算与人工智能的融合如何颠覆科学计算效果。目前,云计算和移动计算正逐渐成为主流计算范式。同时,深度学习等人工智能方法的颠覆性影响,给高性能计算与人工智能的融合带来了新的挑战和机遇。在第十届全国社交媒体处理大会(SMP2022)上,图灵奖获得者JackDongarra梳理了近年来高性能计算最重要的应用和发展。JackDongarra,高性能计算专家,2021年图灵奖获得者,田纳西大学创新计算实验室主任。四十多年来,它对数值算法和库的开创性贡献使高性能计算软件与硬件的指数级改进保持同步。他的许多学术成就包括2019年SIAM/ACM计算科学与工程奖和2020年IEEE计算先锋奖,以表彰其在高性能数学软件方面的领导地位。他是AAAS、ACM、IEEE和SIAM的会士,英国皇家学会外籍院士,美国国家工程院院士。1高性能计算广泛应用于科学“第三极”目前,高性能计算(HPC)方法广泛应用于科学研究仿真,仿真也被称为科学研究的“第三极”。从历史上看,科学和工程研究通常采用基于理论和实验的范式。然而,这两种方法有许多固有的局限性。例如,建造大型风洞通常非常困难。测试飞机发动机和鸟类碰撞的成本将非常昂贵。等待观测气候变化将非常耗时且缓慢。药物和武器等新实验将非常危险等等。此外,我们有时无法通过实验来研究某些问题,例如研究星系的运动和开发新药。因此,研究人员逐渐采用科学的计算方法来模拟和研究此类问题。这种方法通常是基于已知的物理定律和数字计算方法,通过高性能计算机系统模拟相应的物理现象。2计算能力的巅峰——超级计算机人们一般在商业化成熟芯片的基础上构建典型的超级计算机,在一块板上集成多个芯片,每个芯片有多个核心(Core)。同时,板卡上通常使用图形处理单元(GPU)等作为加速器来增强计算能力。在同一个机柜中,不同的板卡通过高速链路进行通信,不同的机柜通过交换机(交换机)互连。这样组成的一台超级计算机可能占据两个网球场那么大的空间。这种超级计算机的并行度非常高,通常采用分布式内存和“MPI+Open-MP”的编程范式。与对数据进行浮点计算相比,在HPC系统的不同部分之间移动数据的成本非常高。现有超级计算机支持64位、32位、16位和8位宽的不同精度的浮点计算。目前,最快的超级计算机可以提供Exaflop/s级别(1018)的计算能力。这是一个非常巨大的价值。如果每个人在一秒钟内完成一次乘法和加法计算,那么全世界每个人都需要四年时间才能用超级计算机在一秒钟内完成计算。同时,为了维持这样一台超级计算机的运行,每年需要花费数千万美元的电费。从过去三十年全球超级计算机TOP500的性能变化可以发现,超级计算性能一直保持着指数级增长。有趣的是,今天日常使用的MacBook比1993年在洛斯阿拉莫斯国家实验室建造的用于核武器设计的世界上最先进的超级计算机还要强大。根据今年6月的数据,全球排名前10的超级计算机中,有5台来自美国,2台来自中国(位于无锡和广州),其余3台分别来自芬兰、日本和法国。3“和而不同”HPC&ML/AIHPC与ML计算具有相似又不同的特点。HPC是数值密集型的,通常是输入非常有限的数据,经过非常大量的数值计算后输出大量的数据。然而,ML领域的高性能数据处理(HPDA)通常需要输入大量的数据,而输出的数据相对较少。两者使用的数据精度也大不相同。在科学模拟等高性能计算场景中,通常使用64位浮点数据,而在机器学习场景中,则使用16位浮点数据。人工智能在科学研究的许多不同方面都扮演着非常重要的角色:人工智能可以辅助不同领域的科学发现,提高计算架构的性能,以及在边缘管理和处理大量数据。因此,在科学计算领域,机器学习等技术被应用到气候学、生物学、药学、流行病学、材料科学、宇宙学甚至高能物理学等众多学科中,以提供增强的模型和更先进的模拟方法。例如,利用深度学习辅助药物研发、预测流行病、根据医学图像对肿瘤进行分类等。科学模拟和人工智能计算可以非常有效地结合,因为两者都需要模型和数据。通常,模拟使用(数学)模型来生成数据,而(AI)分析使用数据来生成模型。使用分析方法获得的模型可以与其他模型一起用于模拟;模拟生成的数据可以与其他来源的数据一起用于分析。这样就形成了相互促进的良性循环。HPC&AI除了在特定应用领域互补,在基础开发方式、软件及软件基础设施、AI硬件架构等方面也有很多联系。同时,它也更广泛地将两者联系起来,例如:AI可以用来指导仿真,更快地调整仿真应用的参数,提供定制化的计算内核函数,结合传统的HPC和神经形态计算等内容。AI&ML具有颠覆性的影响力,正如人们常说的:“AL&ML不会取代科学家,但使用AI&ML工具的科学家将取代那些不使用这些工具的科学家”。4展望未来:HPC系统将更加定制化未来的HPC系统将能够进行定制。目前HPC主要有两类处理器:CPU和GPU。未来会使用更多不同的单元,如FPGA、ML加速器和ASIC芯片等。更多不同结构和范式的处理器将越来越多地加入到HPC计算系统中,如神经形态处理、量子计算、光计算等,或将发挥越来越重要的作用。在构建新的HPC系统时,人们将能够按需使用相应的模块和功能。5总结HPC硬件在不断发展,包括标量计算机、矢量计算机、分布式系统、加速器和混合精度计算机。目前计算机领域发生三大变革,高性能计算、深度学习、边缘计算和人工智能。算法和软件应该随着硬件不断发展。正如Leiserson等人的论文所述,在摩尔定律之后,HPC系统的最终性能在算法、软件、硬件架构等方面仍有很大提升空间。6Q&A问题1:目前,工业界和学术界都比较关注大型神经网络模型的训练。例如,GPT3有超过1700亿个参数,通常需要数百个高性能GPU训练1到3个月。未来几天或几小时内是否可以使用高性能计算机完成相关培训?答1:GPU为计算机提供了强大的数值计算能力。例如,超级计算机98%的计算能力来自GPU。在CPU和GPU之间移动数据非常耗时。为了减少代价高昂的数据移动,可以采用Chiplet等芯片设计方式,或者更可行的实现路径,将GPU和CPU拉近。此外,直接将数据和相应的处理单元拉近的方法,对于解决数据处理成本高的问题也会有很大的帮助。问题二:我们观察到一个现象,就是现在的很多机器学习算法都可以随着硬件一起进化,互相影响。比如目前ML领域表现最好的Transformer模型,NVIDIA等公司专门为它设计了专用架构,使得Transformer的可用性更高。你有没有观察到这种行为,你会如何评论?回答2:这是一个很好的硬件设计和其他方面相互促进的例子。目前,很多硬件研究人员都在密切关注行业变化,对趋势做出判断。与硬件共同设计应用程序可以显着提高性能并带来更多的硬件销售。我同意“算法和硬件共同进化”这一说法。问题三:您指出未来的高性能计算将是异构混合的。整合这些部分将是一个非常棘手的问题,甚至会导致性能下降。如果我们纯粹使用GPU,可能会带来更好的性能。你如何评价它?回答3:目前在高性能计算机中,CPU和GPU的耦合非常松散,数据需要从CPU传输到GPU进行计算。未来,不同硬件相互耦合使用的趋势将继续下去。例如,使用专门的硬件进行ML计算可以进一步增强GPU。通过将ML相关算法加载到相应的加速器,算法的细节在加速器上执行,并将计算结果传输到相应的处理器。未来还可以实现可插拔的量子加速器,使其能够执行相应的量子算法等。问题4:HPC非常昂贵,尤其是对于研究人员和中小企业而言。有没有像云计算这样的方法,可以让从事研究的师生和中小企业用得起HPC?答4:在美国,使用HPC需要向相关部门提交相关申请,说明正在研究的问题和需要的计算量。如果获得批准,则无需担心HPC使用成本。美国进行了一项研究,以确定是否所有HPC都应转换为基于云的系统。结果表明,基于云的解决方案比直接使用HPC系统的成本高出2-3倍。注意这背后的经济假设:HPC被足够多的人共享,需要解决的问题有时需要使用整个HPC系统。在这种情况下,拥有专用的HPC比购买云服务更好。这是美国和欧洲的现状。
