NSF支持的网络基础设施上的AI和HPC融合

摘要

大规模科学设施的升级和建设投资需要同等的研发投资,以设计算法和计算方法,以应对大数据时代科学和工程领域的挑战。创新的AI应用已为工业和技术领域的大数据挑战提供了革命性的解决方案,这已经成为一个价值数十亿美元的产业,并在塑造人类社会模式方面发挥着日益重要的作用。

随着AI不断演进,成为一个具有统计和数学严密性的计算范式,显而易见的是,对于科学设施产生的数据,单一GPU解决方案已不再足以满足训练、验证和测试的需求。这一认识推动了AI和HPC的融合,以缩短获取洞察所需的时间,实现对领域启发的AI架构和优化方案的系统研究,从而实现数据驱动的发现。

在本文中,我们总结了这一领域的最新发展,并描述了本文作者正在推动的具体进展,以加速和简化在学术界和工业界设计和应用加速AI算法的HPC平台的使用。

引言

在2010年代初期,大数据革命彻底颠覆了数字和计算领域[1]。大型科技巨头如谷歌、亚马逊、Facebook和YouTube等公司产生的数据洪流为创新提供了独特的机遇。传统的信号处理工具和计算方法无法应对这些大规模数据带来的挑战,迫切需要进行根本性的重新思考[2, 3]。

大规模视觉识别挑战[4]标志着数字革命的持续发展。对于筛选大规模高质量数据集的新型模式识别算法[5–7]最终导致了深度学习和GPU的颠覆性融合,从而迅速推动了计算机视觉、语音识别、自然语言处理和机器人技术等领域的发展[3, 8]。这些进展目前正推动着人工智能的复兴,成为一个价值数十亿美元的产业的引擎。

仅仅几年时间内,高质量数据集的整理(例如ImageNet[9])、GPU加速计算[10]以及开源软件平台(如TensorFlow[11]、PyTorch[12]等)的出现,使得设计、训练、验证和测试AI模型变得更加容易。同时,改进的AI体系结构和新颖技术(如强健的优化器[15]和正则化技术[16])也极大提高了深度神经网络在许多任务上的性能[17, 18]。数据驱动的探索现在也正影响着HPC和数据领域,二者已经融为一体,成为HPCD[2, 19]。

AI与HPC的融合

AI和HPC的融合正在HPC生态系统中积极推进。该计划已在等离子物理学[20]、宇宙学[21]、引力波天体物理学[22]、高能物理学[23]、多信使天体物理学[24]、材料科学[25]、非结构数据集的数据管理[26, 27]以及遗传数据[28]等领域取得了最新的成就。

这些成就都有一个显著的共同特征,即用于加速HPC平台上AI模型训练的算法都具备强烈的实验性质。迄今为止,还没有一个严格的框架来约束在GPU节点数量增加以加速训练阶段时确保AI模型快速收敛和实现最佳性能所需的理想超参数集。此外,通常在HPC平台上使用理想化的神经网络模型和数据集进行分布式训练算法的基准测试,例如使用ImageNet数据集[9]训练ResNet模型[29]。虽然这种方法为深度学习研究中HPC平台的最佳性能提供了一些指导,但它并没有提供有关实际数据集的实际性能的任何见解,这些数据集是有噪音、不完整且异构的,与ImageNet数据集截然不同。

鉴于这些考虑,需要一些关键改进来最大程度地发挥AI在数据驱动发现中的潜力:(i)建立一个严格的数学框架,以便明智地选择领域启发的AI体系结构和优化方案;(ii)创建一个跨学科的合作努力,将领域、信息科学、AI、数据和软件专家聚集起来,以指导实验和模拟数据集的收集和整理;(iii)识别AI数据和模型之间的关联,从而促进可应用于不同领域的通用软件的开发,以应对这些领域共同的数据和计算挑战;以及(iv)将AI模型和数据部署到开源平台上,如科学数据和学习中心[30, 31]。这些举措将加速可重复使用和强大的AI工具作为跨学科通用软件在各个学科中的应用。

