星期五 , 十一月 27 2020
首页 / 人工智能 / AI / AI性能基准测试,从此有了“中国标准”

AI性能基准测试,从此有了“中国标准”

在秀算力这件事上,近几年一个叫MLPerf的AI性能基准测试,经常跃入人们的视线。

为了拿这个标准证明实力,英伟达、谷歌等“算力”大厂的表现,可谓是赚足了眼球。

早在2018年12月,也就是MLPerf首次出炉之际,英伟达便基于自家Tesla V100,在包括图像分类、物体分割、推荐系统等六项测试中均取得优秀成绩,拿下全场最佳。

而此后,英伟达更是频频刷榜,就在刚刚过去不久的最新性能测试中,英伟达又凭借A100 GPU打破了八项AI性能纪录。

谷歌方面也是毫不示弱,凭借4096块TPU V3将BERT的训练时间缩短到了23秒。

对此,谷歌AI掌门人Jeff Dean还在社交平台发文表示:

很高兴看到MLPerf 0.7的结果,谷歌TPU在八项基准测试中,创造了六项纪录。

我们需要(换)更大的标准了,因为我们现在在30秒内,就可以训练ResNet-50、BERT、Transformer、SSD 等模型。

那么问题来了,令这些“算力”大厂们竞相追逐的MLPerf这套“考题”,真的是“AI性能基准测试的唯一标准”吗?

不见得。

要达到理想的AI或者高性能计算(HPC)基准测试,具有三方面的挑战:

  • 首先,基准工作负载(workload)需要表示关于硬件利用率、设置成本和计算模式等的实际问题。
  • 其次,基准测试工作负载最好能够自动适应不同规模的机器。
  • 最后,使用简单、较少的指标,就可以衡量AI应用上的整个系统性能。

反观MLPerf,正如Jeff Dean所言,它具有固定的工作负载大小,这本身或许就是个错误。

因为增加的算力,应当被用来解决更大规模的问题,而不是用更少的时间去解决相同的问题。

而像LINPACK这样的基准测试,在没有代表性工作负载的情况下,又无法反映AI的跨栈性能。

针对上述问题,清华大学、鹏城实验室、中科院计算所联合推出了一套“中国AI试卷”——AIPerf。

简单来说,AIPerf的特点如下:

  • 基于的是自动化机器学习(AutoML)算法,能够实现深度学习模型的实时生成,对不同规模机器有自适应扩展性,并可检验系统对通用AI模型的效果。
  • 通过全新的解析方式计算浮点数运算量,可快速准确的预测AI任务中需要的浮点数运算,以此计算浮点数运算速率并作为评测分数。

那么,中国的这套“AI试卷”具体难度几何?科学与否?

还请各位看官继续品读。

中国的这套“AI试卷”长什么样?

摊开这套“AI试卷”,全貌如下:

△ AIPerf基准测试工作流程图

刚才也提到,AIPerf是基于AutoML算法来实现,在框架方面,研究人员选择的是一款较为用户友好的AutoML框架——NNI (Neural Network Intelligence)

但在此基础上,研究人员针对“AI加速器闲置”、“模型生成耗时”等问题,对NNI框架进行了修改。

AIPerf的工作流程如下:

  • 通过SSH访问主节点,收集从属节点的信息,并创建SLURM配置脚本。
  • 主节点通过SLURM,将工作负载并行和异步地分配给对应请求和可用资源的从属节点。
  • 从属节点接收到工作负载后,并行地进行架构搜索和模型训练。
  • 从属节点上的CPU,据当前历史模型列表搜索新的架构(该列表中包含了测试数据集上详细的模型信息和精度),然后将架构存储在缓冲区(如网络文件系统)中,以便后期训练。
  • 从属节点上的AI加速器加载“候选架构”和“数据”,利用数据并行性与HPO一起训练后,将结果存储在历史模型列表中。
  • 一旦满足条件(如达到用户定义的时间),运行就会终止。根据记录的指标计算出最终结果,然后上报。

做完这套“AI试卷”,得到的分数又该如何来衡量和排名呢?

我们知道,FLOPS是当前最常用来反映高性能计算整体计算能力的性能指标。

在这套“试卷”中,研究人员还是用FLOPS作为主要的指标,直接描述AI加速器的计算能力。

