开启辅助访问
 找回密码
 立即注册

大规模人工智能算力评测基准(AIPerf)

紧张 回答数0 浏览数894
本文基于论文“AIPerf: Automated Machine Learning as an AI-HPC Benchmark”整理而来,具体技术细节与描述请参考原论文。

(AIPerf研究工作由鹏城实验室,清华大学,中科院等机构合作完成,论文第一作者为鹏城实验室任智祥,通讯作者为清华大学陈文光,代码请见:https://github.com/AI-HPC-Research-Team/AIPerf)
研究与产业现状


近年来,随着人工智能在自然语言处理、计算机视觉等领域上的快速发展以及在大规模算力上的普及,公众需要一台简单有效的指标来帮助判断系统的人工智能算力和整个高性能人工智能领域的发展状况。同时,一台好的指标也可以引领一台领域的健康持续发展。复杂的人工智能算法和可用的高性能计算能力的过多刺激了具有异构设计的AI硬件的快速开发。因此,对新型智能计算系统(AI-HPC)的跨堆栈性能基准测试的需求迅速出现。
然而,传统的高性能计算机评测方法和体系与当前人工智能需求的性能并不完全一致。目前高性能计算领域的测试基准LINPACK在没有代表性工作负载的情况下,无法反映人工智能的计算能力和输入/输出性能。例如,LINPACK是一台目前被广泛采用的高性能计算机双精度浮点运算性能基准评测程序,而典型的人工智能应用并不需要双精度浮点数运算。大部分人工智能训练任务以单精度浮点数或半精度浮点数为主,推理以Int8为主。
对大规模人工智能算力来说,制定一台简单有效的指标和测试方法并不是一件容易的事情。首先,大部分单个人工智能训练任务(例如训练一台推荐系统或者图像分类的神经网络模型)达不到全机上百张加速器卡规模的计算需求。其次,如果要测试规模变化的人工智能集群计算机,测试程序必须能够规模可变。最后,准确率的判定和计算是大规模人工智能算力评测与传统高性能计算基准评测之间的一台显著区别。例如,是否需要使残差小于给定标准,是否要将准确度计入分数统计,同样是需要明确的问题。
当前流行的人工智能基准测试,如MLPerf,有固定的问题大小,因此可扩展性有限。目前,各大企业、高校和相关组织在人工智能性能基准测试领域已经有了很多探索,相继开发了各类基准评测程序,比如谷歌等公司主导的MLPerf,小米公司的MobileAI bench,百度公司的DeepBench,中国人工智能产业发展联盟的AIIA DNN Benchmark,以及在双精度的LINPACK基础上改成混合精度的HPL-AI等。但是这些基准测试方案都不能很好地解决上述问题。根据MLPerf公开发表的数据,MLPerf程序在百张TPU加速卡以上规模测试下扩展性就会出现下滑,在千张TPU加速卡级别到达评测体系的扩展性瓶颈,该评测程序很难评价不同系统在该规模下人工智能算力的差异。
研究背景介绍


AI-HPC基准测试面临三大挑战。首先,基准工作负载需要代表AI-HPC上运行的实际问题,例如 硬件利用率、设置成本和计算模式。 其次,基准工作负载最好是自动适应各种规模的机器,而无需额外的人力。第三,需要定义一台简单的人工智能性能系统指标,并设计一种测量方法。然而,目前的HPC和AI基准并没有解决这些挑战。特别是,事实上的HPC基准LINPACK,在没有代表性工作负载的情况下,无法衡量AI上的跨堆栈性能。此外,流行的人工智能基准测试,如MLPerf[6],具有代表性的人工智能工作负载,但它们有固定的工作负载大小,通常用于对小型系统进行基准测试。此外,它们不会自动随机器缩放,需要大量人力进行调整。这个特性是错误的,因为增加的计算能力往往被用来解决更大的问题,而不是用更少的时间解决同一台问题。固定问题也不能自动适应不同规模的机器。
自动机器学习(AutoML)可以更自动地搜索和优化人工智能模型,并在人工智能社区受到越来越多的关注。作为一台典型的人工智能应用程序,AutoML基本上包含了所有关键组件,包括主要计算操作(例如稀疏矩阵乘法)、计算精度(FP-32或更低),以及真实人工智能场景中的工作流。更重要的是,AutoML可以以灵活的方式实现,这样它就可以随着机器的数量自动伸缩。此外,伪随机生成的体系结构和极端的计算成本将解决人工智能研究中不断发展和多样化的体系结构设计问题,并充分推动基准测试中的系统限制。考虑到所有这些优点,AutoML是一台理想的工作负载,我们选择它来应对前两个挑战。对于第三个挑战,我们从LINPACK和Top500的成功中学习,并利用每秒运算(OPS)作为我们的基准分数,定量衡量人工智能的计算能力。OPS采用分析和系统的方法进行测量,以说明训练和推理过程。通过自适应工作负载和单指标测量,我们的基准可以轻松地对各种大小的机器进行排序,从小型集群到大型AI-HPC。  
AIPerf的主要技术亮点如下:

  • AutoML作为一种具有代表性的自适应工作负载,为AI-HPC建立端到端的基准测试套件。
  • 实现是高度并行和可定制的,以保持在不同系统上的优化潜力。
  • 提出了一种分析和快速的方法来计算不同结构的神经网络的运算速度。
  • 在各种系统上评估我们的基准,以确保基准的可扩展性和稳定性。
技术特点描述

AIPerf基于自适应机器学习技术实现,并优化传统NNI框架以回避其仅在主节点执行NAS和HPO所产生的计算瓶颈。如图X所示,框架基于“主从节点结构”,在副本节点异步执行模型生成和训练,利用副本节点的CPU并行生成新的体系结构。通过数据并行性和同步all-reduce策略,使所有AI加速器可以在不同的数据分区上进行训练,并产生单独的梯度,然后在每轮迭代结束时将所有梯度聚合。高度并行和灵活的算法实现方式使该框架可以自适应地扩展到各种规模的机器。


AIPerf评测基准工作流程示意图


目前,每秒浮点运算(FLOPS)是反映HPC整体计算能力的最常用性能指标。我们的基准测试使用OPS作为主要指标(分数),直接描述人工智能加速器的计算能力。因为处理时间可以很容易地记录下来,我们只需要计算全部运算,所有计算都需要使用至少FP-16精度的浮点进行。NVIDIA profiling tools(nvprof)等工具包可以通过内核回放记录执行的操作计数,这非常慢。这种方法也仅限于NVIDIA硬件,不适用于各种平台,扩展性较差。
基准测试使用OPS作为主要性能指标(分数),直接描述人工智能加速器的计算能力。由于处理时间可以很容易地记录下来,获取全局运算计数成为核心痛点。AIPerf创新性地将运算数求解视为一台数学问题,在不进行任何优化的情况下,计算完成训练和验证过程中复杂计算所需的运算计数。
传统深度学习框架,如Tensorflow,使用计算图表征并指导工作流,并借助前向传播(FP)与反向传播(BP)的自动微分来训练神经网络。因此,模型总操作数为FP和BP操作数之和,包括计算梯度的操作和使用梯度下降更新参数的操作。其大多数计算为矩阵乘法,可表示为  ,即n个乘法累加运算,大约对应于2n个基础算子。梯度下降的过程可描述为重复  ,直至收敛,因此在一次BP中单参数所需操作相当于一次乘法累加。据此规则,将原始模型分层拆分并分别计算不同类型层在FP与BP过程中的操作数,如图X所示,以输入图像维数为  ,卷积核大小为K*K的卷积神经网络为例。



FP中每层(每幅图像)的分析运算计数

BP中每层(每幅图像)的分析运算计数


通过分析比较ImageNet上resnet-50的OPS计数,验证了此分析方法的有效性,结果如图:


Resnet-50 每层(每图)的分析运算计数

测试性能评估


在初步测试中,使用四个基于CIFAR10数据集的NVIDIA 1080Ti GPU在本地机器上验证了基准设计(关于算法和实现)。正式测试在不同规模的机器上运行基准测试,从10个具有80个GPU的节点到512个具有4096个NPU的副本节点。作为人工智能研究的现代实践,在容器中使用分配的资源和预先分配的服务来执行评估,以确保测试环境的一致性。利用Kubernetes部署docker容器,这些容器包含所有依赖项,包括操作系统、库和工作负载代码,以提供运行环境。为了简单起见,将每个具有相同硬件规格的物理服务器用作主节点或副本节点。将所有中间结果,包括生成的架构、超参数配置、每个epoch的准确度和时间戳,记录在日志文件中,运行数据分析工具包,利用所有记录的信息计算分数并创建报告。
在本测试中,将评估限制在基准的两个主要特征:稳定性和扩展性。对于稳定性特征,在各种类型和规模的人工智能加速器上预先分配的小时内,计算累积OPS,并将其作为分数显示在图X中。在这两个集群中,累积OPS收敛并稳步增加且监测分数效果类似。结果表明,基于AIPerf的基准测试具有鲁棒性和稳定性。


不同规模的集群节点在评估期间的基准分数和规定分数(均在Peta- OPS中)


对于扩展性,在整个运行期间以30s 的采样间隔提取实时信息,以进行框架的弱扩展性测试。结果如图X ,基准测试显示,在数十到数千个GPU或NPU的系统上,其扩展性几乎呈线性增长,这意味着该框架可以评估更大的系统,比如未来的exascale超级计算机。


AIPerf在不同数量的人工智能加速器上的持续性能(Peta OPS)

国际人工智能性能排行榜:AIPerf500

基于AIPerf,由多位国际与国内专家发起,并由ACM中国高性能计算专家委员会(SIGHPC China)与中国大数据与智能计算产业联盟联合推出了国际人工智能性能“AIPerf500”排行榜,对于新型智能超算的设计与优化、智能算力产业痛点和发展潮流的分析、以及新基建方面的探索具有重要意义。目前该榜单已经吸引了 多个知名超算中心与大型云计算平台,覆盖了国内外各种类型的系统。
每年年底举办的中国超级算力大会(ChinaSC)上回发布年度国际人工智能性能排行榜AIPerf500,2021榜单如下:

2021年国际人工智能性能排行榜AIPerf500

目前排名第一的系统是鹏城实验室的鹏城云脑,该系统的AI计算子系统包含4096颗AI处理器,提供理论上1E OPS FP16和2E OPS INT8的AI运算能力。其通用算力由基于ARM架构的2048颗CPU组成,每个CPU提供不少于0.49T FLOPS的通用算力。
总结

人工智能和高性能计算融合的兴起揭示了新的挑战——基准测试的最新进展以及人工智能目的的未来大规模集群。AIPerf论文回顾了当前的HPC和AI基准,并解释了为啥它们不能解决所有的挑战。选择AutoML这一高度可扩展且具有代表性的人工智能应用程序作为基准工作负载,并以高度并行的方式实现了这些算法。AIPerf还提出了一种独立于DL框架和其他软件实现的分析方法来估计训练和验证过程中的计算运算率。利用这个比率作为基准分数来构建基准分数,以定量衡量人工智能应用程序的机器计算能力。使用一台大数据集在不同类型和规模的系统上评估了基准测试,并验证了基准测试的稳定性和可扩展性。此外,简单的度量设计能够轻松地对从小型集群到大型AI-HPC的机器进行比较和排序。
参考文献:Ren, Zhixiang, Y. Liu, T. Shi, L. Xie, Y. Zhou, J. Zhai, Y. Zhang, Y. Zhang, and W. Chen, “AIPerf: Automated machine learning as an ai-hpc benchmark”, Big Data Mining and Analytics, vol. 4, no. 3, pp. 208–220, 2021.
代码库:https://github.com/AI-HPC-Research-Team/AIPerf
使用道具 举报
| 未知
当贝投影