文献中有多个专注于解决这些及时和相关挑战的研究工作,例如[32–34]。在美国,国家科学基金会(NSF)和能源部(DOE)正在领导数百万美元的计划,用于建设下一代HPC平台,以应对E级(Exascale)计算的重大挑战,并进行研发,以加速创新AI应用程序的设计、部署和应用,以用于科学和工程的数据驱动发现工作,并将这些创新转化为切实的社会效益、业务和产业。为了资助新的HPC平台,如Bridges-2、Delta和Neocortex,以推动创新AI研究,将引入新的AI研究硬件提供变革性能力[35, 36]。Frontier、Aurora和El Capitan E级系统将结合模拟、数据科学和机器学习,彻底改变超级计算机在科学发现和创新中的应用方式。

在研发方面,DOE已经启动了一项计划,旨在制定遵循FAIR数据原则(Findable、Accessible、Interoperable和Reusable)的AI模型和数据。该计划的目标是为数据的生产制定标准,这些数据可以在很少的人工干预下,既可供研究人员使用,也可供机器使用。预计这种方法将使研究人员能够深入了解AI模型如何从数据中抽象知识,并量化领域启发的优化方案如何在受控实验中引导AI得出正确答案,同时也实现了超越现有理论的直观AI发现,这些理论无法完全捕捉复杂现象,如湍流[37]。该计划将最大程度地利用E级HPCD平台,加速AI的发展。

尽管习惯于使用理想化的数据集和普通AI模型(例如使用ImageNet数据集训练的ResNet-50)来量化大规模分布式训练的HPC平台性能,但也很重要评估高级网络基础设施在使用实际的实验数据集来训练更复杂、领域启发的AI模型时的性能。为了对不同领域的最新技术状态提供广泛的视角,我们呈现了一些我们在NSF和DOE HPC平台上进行的研究的结果。我们考虑的AI模型专门用于天文望远镜图像数据集的图像识别、分类和回归分析,以及描述黑洞碰撞的时间序列数据。为展示这些模型和数据集的使用,我们使用了两个由NSF资助的HPC平台,分别是位于国家超级计算应用中心(NCSA)的硬件加速学习(HAL)集群[38]和位于匹兹堡超级计算中心(PSC)的Extreme Science and Engineering Discovery Environment(XSEDE)的一部分的Bridges-AI系统[39];以及由DOE资助的奥克岭国家实验室[40]的Summit超级计算机。

HPC平台

HAL集群拥有64个NVIDIA V100 GPU,它们均匀分布在16个节点上,并通过节点内的NVLink 2.0 [38]以及节点之间的EDR InfiniBand连接进行协同工作。而在Bridges-AI [39]中,我们应用了9台HPE Apollo 6500服务器,每台服务器装备了8个NVIDIA Tesla V100 GPU,每个GPU拥有16 GB的内存,并通过NVLink 2.0连接。

AI模型和数据集

我们应用了三种不同的AI模型:(i) ResNet-50;(ii) 一种用于表征二进制黑洞合并信号流形的AI模型,该模型经过时间序列信号的训练,用于描述引力波信号[14](AIGW);以及(iii) 用于对Sloan数字天文望远镜(SDSS)[41]收集的星系图像进行分类,并自动标记Dark Energy Survey(DES)[21]收集的星系图像的AI模型(AI-DES)。

图1:ImageNet ResNet-50训练。使用ImageNet数据集来扩展ResNet-50的训练,全局吞吐量(图像/秒)和速度提升。训练阶段仅需1小时多一点,准确率达到93%,使用了整个HAL集群。
图2:HAL深度学习集群进行引力波天体物理学训练。用于推断两颗碰撞的黑洞旋转速度的深度学习模型的训练阶段从一个月(使用单个V100 GPU)缩短到了使用国家超级计算应用中心的整个HAL深度学习集群只需12.4小时。
图3:XSEDE Bridges-AI集群进行引力波天体物理学研究。与图2类似,但现在使用匹兹堡超级计算中心的整个Bridges-AI集群。在这种情况下,我们使用了72个V100 GPU,将训练阶段缩短到了38小时。
图4:HAL深度学习集群进行宇宙学研究。用于形态学分类螺旋和椭圆星系的深度学习模型的训练阶段从2.1小时(使用单个V100 GPU)缩短到了使用整个HAL深度学习集群只需2.7分钟。

