没有合适的资源?快使用搜索试试~ 我知道了~
z0BenchCouncil基准,标准和评估交易2(2022)1000830ScienceDirect提供的内容列表0BenchCouncil基准,标准和评估交易0期刊主页:www.keaipublishing.com/en/journals/benchcouncil-transactions-on-benchmarks-standards-and-evaluations/0研究文章0HPC AI500 V3.0:可扩展的HPC AI基准测试框架0Zihan Jiang a,b,�,Chunjie Luo a,Wanling Gao a,Lei Wang a,Jianfeng Zhan a,b0中国科学院计算技术研究所,中国科学院大学0文章信息0关键词:人工智能高性能计算基准测试可扩展性0摘要0近年来,高性能计算(HPC)和人工智能(AI)的融合使社区迫切需要一个基准来指导下一代可扩展HPCAI系统的设计。HPL基准测试和附属的TOP500排名的成功表明,可扩展性是评估HPC系统的基本要求。然而,在这些新兴的AI工作负载(如深度学习(DL))方面的可扩展性提出了非常重要的挑战。本文正式而系统地分析了限制DL工作负载可扩展性的因素,并提出了HPC AI500 v3.0,一个可扩展的HPC AI基准测试框架。HPC AI500V3.0的方法受到了装袋的启发,它利用了一组基本模型的集体智慧,并使基准能够自适应地适用于不同规模的HPC系统。我们以高度可定制的方式实现了HPC AI500 V3.0,保持了来自系统和算法层面的各种优化空间。通过重用HPC AI500V2.0中的代表性工作负载,我们在典型的HPC系统上评估了HPC AI500V3.0,结果显示它具有近线性的可扩展性。此外,基于可定制的设计,我们进行了一个案例研究,以在AI模型质量和其训练速度之间进行权衡。HPC AI500 V3.0的源代码可以从HPCAI500项目主页https://www.benchcouncil.org/aibench/hpcai500/公开获取。01.介绍0深度学习(DL)已经成为人工智能(AI)中的主导技术0智能(AI)在许多具有挑战性的AI问题中取得了巨大成功,如图像分类[1-3],目标检测[4-6]和自然语言处理[7-9]。DL允许构建由多个处理层组成的计算模型,具有可训练的权重,以学习数据的表示[10]。为了利用更大的数据集并实现更高的模型质量(例如Top1准确性),近年来,已经不断提出了巨大的DL模型,既用于商业应用[11-16],也用于科学计算[17-20]。这些巨型模型通常具有更深的层和数十亿的权重,这是极其计算密集的。因此,学术界和工业界对设计和构建下一代HPC系统以运行这些新兴的AI工作负载以满足其计算需求非常感兴趣[21,22]。基准测试在这个过程中起着重要作用,因为它提供了评估的输入和方法论[23]。0在过去的三十年中,HPL基准测试[24]及其附属的0TOP500排名[25]见证了HPC系统的蓬勃发展。从CM-5(1993)[26]到富岳(2020)[27],TOP500榜单上NO.1超级计算机的FLOPS性能提高了超过106×。HPL已经成为HPC领域三十年的测量标准,并将继续如此。其成功的原因是0� 通讯作者:中国科学院计算技术研究所,中国北京。电子邮件地址:jiangzihan@ict.ac.cn(Z. Jiang),luochunjie@ict.ac.cn(C. Luo),gaowanling@ict.ac.cn(W.Gao),wanglei_2011@ict.ac.cn(L. Wang),0双重。一方面,HPL以双精度解决(随机)稠密线性系统,这捕捉了许多科学应用程序共享的一般特征。我们将这一特性总结为相关性。另一方面,HPL可以通过调整输入矩阵大小来适应可扩展系统。我们将这一特性总结为可扩展性。HPL的经验表明,相关性和可扩展性是理想基准的两个重要特性。大多数以前的工作[ 29 –34]在AI基准测试中关注相关性,并选择真实世界AI应用程序中的代表性工作负载。然而,它们忽略了可扩展性问题。0AI工作负载的可扩展性很难保证。根据0根据以前研究的经验[ 36 , 46],每个AI工作负载都有最佳的训练批量大小,这与系统规模无关,以实现最先进的质量。这一观察表明,无论系统规模如何变化,处理的并行计算量保持不变。尽管提出了许多系统优化[ 13 , 47 – 52],但它们所能做的就是通过利用各种并行技术(例如数据并行[ 53])尽可能快地处理这一恒定数量的计算。因此,随着系统规模的不断增长,现有AI工作负载的训练速度迅速加快。如图1所示,从2017年到2021年,随着HPCAI系统的发展,ResNet-50 [ 2 ]的训练时间呈指数下降,Nvidia的结果[ 44]显示现在可以在半分钟内完成。从基准测试的角度来看,这样短的运行时间不允许进行彻底和持久的评估。此外,固定数量的计算分布在规模不断增长的HPC系统上,这使得每个计算节点的资源利用极不充分。0https://doi.org/10.1016/j.tbench.2022.100083 2022年11月17日收到;2022年12月23日修订稿收到;2022年12月23日接受;2022年12月29日在线发布 2772-4859/ © 2022 TheAuthors. Publishing services by Elsevier B.V. on behalf of KeAi Communications Co. Ltd. 这是根据CCBY-NC-ND许可证的开放获取文章(http://creativecommons.org/licenses/by-nc-nd/4.0/)。1(2)theicaimis hard to fully utilize the computing power of HPC systems, which areusually equipped with hundreds or even thousands of nodes. Taking20Z. Jiang, C. Luo, W. Gao等人。BenchCouncil基准、标准和评估交易2(2022)1000830图1。ImageNet/ResNet-50是学术界[ 35 ]和工业界[ 36 – 44 ]优化HPCAI系统的热门展示。PN指的是Preferred Networks [ 45 ]。�轴表示以分钟为单位的训练时间。0ResNet-50 [ 2 ]已经呈指数下降,Nvidia的结果[ 44]显示现在可以在半分钟内完成。从基准测试的角度来看,这样短的运行时间不允许进行彻底和持久的评估。此外,固定数量的计算分布在规模不断增长的HPC系统上,这使得每个计算节点的资源利用极不充分。0两项先前的工作试图解决HPC中的可扩展性问题0AI基准测试,即AIPerf [ 54 ]和HPL-AI [ 55]。然而,它们都有各自的缺陷。AIPerf使用网络架构搜索(NAS)[ 56]作为主要工作负载。NAS自动搜索具有预定义概率的网络架构,引入了基准测试过程的随机性。HPL-AI允许混合精度LU分解来解决线性方程组,倾向于与大多数AI工作负载无关。0稳定性和质量,通过利用集合模型的集体智慧来提高预测的稳定性和质量。作为集成学习的元算法[ 59],bagging的一个关键特征是每个基础模型之间的独立性。这种独立性使得bagging可以作为一种高度并行的方式来随着HPC系统中节点数量的增加而扩展。bagging的另一个优点是其灵活性,不受任何AI算法的约束。换句话说,我们可以通过将最先进或最先进的算法集成到基于bagging的基准测试框架中,轻松快速地实现相关性。考虑到以上优点,本文提出了一种基于bagging的可扩展AI基准测试框架,我们称之为HPC AI500。HPC AI500 V3.0扩展了我们以前的工作:HPCAI500 V1.0 [ 50 ]和HPC AI500 V2.0 [ 57 ]。表1总结了HPC AIV3.0与其他相关工作之间的差异。HPC AI500V3.0不仅利用bagging的优势实现了可扩展性和相关性,而且保持了用户可定制的并行优化机会。HPC AI500V3.0实现了两个模块,bagging管理(BM)和模型并行管理(MPM),以实现这种可定制性。BM确定了在数据采样中采用的算法和基础模型的数量。MPM确定了每个基础模型内部的并行程度。通过这两个模块,用户可以定制基础模型的数量和并行程度,以在模型质量和训练速度之间进行权衡。基于HPC AI500 [ 57],我们在典型的HPC系统上评估了HPC AI500V3.0,以展示其可扩展性和可定制性。0我们的主要贡献总结如下:0•根据HPC AI基准测试的独特挑战,我们0重新制定了HPC AI可扩展性问题(第2节)。0•我们在HPC AI基准测试中提出了装袋方法0实现相关性和可扩展性,并实施HPC AI500V3.0,一个可扩展和可定制的HPC AI基准测试框架(第3节)。0•我们通过重复使用HPC AI500 v2.0的工作来评估HPC AI500 V3.00典型HPC系统上的负载,以展示其可扩展性和可定制性(第4节)。02.背景和挑战02.1.深度学习初步0现代DL模型的整个训练过程本质上是一个0非凸优化。在数学上,它可以表示为:0min��∈R��(�0�0�=1��(�),(1)0其中��是数据点�∈{1,2,3,…,�}的损失函数,用来衡量模型预测与数据的偏差。�是正在优化的权重向量。优化损失函数的过程称为训练,是迭代进行的。02.1.1.小批量随机梯度下降0随机梯度下降(SGD)是训练DL模型的主要方法。0ing DL模型。VanillaSGD通过在整个数据集上计算的梯度来更新权重�。由于每次迭代只处理一个随机数据点,这种方法有两个缺点。首先,这样的嘈杂更新使训练过程不稳定[62]。其次,计算效率低,特别是在使用GPU等计算设备时。Mini-batchSGD被提出来弥补这两个缺陷。它以以下形式迭代地最小化损失函数�:0��+1=��−��0|��|0�∈�����(��)0其中��∈{1,2,3,…,�}是从整个数据集中抽样的批次,��是迭代�的学习率。|��|指批处理大小。�和|��|的比率决定了训练周期中的迭代次数。02.2.可扩展性问题0随着AI和HPC的融合,学术界和工业界0玩家[63-65]利用HPC系统的计算能力加速DL模型的训练过程。然而,SGD训练有一个显著的缺点,受到批处理大小的限制。02.2.1.批处理大小的限制0尽管DL数据集中有数百万个数据,但是在许多DL应用中,��的值通常是一个小数,其中|��|��。0�[66],SGD的固有顺序特性只允许在一个迭代中并行处理批量大小为��(例如,��=256)的数据。我们将批处理所需的计算成本称为一个迭代中的并行计算量(简称APC)。与Linpack相比,其APC可以通过输入矩阵的大小来调整,DL工作负载的APC通常是一个常数,可以表示为:0�����=0�=1�����������(��(�))(3)0其中�∈{1,2,3,…,|��|}是从大小为�的DL数据集中随机抽样并包含在批次��中的数据。并且0�����������(��(�))是DL模型处理单个数据所需的计算成本,可以用FLOPs来衡量。0Eq.(3)表明�����由|��|确定。然而,HPC AI500 V1.0 (2018) [50]✗✓✓✗✗HPL-AI (2019) [55]✓✗✓✓✓Deep500 (2019) [60]✗✗✓–✗HPC AI500 V2.0 (2020) [57]✓✓✓✓✗AIPerf (2020) [54]✓✓✓–✓MLPerf (HPC) (2021) [61]✓✓✓✓✗HPC AI500 V3.0✓✓✓✓✓the ImageNet/ResNet-50 training on Summit [50,57] as an example.|𝐵𝑘| = 512, according to Eq. (3), the APC of ImageNet/ResNet-50 is11 776 GFLOPs. Considering Summit has 4608 nodes (six Nvidia TeslaGPUs in each node), each node only can allocate the computation of117764608 = 2.55 GFLOPs, which is far away from the peak performance ofsix1𝐴𝑃 𝐶𝑑𝑙 =𝑀∑𝑚=1|𝐵𝑘|∑𝑗=1𝐶𝑜𝑚𝑝𝑢𝑡𝑎𝑡𝑖𝑜𝑛(𝑓𝑚,𝑗(𝑥))(4)30Z. Jiang, C. Luo, W. Gao等人 BenchCouncil Transactions on Benchmarks, Standards and Evaluations 2 (2022) 1000830表1 HPC AI500 V3.0与HPC AI500 V1.0、V2.0和其他HPC AI基准的比较。在我们之前的工作HPC AI500 V2.0 [ 57]中解决了等价性、可负担性、代表性和可重复性问题。HPC AI500 V3.0是一个HPC AI基准框架,继承并扩展了具有可扩展性的HPC AI500 V2.0。HPC AI500V3.0可以自然地集成其他HPC AI基准。‘‘�’’和‘‘�’’表示它们是否具有相应的属性。‘‘-’’表示未经验证。0相关工作 等价性 代表性 可负担性 可重复性 可扩展性0天真地扩大|��|以提高�����会导致性能下降0由于锐利的极小值[ 36 , 46 , 67 ],模型质量的提高受到了限制。[ 36 , 46 , 67]中提出的技巧确实将|��|增加到了更大的数值,但仍远未达到HPC系统的性能峰值,导致资源利用不佳。此外,所提出的技巧是经验性的,缺乏泛化能力,并且依赖于特定的DL工作负载。到目前为止,还没有研究能够系统地和理论上量化��与模型质量之间的关系。02.2.2. HPC AI可扩展性的重新制定0基于上述分析,我们重新制定了HPC0从以下两个角度重新制定AI可扩展性。在之前的工作[ 57]中,我们已经讨论了如何解决等价性、代表性、可负担性和可重复性问题。0• ����� 应足够大,以容纳规模0和HPC系统的计算能力。具体来说,需要保持高资源利用率和接近线性的加速。0• 模型质量应在训练过程中得到维持或提高0增加�����和|��|。否则,整个训练过程毫无意义。0与传统的HPC可扩展性相比,重点是0规模效率和资源利用率[ 24 ],重新制定的HPCAI可扩展性强调了模型质量和批量大小|��|的限制。02.3. 先前的工作0除了其他AI基准[ 29 – 34 ],MLPerf (HPC) [ 61 ],0HPL-AI [ 55 ], AIPerf [ 54 ], 和 HPC AI500 [ 50 , 57 ] 是代表性的HPCAI基准工作。其中,最早的工作是HPC AI500 V1.0 [ 50],可以追溯到2018年。HPC AI500 V1.0 [ 50 ] 和 V2.0 [ 57 ]以及MLPerf(HPC)未能解决可扩展性问题,而是专注于选择典型的HPCAI应用和基于并行的优化。HPL-AI和AIPerf设法实现了可扩展性,但带来了其他问题。HPL-AI通过在核心级别执行混合精度LU分解来评估HPC系统。与HPL一样,它可以通过调整输入矩阵的大小来增加���。然而,LU分解与大多数AI工作负载无关[ 57]。AIPerf的方法受到AutoML的启发,其核心过程由NAS执行。尽管AutoML可以随着节点数量的增加而自动扩展,但NAS的高随机性(图2)使人们质疑AutoML是否适合作为HPCAI基准。表1按时间顺序总结了相关工作,并在五个维度上将我们的工作与其他相关工作进行了比较。01 六个V100 GPU的峰值性能为:6 × 15 . 7 × 10 3 GFLOPS = 94 . 2 × 10 3 GFLOPS。0图2.NAS的随机性。在不同的运行中,训练NAS达到目标模型质量所需的计算量不同,这导致了不公平和不可重复的评估。03. HPC AI500 V3.00本节首先介绍了HPC AI500 v3.0的方法论。然后0我们详细介绍了设计,工作流程和可定制配置。最后,我们介绍了测量方法和提出的度量标准。03.1. 方法论03.1.1. 集成学习和Bagging0集成学习的思想是通过组合一组基本模型来解决一个共同的问题0通过组合一组基本模型的预测来解决一个共同的问题。与依赖单一模型做决策不同,一组模型使得集成学习能够减少预测的方差[59],即所谓的众包智慧[68]。Bagging(自助聚合)是集成学习的基本范式。顾名思义,Bagging由两部分组成:自助抽样和聚合。自助抽样本质上是从原始数据集中有放回地进行数据抽样过程。通过这个过程生成的数据称为自助抽样数据集。Bagging的训练过程是高度并行的,因为集成中的每个基本模型都是基于其对应的自助抽样数据集而不是原始数据集进行训练的。训练完成后,最终决策通过对所有基本模型的预测进行平均来进行聚合。03.1.2. 在HPC AI基准中应用Bagging0对于HPC AI基准,为了解决可扩展性问题,首先0重要的是要扩大 �� �以跟上HPC系统规模的不断扩大。受Bagging的启发,我们在之前的AI基准(如HPC AI500V2.0)的单一模型训练基础上引入了基模型集成。我们将Eq.(3)重写为以下Bagging形式:𝑆𝑦𝑠_𝑠𝑐𝑎𝑙𝑒 = 𝑀 × 𝑃 _𝑑𝑒𝑔𝑟𝑒𝑒(5)40Z.江,C.罗,W.高等人。BenchCouncil基准,标准和评估交易2(2022)1000830图3. HPC AI500 V3.0的系统概述。APC指的是迭代中的并行计算量。0图4. HPC AI500 V3.0的系统设计和工作流程。NFS指的是HPC系统的网络文件系统,每个节点共享。0其中,�是集成中的基本模型数量,��是第�个基本模型。请注意,每个基本模型都是始模型的实例,因此每个基本模型的计算成本等同于Eq.(3)中的计算成本。与AutoML相比,重新抽样的自助抽样数据集使得每个基本模型不同,但每个模型的计算逻辑是一致的,保证了图2中不会出现随机性。集成中的所有基本模型都是独立训练的,将| � � |扩大了�倍,��� ��也是如此。考虑到每个基本模型可能在跨多个节点上以分布式方式进行训练,集成大小�和基本模型内的并行度� _ ����� 应满足Eq.(5),其中��������指的是HPC系统中包含多少个节点。03.2. 系统概述0基于Bagging方法,我们推出了HPC AI500 V3.0和0图3中显示的系统概述。HPC AI500V3.0不专注于工作负载的选择和构建,而是与这些工作兼容的框架。我们通过图3简要介绍了HPC AI500 V3.0的定位和作用。该图显示,HPC AI500V3.0通过自适应增加�����来扩展较低层HPC系统上层的AI工作负载。具体来说,每个AI工作负载的批处理大小最初只是一个固定的��。经过Bagging,生成了一组�个基本模型,通过同时运行�个基本模型来增加�� ���。这样,从而实现了更高的资源利用率。此外,基本模型集的大小�可以根据系统规模进行调整,对应于HPL中可调整的输入矩阵大小,以适应未来HPC系统规模的增长。03.3. 系统设计和工作流程0HPC AI500 V3.0由三个组件组成,即用户配置(UC)0配置(UC)、Bagging管理(BM)和模型并行管理(MPM)。BM专注于管理Bagging,包括作业控制器和数据采样器。作业控制器将 �个作业调度到相应的节点,然后启动训练,最后聚合预测结果。请注意,每个作业对应一个基础模型训练。数据采样器控制数据采样算法。MPM分为并行控制器和数据复制器。并行控制器设置并行模式和 � _������。数据复制器负责根据与并行相关的配置复制和迁移数据。如图4所示,我们总结了HPC AI500 V3.0的工作流程如下:01. UC将配置发送到BM和MPM。BM接收0配置,包括作业数量,等于集成大小 �,以及需要训练的DL模型和原始数据集。MPM接收配置,如并行模式、 � ������和 ��� �����。02. MPM中的并行控制器检查是否满足 � , � ������ 和 ��� �����0满足方程(5)并根据接收的消息生成作业到节点的映射(例如, � ��� 1 → ����1 ),然后将此映射发送到BM中的作业调度程序。03. BM中的数据采样器确定采样算法和0生成每个任务的引导数据。所有生成的数据都发送到HPC系统的NFS。04. MPM中的数据复制器根据0到并行控制器生成的映射。例如, ��� 1− > ���� 1意味着作业1中的引导数据只需要𝑀 =𝑠𝑐𝑎𝑙𝑒𝑃𝑑𝑒𝑔𝑟𝑒𝑒Same as HPL, we use FLOPS (Floating point operations per second)as our primary metric:𝐹𝐿𝑂𝑃𝑆 =∑𝑁∕|𝐵𝑘|𝑖=1𝐴𝑃 𝐶𝑑𝑙𝑇𝑒𝑝𝑜𝑐ℎ(6)where 𝑇𝑒𝑝𝑜𝑐ℎ refers to the training time of one epoch and 𝑁∕|𝐵𝑘| refersto the number of iterations in one training epoch. In addition to FLOPS,we also adopt a metric that considers both system throughput andmodel quality, namely Valid FLOPS (VFLOPS) [57]. The definition ofVFLOPS is shown as follows:𝑉 𝐹𝐿𝑂𝑃 𝑆 = 𝐹𝐿𝑂𝑃 𝑆 ∗ 𝑝𝑒𝑛𝑎𝑙𝑡𝑦_𝑐𝑜𝑒𝑓𝑓𝑖𝑐𝑖𝑒𝑛𝑡(7)𝑝𝑒𝑛𝑎𝑙𝑡𝑦_𝑐𝑜𝑒𝑓𝑓𝑖𝑐𝑖𝑒𝑛𝑡 = (𝑎𝑐ℎ𝑖𝑒𝑣𝑒𝑑_𝑞𝑢𝑎𝑙𝑖𝑡𝑦∕𝑡𝑎𝑟𝑔𝑒𝑡_𝑞𝑢𝑎𝑙𝑖𝑡𝑦)𝑛(8)where 𝑝𝑒𝑛𝑎𝑙𝑡𝑦_𝑐𝑜𝑒𝑓𝑓𝑖𝑐𝑖𝑒𝑛𝑡 is used to penalize or award the FLOPS basedon the achieved quality. 𝑎𝑐ℎ𝑖𝑒𝑣𝑒𝑑_𝑞𝑢𝑎𝑙𝑖𝑡𝑦 refers to the actual modelquality achieved in the evaluation. 𝑡𝑎𝑟𝑔𝑒𝑡_𝑞𝑢𝑎𝑙𝑖𝑡𝑦 is predefined in theTable 4. The value of 𝑛 defines the sensitivity to the model quality.According to the setting of HPC AI500 V2.0 [57], we set n as 10 forExtreme Weather Analytics and 5 for Image Classification.Table 3The FLOPs calculation rules for primary operators in a DL model.𝐾 refers to the kernel size, 𝐶𝑖𝑛 and 𝐶𝑜𝑢𝑡 refers to the input andoutput channel, 𝐻 and 𝑊 refers to the data size, 𝐺𝑟𝑜𝑢𝑝𝑠𝑖𝑧𝑒 refersto the group size of the convolution, and 𝐹𝐿 refers to the flattenlayer used in the Fully-connected.OperatorsFLOPsConvolution2 × 𝐾2 × 𝐶𝑖𝑛 × 𝐻 × 𝑊 × 𝐶𝑜𝑢𝑡Depth-wise Convolution2 × 𝐾2 × 𝐶𝑖𝑛 × 𝐻 × 𝑊Group Convolution2×𝐾2×𝐶𝑖𝑛×𝐻×𝑊 ×𝐶𝑜𝑢𝑡𝐺𝑟𝑜𝑢𝑝𝑠𝑖𝑧𝑒Fully-connected𝐹𝐿𝑖𝑛 × 𝐹𝐿𝑜𝑢𝑡Element-wise𝐶𝑜𝑢𝑡 × 𝐻 × 𝑊Pooling𝐶𝑖𝑛 × 𝐻 × 𝑊Normalization𝐶𝑖𝑛 × 𝐻 × 𝑊3.6. MeasurementAccording to Eq. (4) and Eq. (6), to determine the 𝐹𝐿𝑂𝑃𝑆, weneed to first measure the 𝐶𝑜𝑚𝑝𝑢𝑡𝑎𝑡𝑖𝑜𝑛(𝑓(𝑥)). Although profiling toolssuch as Nsight [77] are able to count the FLOPs by kernel replay, itis dependent on the Nvidia hardware. In order to reduce the influenceof the hardware and the hardware-specific optimizations performed bybundled low-level libraries (e.g., CuDnn for Nvidia GPUs), we presentan analytical method to calculate the FLOPs that a DL model requires.Modern AI frameworks, such as TensorFlow, describe the computa-tion of a DL model using a directed acyclic graph (DAG) that consistsof multiple nodes and edges. The Node in the DAG represents a kind ofoperator, and the edge represents the data flow. Each operator definesa computation logic and receives the data from the input edge, andthen sends the intermediate result to the next operator after finishingits computation. Unlike HPL, which has only one kind of operator (LUdecomposition), a DL model usually consists of multiple operators withdifferent kinds. Hence, we summarize the most frequent operators in DLas shown in Table 3. In addition to these listed operators, we ignoreother low-proportion operators contained in the DL model. Based onthis table, we can calculate the 𝐶𝑜𝑚𝑝𝑢𝑡𝑎𝑡𝑖𝑜𝑛(𝑓(𝑥)) by traversing theDAG.3.7. Implementation detailsJob scheduler of the Bagging management module is based onSLURM (Simple Linux Utility for Resource Management) [78]. SLRUMis the most commonly used scheduling system in HPC AI systems,fault-tolerant and highly scalable, and suitable for Linux clusters ofdifferent sizes. We implement the submitted job script based on the𝑠𝑏𝑎𝑡𝑐ℎ interface of SLRUM and use 𝑠𝑖𝑛𝑓𝑜 and 𝑠𝑚𝑎𝑝 to monitor thetraining progress of the base model in each job, and the basic unit ofjob scheduling is a container implemented by Docker [79]. Accordingto the literature [58], the implemented random sampling algorithmguarantees that the 𝑖𝑡ℎ training sample is selected 𝑛 (𝑛 ∈ {0, 1, 2...})times. The probability of the times approximates the Poisson distribu-tion of 𝜆 = 1,50Z. Jiang, C. Luo, W. Gao等人 BenchCouncil Transactions on Benchmarks, Standards and Evaluations 2 (2022) 1000830表2 HPC AI500 V3.0的可定制配置。 ���� _ ��� 指的是HPC系统节点上配备的加速器数量。0类型 默认设置 替代方案0基本 � ������ = ���� _ ���0任意 � 和 � ������满足方程(5)0学习率调度器预热方案和线性缩放 [ 69 ] LARS [ 35 ],LAMB [ 70 ]0优化器 SGD with momentum Adam [ 71 ],AdaGrad [ 72 ]0训练数据精度 FP16 混合精度、Int80通信数据精度 FP32 FP16,Int80并行模式数据并行模式、模型并行模式、流水线并行模式 [ 73 ],混合并行模式0通信模式同步全局归约 2D-Torus [ 41 ],分层全局归约 [ 40 ]0框架 TensorFlow [ 74 ] PyTorch [ 75 ],Mindspore [ 76 ]0需要复制一次。所有复制的数据都发送到相应节点的本地存储。05. 作业调度程序将作业发送到相应的节点并0启动整个集成的训练。06. 训练完成后,作业调度程序收集所有的0集成输出,然后进行最终预测。03.4. 可定制配置0为了保持优化空间,除了0基本配置,例如 � 和 | � ������ |,我们在表2中总结了其他可定制的配置。我们为每种配置类型提供了默认设置和一些替代方案。请注意,替代方案只列出了首选选项,用户可以根据自己的情况定制高效的实现。03.5. 指标0� ) = 0 . 632。因此,对于任何装袋基分类器,约有0原始数据集的36.8%的样本在训练时不会被使用。并行管理模块中的默认并行实现使用Horovod和OpenMPI实现的数据并行性,这也是HPCAI系统中最常见的并行方法[17-19]。带宽的测量分为节点内通信和节点间通信,我们使用Nvidia-smi(NVIDIA系统管理接口)工具[80]来监视节点内的通信,并使用iftop工具[81]来监视节点间的通信。0节点内通信和节点间通信,我们使用Nvidia-smi(NVIDIA系统管理接口)工具[80]来监视节点内的通信,并使用iftop工具[81]来监视节点间的通信。60Z. Jiang, C. Luo, W. Gao等人 BenchCouncil Transactions on Benchmarks, Standards and Evaluations 2 (2022) 1000830图5. HPC AI500 V3.0的FLOPS和VFLOPS的可扩展性实验。Extreme Weather Analytics的 ������� _ �����为0.44,图像分类为0.96。04. 评估04.1. 实验设置04.1.1. 硬件0我们的实验是在一个64GPU集群上进行的,由八个节点组成0八个节点,每个节点配备一个Intel(R) Xeon(R) Platinum 8268CPU和八个NVIDIA Tesla V100GPU。同一节点中的每个GPU都有32GB的HBM内存,通过NVIDIANVLink连接,这是一种高速GPU互连,其理论峰值双向带宽为300GB/s。节点之间通过带宽为10Gb/s的以太网网络连接。每个节点有1.5TB的系统内存和8TB的NVMe SSD硬盘。04.1.2. 软件0我们使用TensorFlow v1.14,编译使用CUDA v10.1和cuDnn0v7.6.2后端。我们使用Horovodv0.16.4进行同步分布式训练,编译使用OpenMPI v3.1.4和NCCLv2.4.8。NCCL是NVIDIA Collective CommunicationsLibrary的缩写,它是一种多GPU集体通信原语的闭源库,具有拓扑感知能力。04.2. 工作负载0HPC AI500 V3.0是一个基准测试框架,这意味着任何0AI基准可以集成到这个框架中以进行装袋0方式。在这里,我们的默认实现基于HPC AI500V2.0[57],这是一个备受赞誉的HPCAI基准测试,主要包括两个工作负载,涵盖了商业和科学计算中的AI应用。如表4所示,图像分类使用ResNet-50[2]和ImageNet[66]进行训练,这是优化HPCAI系统的一个著名案例。极端天气分析[82]是一个典型的科学应用,它使用Faster-RCNN来检测气候图像中的极端天气。极端天气数据集中的每个气候图像包含16个通道,包含四种极端天气模式。04.3. 可扩展性实验0可扩展性实验是在默认设置下进行的0在表2中显示了HPC AI500 V3.0的可扩展性实验。我们设置 � � ����� =8,这等于节点中的GPU数量。在每个节点中,通过数据并行性将作业分配给8个GPU。我们在不同的系统规模上顺序执行实验,通常是 ��� � ���� =8,16,24,32,40,48,56,64个GPU。根据公式(5),相应的作业数量为 �=1,2,3,4,5,6,7,8。可扩展性实验的结果显示在图5中。正如我们所看到的,HPC AI500V3.0在FLOPS和VFLOPS方面表现出近线性的可扩展性。请注意,在图5(a)中, ������� _ ����������� = 0.44 导致VFLOPS线和Extreme WeatherAnalytics的FLOPS之间存在差距。此外,我们通过Nsight在64个GPU的规模上测量GPU利用率,结果显示在图6中。极端天气分析和图像分类都实现了高GPU利用率。04.4. 可定制性实验04.4.1. 模型质量和训练速度之间的权衡0为了展示这种权衡,我们以图像分类为例0案例。我们设置 � = 8, 4, 1,而相应的 ������� = 8, 16, 64。如图7所示,随着 �的减少,训练速度增加。当 � = 1时,整个集群的训练过程变成训练单个模型,实现最高的训练速度。然而,由于只有一个模型在集成中做出决策,与 � = 8的情况相比,模型质量下降约3%。在实际场景中,用户可以根据其训练速度和模型质量要求选择适当的 � 和 ��
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 5
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 基于Python和Opencv的车牌识别系统实现
- 我的代码小部件库:统计、MySQL操作与树结构功能
- React初学者入门指南:快速构建并部署你的第一个应用
- Oddish:夜潜CSGO皮肤,智能爬虫技术解析
- 利用REST HaProxy实现haproxy.cfg配置的HTTP接口化
- LeetCode用例构造实践:CMake和GoogleTest的应用
- 快速搭建vulhub靶场:简化docker-compose与vulhub-master下载
- 天秤座术语表:glossariolibras项目安装与使用指南
- 从Vercel到Firebase的全栈Amazon克隆项目指南
- ANU PK大楼Studio 1的3D声效和Ambisonic技术体验
- C#实现的鼠标事件功能演示
- 掌握DP-10:LeetCode超级掉蛋与爆破气球
- C与SDL开发的游戏如何编译至WebAssembly平台
- CastorDOC开源应用程序:文档管理功能与Alfresco集成
- LeetCode用例构造与计算机科学基础:数据结构与设计模式
- 通过travis-nightly-builder实现自动化API与Rake任务构建
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功