AI|AI性能基准测试从此有了「中国标准」!英伟达、谷歌可以试试这套算力卷

金磊 发自 凹非寺
量子位 报道 | 公众号 QbitAI
在秀算力这件事上 , 近几年一个叫MLPerf的AI性能基准测试 , 经常跃入人们的视线 。
为了拿这个标准证明实力 , 英伟达、谷歌等「算力」大厂的表现 , 可谓是赚足了眼球 。
早在2018年12月 , 也就是MLPerf首次出炉之际 , 英伟达便基于自家Tesla V100 , 在包括图像分类、物体分割、推荐系统等六项测试中均取得优秀成绩 , 拿下全场最佳 。
而此后 , 英伟达更是频频刷榜 , 就在刚刚过去不久的最新性能测试中 , 英伟达又凭借A100 GPU打破了八项AI性能纪录 。
AI|AI性能基准测试从此有了「中国标准」!英伟达、谷歌可以试试这套算力卷
图片

谷歌方面也是毫不示弱 , 凭借4096块TPU V3将BERT的训练时间缩短到了23秒 。
对此 , 谷歌AI掌门人Jeff Dean还在社交平台发文表示:
很高兴看到MLPerf 0.7的结果 , 谷歌TPU在八项基准测试中 , 创造了六项纪录 。
我们需要(换)更大的标准了 , 因为我们现在在30秒内 , 就可以训练ResNet-50、BERT、Transformer、SSD 等模型 。
AI|AI性能基准测试从此有了「中国标准」!英伟达、谷歌可以试试这套算力卷
图片

那么问题来了 , 令这些「算力」大厂们竞相追逐的MLPerf这套「考题」 , 真的是「AI性能基准测试的唯一标准」吗?
不见得 。
要达到理想的AI或者高性能计算(HPC)基准测试 , 具有三方面的挑战:
首先 , 基准工作负载(workload)需要表示关于硬件利用率、设置成本和计算模式等的实际问题 。
其次 , 基准测试工作负载最好能够自动适应不同规模的机器 。
最后 , 使用简单、较少的指标 , 就可以衡量AI应用上的整个系统性能 。
反观MLPerf , 正如Jeff Dean所言 , 它具有固定的工作负载大小 , 这本身或许就是个错误 。
因为增加的算力 , 应当被用来解决更大规模的问题 , 而不是用更少的时间去解决相同的问题 。
而像LINPACK这样的基准测试 , 在没有代表性工作负载的情况下 , 又无法反映AI的跨栈性能 。
针对上述问题 , 清华大学、鹏城实验室、中科院计算所联合推出了一套「中国AI试卷」——AIPerf 。
简单来说 , AIPerf的特点如下:
基于的是自动化机器学习(AutoML)算法 , 能够实现深度学习模型的实时生成 , 对不同规模机器有自适应扩展性 , 并可检验系统对通用AI模型的效果 。
通过全新的解析方式计算浮点数运算量 , 可快速准确的预测AI任务中需要的浮点数运算 , 以此计算浮点数运算速率并作为评测分数 。
那么 , 中国的这套「AI试卷」具体难度几何?科学与否?
还请各位看官继续品读 。
中国的这套「AI试卷」长什么样?
摊开这套「AI试卷」 , 全貌如下:
AI|AI性能基准测试从此有了「中国标准」!英伟达、谷歌可以试试这套算力卷
图片

△ AIPerf基准测试工作流程图
刚才也提到 , AIPerf是基于AutoML算法来实现 , 在框架方面 , 研究人员选择的是一款较为用户友好的AutoML框架——NNI (Neural Network Intelligence) 。
但在此基础上 , 研究人员针对「AI加速器闲置」、「模型生成耗时」等问题 , 对NNI框架进行了修改 。
AIPerf的工作流程如下:
通过SSH访问主节点 , 收集从属节点的信息 , 并创建SLURM配置脚本 。
主节点通过SLURM , 将工作负载并行和异步地分配给对应请求和可用资源的从属节点 。
从属节点接收到工作负载后 , 并行地进行架构搜索和模型训练 。
从属节点上的CPU , 据当前历史模型列表搜索新的架构(该列表中包含了测试数据集上详细的模型信息和精度) , 然后将架构存储在缓冲区(如网络文件系统)中 , 以便后期训练 。
从属节点上的AI加速器加载「候选架构」和「数据」 , 利用数据并行性与HPO一起训练后 , 将结果存储在历史模型列表中 。


推荐阅读