最高额。翻牌。GFLOPS。AI 处理器供应商以多种方式计算其架构的最大推理性能。
这些数字还重要吗?它们中的大多数是在实验室类型的环境中生产的,理想的条件和工作负载允许被测设备 (SUT) 为营销目的生成尽可能高的分数。另一方面,大多数工程师可能不太关心这些理论上的可能性。他们更关心技术如何影响推理设备的准确性、吞吐量和/或延迟。
将计算元素与特定工作负载进行比较的行业标准基准更加有用。例如,图像分类工程师可以识别出多个满足其性能要求的选项,然后根据功耗、成本等因素对其进行缩减。语音识别设计人员可以使用基准测试结果来分析各种处理器和内存组合,然后决定是否合成本地或云中的语音。
但 AI 和 ML 模型、开发框架和工具的快速引入使此类比较变得复杂。如图 1 所示,AI 技术堆栈中越来越多的选项也意味着可用于判断推理性能的排列呈指数级增长。那是在考虑可以针对给定系统架构优化模型和算法的所有方式之前。
图 1. AI 开发堆栈中越来越多的选项具有复杂的行业标准基准测试。
不用说,开发这样一个全面的基准超出了大多数公司的能力或愿望。即使有能力完成这一壮举,工程界真的会接受它作为“标准基准”吗?
MLPerf:更好的 AI 推理基准
更广泛地说,工业界和学术界在过去几年中开发了几个推理基准,但他们倾向于关注新生人工智能市场的更多利基领域。一些例子包括 EEMBC 用于嵌入式图像分类和对象检测的 MLMark,苏黎世联邦理工学院针对 Android 智能手机上的计算机视觉的 AI 基准,以及哈佛的 Fathom 基准,它强调各种神经网络的吞吐量,但不强调准确性。
可以在 MLPerf 最近发布的 Inference v0.5 基准测试中找到对 AI 推理环境的更完整评估。MLPerf Inference 是一个社区开发的测试套件,可用于测量 AI 硬件、软件、系统和服务的推理性能。这是来自 30 多家公司的 200 多名工程师合作的结果。
正如您对任何基准测试所期望的那样,MLPerf Inference 定义了一套标准化的工作负载,这些工作负载被组织成用于图像分类、对象检测和机器翻译用例的“任务”。每个任务都由与正在执行的功能相关的 AI 模型和数据集组成,图像分类任务支持 ResNet-50 和 MobileNet-v1 模型,对象检测任务利用具有 ResNet34 或 MobileNet-v1 主干的 SSD 模型,以及使用 GNMT 模型的机器翻译任务。
除了这些任务之外,MLPerf 推理开始偏离传统基准的规范。由于不同用例对准确性、延迟、吞吐量和成本的重要性的权重不同,MLPerf Inference 通过根据移动设备、自动驾驶汽车、机器人和云这四个关键应用领域的质量目标对推理性能进行分级来进行权衡。
为了在尽可能接近在这些应用程序领域运行的真实系统的上下文中有效地对任务进行评分,MLPerf Inference 引入了负载生成器工具,该工具根据四种不同的场景生成查询流量:
样本大小为 1 的连续单流查询,在移动设备中很常见
每个流具有多个样本的连续多流查询,如在延迟至关重要的自动驾驶汽车中发现的那样
请求随机到达的服务器查询,例如在延迟也很重要的 Web 服务中
执行批处理且吞吐量是一个突出考虑因素的离线查询
Load Generator 以测试准确性和吞吐量(性能)的模式提供这些场景。图 2 描述了 SUT 如何接收来自负载生成器的请求,从而将数据集中的样本加载到内存中,运行基准测试并将结果返回给负载生成器。然后,准确性脚本会验证结果。
图 2. MLPerf Inference 基准测试依赖于负载生成器,该负载生成器根据许多实际场景查询被测系统 (SUT)。
作为基准测试的一部分,每个 SUT 必须执行最少数量的查询以确保统计可信度。
提高灵活性
如前所述,人工智能技术市场中使用的各种框架和工具是任何推理基准测试的关键挑战。前面提到的另一个考虑因素是模型和算法的调整,以从 AI 推理系统中挤出最高的准确性、吞吐量或最低的延迟。就后者而言,量化和图像重塑等技术现在已成为常见做法。
MLPerf Inference 是语义级别的基准测试,这意味着,虽然基准测试提供了特定的工作负载(或一组工作负载)和执行它的一般规则,但实际实施取决于执行基准测试的公司。公司可以优化提供的参考模型,使用他们想要的工具链,并在他们选择的硬件目标上运行基准测试,只要它们保持在一定的指导范围内。
然而,重要的是要注意,这并不意味着提交公司可以随意使用 MLPerf 模型或数据集,并且仍然有资格获得主要基准。MLPerf 推理基准分为两个部分 - 封闭式和开放式 - 封闭式部分对可以使用哪些类型的优化技术以及禁止使用其他优化技术有更严格的要求。
要获得封闭部门的资格,提交者必须使用提供的模型和数据集,但允许量化。为确保兼容性,封闭部门的参赛者不能使用经过重新训练或修剪的模型,也不能使用经过调整以具有基准或数据集感知能力的缓存或网络。
另一方面,开放部门旨在促进人工智能模型和算法的创新。提交给开放部门仍然需要执行相同的任务,但可以更改模型类型、重新训练和修剪其模型、使用缓存等。
尽管封闭部门听起来很严格,但有 150 多个条目成功地获得了 MLPerf Inference v0.5 发布的资格。图 3 和图 4 展示了参赛者使用的 AI 技术堆栈的多样性,涵盖了几乎所有类型的处理器架构和软件框架,从 ONNX 和 PyTorch 到 TensorFlow、OpenVINO 和 Arm NN。
图 3. DSP、FPGA、CPU、ASIC 和 GPU 均成功完成了 MLPerf Inference 封闭划分要求。
图 4. AI 软件开发框架(如 ONNX、PyTorch、TensorFlow、OpenVINO、Arm NN 等)用于开发符合封闭划分基准的 MLPerf 推理系统。
将猜测排除在评估之外
虽然 MLPerf Inference 的初始版本包含一组有限的模型和用例,但基准测试套件是以模块化、可扩展的方式构建的。随着技术和行业的发展,这将使 MLPerf 能够扩展任务、模型和应用领域,并且该组织已经计划这样做。
最新的 AI 推理基准显然具有重要意义,因为它是目前可用的最接近真实世界 AI 推理性能的衡量标准。但随着它的成熟和吸引更多的提交,它也将成为成功部署技术堆栈的晴雨表和新实施的试验场。
为什么不让技术自己说话,而不是处理特定于供应商的数据表数字呢?毕竟,更少的猜测意味着更强大的解决方案和更快的上市时间。
审核编辑:郭婷
全部0条评论
快来发表一下你的评论吧 !