在AIPerf中,浮点数运算速率被当作一个数学问题来求解。通过对深度神经网络的分解,对每个部分的运算量进行解析的分析,得到浮点数运算量。

结合任务运行时间,即可得到浮点数运算速率并作为benchmark分数。

理论到位了,实验就要跟上。

硬件规格方面如下:

评估环境的详情如下:

最后,公布性能结果!

研究人员在各种规模的机器上运行了AIPerf这项基准测试,主要对两方面特性做了评估,分别是稳定性和可扩展性。

从10个节点到50个节点,最多有400个GPU。所有的中间结果,包括生成的架构、超参数配置、每个时间点的精度和时间戳,都记录在日志文件中。

下图展示了用不同规模的机器进行评估的“基准分数”和“规范分数”(单位均为FLOPS),随时间产生的变化。

结果表明,AIPerf基准测试具有鲁棒性和线性可扩展性。

接下来,是在不同规模机器下,GPU及其内存利用率的相关评估。

从图中可以发现,AI训练卡整体的计算和内存利用率很高(均大于90%)。在不同模型之间的过渡阶段,由于数据的加载和计算图的编译等原因,利用率会有所下降。

为什么要出这套“试卷”?

“浏览试卷”后,就需要思考一个问题:

为什么要出AIPerf这套AI基准测试?

这个问题就需要“由表及里”地来看待。

首先,从表象来看,类似MLPerf和LINPACK基准测试程序,自身存在一些漏洞和问题:

  • 要么工作负载大小是固定的,而算力的增加,应当用来解决更大规模的问题,限制了可扩展性。
  • 要么在没有代表性工作负载的情况下,无法反映系统对AI的跨栈计算性能。

虽然诸如此类的评测标准,目前来看是具有一定的价值和意义,但客观存在的不足也是不容忽视。

毕竟在当前人工智能飞速发展的大环境下,算力显得格外重要,而完备及更加科学的“基准测试”,将有助于算力的发展。

由此看来,“基准测试”和“算力”更像一对作用力和反作用力。

其次,从深层意义来看,发展算力,是非常必要的。

对于高性能计算来说,早在1993年便诞生了“TOP500”榜单,从一开始的美国、日本霸榜,到中国算力的崛起,不难看出国家在这项建设中的投入。

原因很简单,高性能计算对于各个国家发展航天事业、石油勘探、水利工程,再到新兴的高科技产业,都起到至关重要的作用。

但伴随着AI的兴起,改变了一往传统高性能计算的“求解方法”——AI+HPC才是未来算力的发展趋势。

近年来TOP500榜单,便能体现这一点:

  • 首台登顶榜首的ARM架构HPC,是基于富士通48/52核A64FX ARM。
  • 排名第二的SUMMIT,采用IBM Power+NVIDIA V100。
  • ……

榜单中近30%系统拥有加速卡/协处理器,也就是说,越来越多的系统配有大量低精度算术逻辑单元,用来支撑人工智能计算能力需求。

而在我国,也有越来越多的企业,开始或已经布局其中。

例如华为、浪潮、联想等,均拿出了自家强悍产品,在诸如TOP500、MLPerf等榜单中大显身手。

再从实际应用层面来看,或许你觉得发展算力对平民百姓并没有用,但其实不然。

恰好每年大血拼的“双11”即将来临,而每个电商平台背后,都有一套强有力的推荐系统,也就是用户经常看到的“猜你喜欢”功能。

推荐得准不准、快不快,很大程度上也是依赖于AI算力的强大与否。

再则,每年上千亿元成交额,能够保证及时付款成功,AI算力也是功不可没。

……

最后,回到最初的那个问题:

中国出的这套“AI试卷”,即ALPerf,英伟达、谷歌等老牌算力大厂又会有怎样的表现?

论文地址:https://arxiv.org/pdf/2008.07141.pdf

论文作者: Zhixiang Ren,Yongheng Liu,Tianhui Shi,Lei Xie,Yue Zhou,Jidong Zhai,Youhui Zhang,Yunquan Zhang,Wenguang Chen

关于 声波

声波
发现不同的声音

检查

李开复:AI渗透率仅4%,四波浪潮将重塑各行各业

大家好,我是创新工场的李开复。 …

发表评论

电子邮件地址不会被公开。 必填项已用*标注