我们的分析结果如下:

  • 图1表明,ResNet-50在HAL的1个V100 GPU上完成训练需要41小时。当利用HAL的64个V100 GPU进行训练时,训练时间缩短到仅1小时,准确率达到了93%。
  • 图2显示,AI-GW在HAL的单个V100 GPU上经过754小时的完整训练达到了最先进的准确率。而当扩展到64个V100 GPU时,训练时间缩短至12.4小时。
  • 图3表明,AI-GW在Bridges-AI的72个V100 GPU上经过38小时的完整训练,达到了最佳的准确率。
  • 图4表明,AI-DES在HAL的单个V100 GPU上完成训练仅需2.1小时。然而,当利用HAL的64个V100 GPU进行训练时,训练时间仅为2.7分钟。

这些示例明显强调了将AI与HPC相结合的重要性:(i) 它显著加速了训练阶段,使我们能够深入探索领域启发的架构和优化方案,这对于设计严格、可信赖和可解释的AI解决方案至关重要;(ii) 它允许我们使用更大的训练数据集以提高AI模型的准确性和可靠性,同时保持训练阶段的最小时间。

软件和硬件挑战

尽管开源AI平台在AI领域的快速发展中扮演了关键角色,但在HPC平台上的应用面临一些挑战。这主要因为开源AI平台,如TensorFlow [11]和PyTorch [12],更新频率远高于在HPC集群上进行软件部署的典型速度[42, 43]。在典型的HPC平台上,通常每年只进行两次软件更新。而开源AI平台则经常发布新版本,可以在TensorFlow的官方发布时间线[44]上看到这一点。此外,构建AI模型通常需要特定的软件依赖关系,这些依赖关系可能在不同的项目之间变化,甚至在同一个项目内也可能发生变化。为了更好地控制软件环境,常见的解决方案包括容器化,如Singularity [45]或Kubernetes [46],以及虚拟环境,如Anaconda [47],这些都在HPC平台(如Bridges、Bridges-AI、Summit和HAL)中提供支持。

GPU在AI复兴中发挥了关键作用,因为它们具有独特的加速应用程序的特性,包括多核心、高吞吐量、并行处理能力,以及能够同时执行数千个操作。尽管这些特性在图像识别、游戏和图形等领域得到了广泛应用,但GPU现在也广泛用于其它领域,如自动驾驶和机器人技术。在HPC和AI的背景下,我们的研究表明,Theta中的5个节点(每个节点具有64个Intel KNL 7230计算核心)等同于一个单独的V100 GPU。因此,考虑到在HPC平台上最佳地扩展AI模型的培训是多么复杂,可以明显看出,基于GPU的HPC平台对于AI研究提供了优势。

以下是简化在HPC资源上进行AI研究的一些建议:

  • 提供详细的文档和教程,以帮助用户设置容器和虚拟环境,并提供足够的支持,以确保项目能够平稳、快速地进行。
  • 维护多功能和最新的基础容器镜像和虚拟环境,以便用户可以轻松地克隆和修改以满足其特定需求。
  • 分布式训练软件栈(如TensorFlow)依赖于分布式训练工具,如Horovod [48],而这些工具依赖于系统管理员安装的系统架构和MPI的特定版本。因此,提供关于系统架构和已安装MPI版本的清晰、最新文档,并提供有关如何将分布式训练软件包(如Horovod)安装/更新到用户的容器/虚拟环境中的明确说明至关重要。

除了上述考虑因素,AI模型架构、数据集和训练优化器也对分布式训练产生影响。随机梯度下降(SGD)[49]及其变种是AI训练的常见优化器。常见的方式是通过使用SGD的“小批量”(mini-batches)来并行训练。理论上,使用更大的小批量可以有效地利用更多的GPU(或CPU)资源。当小批量大小较小时,解决方案的训练时间通常会线性缩短。如图2和图4所示,在64个GPU上,模型表现出良好的泛化性能,相当于全局批量大小为128个样本。然而,众所周知,随着数据集和特征数量的增加,简单地扩大GPU数量,进而扩大批处理大小,通常需要更多的迭代周期(epochs)才能达到可接受的验证错误水平。有关大规模AI训练的最新技术状态已在[50]中有所报道。其中,ResNet模型使用了每批64,000个样本,在2048个Tesla P40 GPU上进行了训练。虽然实现这种规模需要大量的实验工作,但这个基准以及其它一些基准[51]表明,将AI模型扩展到更大的数据和特征集确实是可能的。然而,这需要大量的人力来调整模型和训练流程。将快速的人工模型开发周期与自动化的超参数调整混合使用是解决这个问题的一个潜在方法。

