MLPerf Rules总结



更新 2021-09-27

最新结果可以查看 :



1. MLPerf Inference Rules

1.1 Inference Division

MLPerf Inference分为封闭分区(Closed Division)和开放分区(Open Division)。

  • 封闭分区需要使用等同于参考实现的预处理,后处理和模型。封闭分区允许校准量化,但不允许任何再训练。

  • 开放分区只限制使用相同的数据集,它允许使用任意的预处理或后处理和模型,包括重新训练。

MLPerf Inference为每个Benchmark都提供了参考实现。这些参考实现本身并没有进行优化,也不是为了测量软件框架或硬件平台的“真实”性能。它们的目标是让硬件和软件供应商基于参考实现进行优化,并将优化后的结果作为MLPerf Inference的优化解决方案提交给MLPerf。

1.2 Test Scenarios

MLPerf Inference有2个基本概念: samplequery

  • sample(样本)是运行inference的单位,例如一个image或sentence。
  • query(查询)是一组进行Inference的N个sample。例如单个query包含8个image。

为了能够对各种推理平台和用例进行代表性测试,MLPerf定义了四种不同的场景,如下所述。

  • single stream:模拟例如用户使用智能手机拍照的真实场景。在测试中LoadGen发送初始查询,然后在处理上一个查询后不断发送下一个查询。每次查询只包含1个sample,可以理解为batchsize=1。single stream度量标准是第90百分位延迟。注意,最后衡量的结果是Tail Latency而不是average Latency。
  • multiple stream:评估例如检测障碍物的多摄像头汽车系统的真实场景。LoadGen运行多次测试来测量系统能够支持的最大stream数,度量标准是支持的流的数量。(每个query中的Sample的数量等于stream的数量)
  • server:评估在线请求数据中心服务,衡量服务器吞吐量这样的实际场景。LoadGen使用多个query来确定系统可以支持的每秒查询(QPS)中的最大吞吐量值,指标是QPS。(每个query只包含1个Sample)
  • offline:评估实际场景,例如批处理系统。LoadGen运行单次测试来测量系统吞吐量。在测试开始,LoadGen一次发送所有query给Inference系统。

Load Generator是MLPerf的负载生成器,用于生成query,跟踪query的Latency并验证结果的准确性。每次运行LoadGen都会使用四种模式之一来评估系统的性能,最后提交的结果可以是{models, scenarios}的任意组合。

1.3 General rules

1)系统和框架必须可用
如果要测量公开可用且广泛使用的系统或框架的性能,则必须使用公共可用且广泛使用的系统或框架版本。
如果要测量实验性的框架或系统的性能,则必须让你使用的系统和框架可获得并且可复制。
2)必须共享Benchmark implementations
用于基准实施的源代码必须是开放源代码,允许商业实体自由使用基准测试。只要结果被积极使用,代码就必须可用。
3)所有随机数必须基于固定随机种子和确定性随机数发生器,以保证每次生成的随机数都是固定的。固定种子将在基准提交截止日期前一周公布。
4)不能够以任何形式编码input dataset信息。
5)测试结果的可复制性是强制的,无法复制的结果不能作为有效结果。

1.4 Data Sets Rules

1)对于Inference Benchmak测试,MLPerf 提供了以下数据集:

  • accuracy数据集,用于确定提交是否符合质量目标,并用作验证集
  • speed/performance 数据集,是用于测量性能,它是acc
  • 5
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值