地平线最近提出了一个评测 AI 芯片性能的新方法——MAPS (Mean Accuracy-guaranteed Processing Speed,在精度有保障范围内的平均处理速度),即针对应用场景的特点,在精度有保障的前提下,包容所有与算法相关的选择,评估芯片对数据的平均处理速度。

 

先简单解读一下这套评估方法,它只提供速度和精度两个指标,屏蔽了其他更多复杂因素(包括芯片利用率、算法效率、软硬件分工等等)。只提供一条速度和精度曲线,让用户找他们自己要的甜点。

 

地平线作为芯片厂商,为什么要提出一套新的评测方法?对 AI 芯片的评测,究竟应该注重什么?AI 芯片是否需要这么多评测标准?带着这些疑问,<与非网>与多位业内人士进行了深入交流。


AI 芯片性能与算法发展脱节?


地平线联合创始人兼技术副总裁黄畅博士表示,“从深度学习神经网络模型的发展演进,我们发现 AI 芯片面临的一大挑战,是算法演进速度远超硬件改进速度,致使评估芯片 AI 性能的方法与算法发展之间存在脱节的现象。”

 

业界惯常使用的芯片评测标准主要有两种,一是峰值算力,但峰值算力只反映 AI 芯片理论上的最大计算能力,而非在实际 AI 应用场景中的处理能力,具有很大的局限性;二是目前行业较为知名的基准测试组织 MLPerf,其采用的模型少且更新速度滞后于算法演进的速度,无法及时反映算法效率的提升以及各种精度下芯片能够达到的计算速度,因而无法描述芯片 AI 性能的全貌。

 

以上这些都是黄畅看到的现行评测标准的局限性,在他看来,“评估芯片 AI 性能,本质上应该关注做 AI 任务的速度和精度,即‘多快’和‘多准’。”据他介绍,MAPS 评测方法关注真实的用户价值,将每颗芯片在“快”和“准”这两个关键维度上的取舍变化直观地展现出来,并在合理的精度范围内,评估芯片的平均处理速度,具有可视化和可量化的特点。


MAPS 方法评估谷歌 TPU 和地平线最新芯片


正如地平线所设想,如果我们放下成见,包容评测过程中所有的可能性,只关注芯片能跑得多准、跑得多快。是不是一个更开放、更易用的评估标准呢?

 

谷歌的 Edge TPU 是一款标称 4TOPS 的 AI 芯片,其架构在设计之初对新算法的考虑虽有欠缺,但是谷歌针对 Edge TPU 专门进行了优化,因而得到速度更快、精度损失非常少的一组模型 EfficientNet。Edge TPU 的表现甚至在行业所有的 EfficientNet 嵌入式芯片中领先。

 

对这款芯片按照“快”和“准”两个关键评测维度,运行不同模型的精度和帧率,用最优帧率精度所围面积直接体现 AI 芯片的最强能力,结果如下:

 

 

从上图的测试结果看,其中所有蓝色的点代表传统算法模型,橙色的点是经过优化之后的 EfficientNet 模型。选择一个合适的精度范围,比如 75%到 80.5%,在这个精度范围内去评估所有算法选择所能达到的最高精度,最终形成了一个最紧的包围,它围出的面积最大。而在这个精度范围内,用户需要不断在精度和速度之间做出折中的选择,因为这种方式是把所有选择都列出来,在每个精度上看它最好的结果。

 

在另外一个实验中,是用 MAPS 方法评估机器视觉核心任务——ImageNet 图像分类所用到的 5 款芯片,包括一款谷歌 Edge TPU、一款地平线即将推出的芯片,一款 GPU、以及另外两款分别标称 11.4TOPS 和 4TOPS 的 AI 芯片。在 EfficientNet 模型上进行测试,基本保持在 75%到 80.5%的精度范围,通过将面积除以高度,算出它的平均值,从而得出 MAPS 值,也就是有精度保障下的平均处理速度,它们最终对应的就是平均帧率。

 

通过下图可以看出 5 款芯片的表现。两款同样标称 4TOPS 的芯片,在 MAPS 值上甚至有近 2 倍的差异。地平线即将推出的新一代芯片和标称 11.4TOPS 峰值算力的某款 AI 芯片相比,在高精度上有劣势,但是在追求速度和低延迟的场景中有优势。
 

 