图5:Summit进行引力波天体物理学研究。与图2类似,但现在在奥克岭国家实验室的Summit超级计算机上使用了1,536个V100 GPU。在这个规模下,模型的训练只需1.2小时。

我们还探讨了我们在HAL和Bridges-AI上使用的方法是否可以在其它专为AI研究优化的HPC平台上工作。在图5中,我们展示了我们的分布式训练算法在奥克岭国家实验室的Summit超级计算机上扩展到1024个节点(6144个V100 GPU)。扩展效率,即循环遍历所有数据所需的时间,通常受到多种因素的影响,如I/O速度、通信等等。然而,图5中显示的高效性和强大的扩展性表明我们已经很好地处理了这些因素。

此外,图5还表明,使用Summit超级计算机的256个节点(1,536个V100 GPU),我们能够在仅1.2小时内完全训练一种受物理启发的WaveNet模型,该模型使用描述黑洞碰撞数值解的时间序列数据,达到了最高水平的准确性。这意味着我们可以将在由NSF资助的网络基础设施上开发和测试的方法扩展到不同规模、硬件和软件的HPC平台。

未来面临的挑战

在充分发挥AI和极端规模计算的潜力方面,仍然面临着许多挑战。一个明显的问题是,人们已经认识到一些实验数据集并未以适当的格式呈现,这从根本上限制了数据驱动的发现的潜力。为了应对这一紧迫问题,美国能源部(DOE)已经进行了重大的投资,以确保AI模型和数据遵循FAIR原则[52]。另一个挑战涉及设计能够融合领域知识的AI模型,以便它们能够更快地收敛,同时也能够进行直观的、偶然的发现,这些发现可能不能用近似描述复杂现象的方法来捕捉[37, 53]。此外,还需要制定一种严格的方法来最大化HPC平台用于分布式训练的效益。这需要系统性的方法来选择一组能够实现更快收敛的超参数,并富有创意地使用更少的训练数据以实现最先进的性能。美国国家科学基金会(NSF)还在多个研究机构资助了项目,旨在推动科学和工程领域数据驱动发现的最新技术进展。这些投资旨在维持、扩展和加速由AI应用程序推动的科学、技术和工业领域的最新突破[54]。随着这些项目的发展和成熟,将有必要促进跨学科领域之间的专业知识交流,以避免重复工作,并为新的AI从业者提供访问开源、可解释、可重现和可信赖的AI科学软件的能力。

云计算与HPC

云计算和容器化已经成为面向客户的Web应用程序开发的流行方式。它允许DevOps团队,即负责开发科学软件并管理数据中心持续运营的团队,在严格控制面向客户的软件同时,在一个与实际环境相符的场景中设计、开发和测试新功能和错误修复。根据业务需求的变化,企业可以动态扩展基础设施,几乎没有购买硬件的开销,并在不再需要时轻松释放资源。

对于HPC,最好应用与创业文化中的DevOps周期类似的方法。然而,HPC面临一些独特的挑战,这使得这一目标难以实现。首先,数据存储与计算通常是分开的,以共享文件系统和维护传统树状文件系统的形式存在。与之不同,云计算将计算和存储作为一个单一实例一起交付,并在逻辑上隔离不同的资源。使用云资源的开发人员将计算实例视为其代码的主机,并需要明确选择如何在不同资源之间传递大量数据。通常,他们会通过分配数据存储的专用云实例(例如SQL数据库)来完成这个过程。改进的云解决方案提供了Kubernetes(以及其它集群管理器)的框架,用于为这些资源分配任务,但仍由开发人员来选择数据在资源之间的传递方式,并编写他们应用程序的具体功能。

其次,HPC是一种共享资源环境,这意味着许多不同项目的用户共享相同的文件系统和计算资源。每位开发人员必须等待他们的机会来运行他们的代码。而在云计算中,资源属于开发人员,并按需计费。当释放资源时,资源的所有状态属性都会被重置。

最后,HPC非常关注计算资源的互连性。为了在云计算实例之间实现高带宽和低延迟的通信,通常需要支付额外费用。