虽然地平线在推新评估方法时不忘打个新品广告,但是评估方法、结果还是比较直观。当然这只是一组基于 EfficientNet 模型评估得到的结果,随着算法不断演进,这套曲线可能还会不断变化。


AI 芯片评测标准——是基础也是标尺


没有规矩,不成方圆。纵观计算机体系结构的发展史,评测标准一直在深刻地影响、甚至左右着芯片行业的发展。远到超算领域的 Linpack,CPU 的 SPEC,近到 GPU 的 3DMark、智能手机的 AnTuTu、GeekBench,以及专门评测智能手机 AI 能力的苏黎世跑分 ETH AI-Benchmark 等。

 

而评测方法、标准之所以重要,是因为它对芯片设计的每个环节都非常关键,既是架构设计和优化的基础,也是衡量成果的标尺。到目前为止,对 AI 芯片的评测标准,主流的有国际上的 MLPerf,国内有人工智能产业发展联盟的 AIIA DNN benchmark(人工智能端侧芯片基准测试评估方案)。

 

MLPerf 是用于测试 ML(Machine Learning)硬件、软件以及服务的训练和推理性能的公开基准,该行业基准测试组织自 2018 年 5 月成立以来,得到了亚马逊、百度、Facebook、谷歌、哈佛大学、英特尔、微软和斯坦福大学等支持,一直在跟随 AI 的发展步伐持续演进。

 

作为 AI 芯片领域一个重要的基准测试,MLPerf 主要包括训练和推理两方面的性能测试,但目前为止仍偏重于训练端,这也正是为什么谷歌、英伟达、英特尔等巨头都是忠实拥趸的原因,这些大厂目前都更关注训练端。

 

从最近刚刚公布的 MLPerf Training 0.7 版来看,主要包括了 8 项测试内容,其中推荐系统、NLP 是新增类别,强化学习方面得到了大幅修订,此外还有图像分类、物体识别等,覆盖了深度学习的主流应用。

 

不过提交结果的玩家不算多,谷歌、英伟达、英特尔提交各自硬件,阿里、Dell、富士通和浪潮提交的是英伟达的加速系统,中国科学院深圳先进技术研究院提交的是华为系统。真正差异的硬件只有 5 个:V100、A100、TPU v3、TPU v4、Ascend910 和 Intel 的 CPU,核心玩家就只有英伟达、谷歌、英特尔和华为。某种程度上,这也反映了 MLPerf 训练评测门槛较高,它所测试的并不只芯片本身,而是完整的软硬件系统的全栈能力。如何吸纳更多的玩家,推动普及性,既需要给市场一定的成长成熟期,同时 MLPerf 基准联盟自身也需要下一些功夫。

 

正如本文开头时所提到的,包括地平线在内的业内人士,都看到了 MLPerf 的局限性,特别是在 inference 端,它所覆盖的应用场景还远远不够。

 

中国人工智能产业发展联盟(AIIA)的 AI 芯片测评项目 AIIA DNN benchmark,目前已经初步形成了端+云的基准测试方案。对于国内的众多 AI 芯片厂商来说,这套测试方案更接地气,所覆盖的工作场景更多,包含了计算机视觉、自然语言处理、智能语音等,它注重在特定场景和硬件测试环境下的指标为衡量,目前仍在不断更新评测场景以贴近真实应用。

 

这套测评方案也在不断进化中,目前已经制定了两套评估规范,并根据评估规范,发布了三轮 v0.5 版本评估结果,其中,端侧推断任务基准测试完成了两轮共 7 款芯片,云侧推断任务首轮共 4 款芯片。v0.6 版本公布 1 款芯片结果。评估结果涉及九类应用场景共三十余种网络模型。

 

AIIA DNN benchmark v0.5 版本端侧推断任务以吞吐率、时延和准确率为主要基准测试指标,云侧推断任务主要从延迟、精度损失、吞吐量、功耗、能效比(每瓦算力)这五个维度出发, v0.6 版本中,端侧增加了功耗指标,云侧推断增加芯片利用率指标,以反映加速卡性价比与软硬件及存储系统的整体能力。AIIA 对于 AI 芯片的性能,除了提供可信的第三方评测结果,对于应用企业进行 AI 芯片选型也有参考价值,而全栈式的 benchmark 也是它继续努力的方向。


地平线提出评测方法意义何在?


严格意义上来说,地平线提出的是一个方法或者说是理念,对引发行业思考,或是为第三方组织推进制定行业标准提供了一个新的思路。

 

一位业内专家告诉<与非网>,地平线的这套方法针对视觉 AI 芯片的评测,是一个创新,这套方法对某些对 AI 了解并不深入、自身没有 AI 研发能力、只求一个最终结果的客户比较有吸引力,也比较适用于想要一个整体 AI 解决方案的行业客户。

 

他同时指出了这套方法的局限性,最主要的是它最适合图像检测和分类 AI,如果是更复杂的视觉 AI 比如跟踪、分割、语义识别的话,可能不太适合,这从一定程度上限制了它的应用范围。

 

其次,如果要形成行业标准,那么如何规范 MAPS 方法也有进一步的工作要做,因为 MAPS 不仅仅采用一个模型,而是用多个模型、多种参数组合来形成性能包络曲线,那么选用什么样的模型组合、参数组合,是后续标准化工作需要去细致完成的内容。特别是如果要结合 AutoML 来确定模型组合的话,将会更为复杂。如果地平线有意愿持续推动 MAPS 形成行业标准的话,还需要和业界同行、标准化组织、行业联盟等紧密合作,将标准化提案开展起来。

 

地平线作为 AI 芯片头部厂商,对场景、具体应用都有着深刻的理解和认识,也有一定的立场去提出一套方法论。不过正如一位业内人士所说的,“一个方法要想被业界认可,除了需要公平、公开、公正,还需要标准化过程中的大量工作,能够把自身诉求和行业痛点很好地结合起来。”


更多评测方法还在来路上?


事实上,地平线并不是第一个提出 AI 评测方法的公司。

 

2016 年,百度硅谷人工智能实验室宣布了开源测试工具 DeepBench,主要针对硬件平台的深度学习性能进行评估。

 

2017 年,中科院计算所、寒武纪、科大讯飞、京东、锐迪科、AMD 共同提出 BenchIP。这是一种用于评测智能处理器的基准套件和方法,评测范围包括 CPU、GPU、神经网络加速器等各种硬件平台。

 

2018 年,阿里巴巴发布了 AI Benchmark 基准测试平台——AI Matrix,主要用于阿里内部的芯片设计和技术选型,同时也将一部分能力以及相应的代码库向行业开放。对于阿里这样的平台型大厂,自己有着较为丰富的应用场景,一方面需要这样的基准平台便于内部参考,另一方面向外部推行也有助于它进一步扩大影响力,这对它打造生态也有帮助。

 

行业中一直流传一句话:三流企业卖产品,二流企业卖技术,一流企业卖标准。成为标准的制定者,就如同站上了食物链的顶端,产品和生态都可通吃。

 

对于当前主流的 AI 基准测试方法来说,往往是一套标准包含了多个基准测试指标,在各个主要的应用场景,采用公开、典型和公认的模型作为基准来进行测试,这样的方法在公平性、有效性和效率等因素之间得到了较好的平衡。

 

然而,现阶段对于 AI 的发展来说,最切实的问题仍是碎片化的应用场景。因此在基准测试方面,也应该有各家的声音,行业需要更充分、更深入的讨论。毕竟孰优孰劣并不能总局限在当下的技术背景来权衡,探索功耗和性能、精度和速度的平衡,并且适应 AI 算法的演进兼具良好的易用性是现在以及未来 AI 芯片发展的关键。

 

新的算法和需求可能会超出芯片架构最初的设想,基准测试既需要真实反映 AI 应用和模型使用的现实情况,同时也要对 AI 芯片架构的定义、设计以及优化提供指引。AI 芯片技术、以及相关基准测试都需要不断演进,只有和应用更好地结合才能更好地抓住 AI 的时代机遇。