在进行分布式训练时,我们需要仔细考虑选择云计算或HPC平台,以确保选定的平台能够满足我们的需求。对于单节点应用程序,云计算提供了按需高吞吐量和突发性能,这在某些情况下非常适用。例如,对于遗传数据分析,我们可以考虑使用KnowEng平台[28],它是一个Web应用程序,其计算集群由Kubernetes管理,提供了一种可扩展的工作流示例,该示例允许直观地管理库兼容性和利用云突发性能。这基于云的解决方案具备以下优点:(1) 可以访问各种不同的数据源;(2) 方便地配置复杂的AI实验参数;(3) 在云环境中轻松部署计算任务;(4) 使用先进的可视化工具评估数据和研究结果;以及(5) 存储实验结果并随时访问以前的运行参数设置。

然而,对于运行时间长达数小时甚至数天的大型分布式训练工作负载,HPC环境仍然是首选。举例来说,国家超级计算应用中心(NCSA)的HAL集群通常具有超过70%的利用率。考虑到亚马逊AWS上单个V100 GPU节点(p3.2xlarge实例[55])的每小时成本为3.06美元,HAL集群提供的资源相当于每月提供超过14.1万美元的云计算资源。这远远高于HAL集群及其相关支持的摊销成本。而一些顶级的HPC系统,如Blue Waters,其每小时的成本仅为0.60美元,相比之下,使用云计算来托管拥有4,228个K20 GPU的系统可能每月需要花费2-3百万美元。

行业应用

AI和HPC的融合在私营部门中正蓬勃发展。NCSA正引领着将这一融合应用于支持农业、医疗保健、能源和金融等行业的合作伙伴,以通过分析更大、更复杂的数据来揭示隐藏的模式、发现市场和现金流趋势,以及识别客户偏好,从而在全球市场上保持竞争力[56]。建模、仿真和AI的结合也引起了制造业和生命科学领域合作伙伴的越来越多关注,这有望显著加速模型驱动的设计和分析中的许多复杂和计算密集型方法和工作流程[37, 57, 58]。

在AI领域,学术界的创新追求充满激情且高效的思想,尽管它们可能不会立即带来具体而明显的好处。虽然学术研究是由好奇心推动的,但工业界对于创新的人工智能应用有一个明确的目标,那就是以更快的速度应对计算上的重大挑战,并在大规模上应用新的解决方案以获得利益。简而言之,虽然学术界和工业界追求着不同的目标,但这两个领域的紧密合作至关重要[59]。这是一项至关重要的工作,因为在过去的十年中,工业和技术领域的突破是通过基本的人工智能应用实现的。随着工业应用不断扩展到新的领域和计算上的重大挑战的出现,继续利用人工智能创新并探索将其转化为可大规模部署以产生社会和商业利益的方法将变得至关重要。总之,培养未来的人工智能从业者需要采取跨学科的方法,包括清晰地了解行业需求。这种方法将确保学术界的人工智能创新能够迅速地融入和应用,为人工智能研究人员提供多样化的资金来源,从而创建一个可持续的范式。

结论

AI与HPC的融合为解决科学、工程和工业领域的大数据挑战提供了有力工具,同时也催生了颠覆性方法,推动着数据驱动的发现和创新。实现这些目标需要AI从业者、HPC专家以及领域专家之间的协同合作。

随着AI和HPC以日益加速的速度改变着各个学科,我们可以预见,在AI拥有更加严格的数学框架的未来,将能够更加充分地利用高性能计算平台,并开发更加直观的AI解决方案,从而催生出颠覆性的科学发现和工业技术解决方案。

最后,我们为贡献了使用真实数据集来比较HPC平台性能的工作而感到自豪,我们发布了两个神经网络模型以及生成图2、3、4和5所需的数据集。随着国家科学基金会(NSF)和其它资助机构不断推出更快速、更强大的HPC平台以支持AI研究,提供指南以最大程度地利用这些资源并继续培养新一代的人才将变得尤为迫切。这将有助于推动AI最佳实践的采纳,并在过去的经验基础上为工业界广泛应用HPC技术提供重要支持。鉴于工业界正在积极应用AI解决方案,这种方法在未来将发挥更为重要的作用。