人工智能基准的黑暗世界

2020-05-02 17:50:57

在过去的几年里,人工智能初创公司一直在以惊人的速度涌现,同时一直在兜售TOPS基准数据。但它的真正含义是什么?TOPS数字是否适用于所有应用程序?答:这取决于多种因素。

从历史上看,每一类设计都使用某种标准基准来进行产品开发和定位。例如,SPECint、dhrystone和Geekbench被用作处理器性能的一组基准程序。RFC 2544用于对网络ASIC进行基准测试。但更多定制和异构硬件的开发,再加上人工智能算法的不断更新,充其量也就是让基于基准的决策变得模糊不清。

西门子(Siemens)旗下Mentor的市场开发经理阿努普·萨哈(Anoop Saha)表示:“近年来,我们看到人工智能可用的硬件选择有了很大的进步--从GPU到FPGA,再到定制的硬件ASIC,”Mentor的市场开发经理阿努普·萨哈(Anoop Saha)表示。然而,现有的基准不适合衡量硬件对人工智能应用程序的工作方式-无论是在训练中还是在推理中。

目前,TOPS(每秒万亿次操作)是描述许多硬件设计性能的最常用度量。但买家要当心。

Percept首席执行官史蒂夫·泰格(Steve Teig)表示:“有无数公司在做推断,他们提出了很多主张。”“其中很多说法都言过其实了。当人们说,‘我有这么多顶和每瓦这么多顶’时,我鼓励他们对此嗤之以鼻。当我看到别人的声明时,我就会这么做。我想,‘你声称你以这个速度运行这个网络,你可以在网上查询这个网络在这个速度下有多少个操作。你可以算出来,然后确定顶数是多少..。

要想了解TOPS数字的组成,需要了解正在测试的确切内容。但这对提供设备在现实世界中的行为环境几乎没有什么帮助。

“TOPS只能测量芯片的性能,”萨哈说。“在神经网络加速方面,功耗是一个更大的挑战。这是因为这些算法的高度并行性,它们也有大量的存储器访问。更好的衡量标准是每瓦特性能-每单位能源的性能。事实上,大多数人工智能硬件的数据表现在都将TOPS和TOPS/W描述为一个指标,这两个指标都很重要。与.相比,每瓦最高功率对边缘设备更重要。

Cadence负责产品营销、管理和业务开发的集团总监普林·德赛(Pulin Desai)表示,TOPS数字也可能因衡量的是定点运算还是浮点运算而有所不同。“对于定点运算,人们通常会使用万亿次运算数。有时,它们可能会抛出一些浮点运算,并指的是千兆次运算,即每秒的浮点运算。工程团体说的第三件事是,我不在乎原始产能。你有..。

要更深入地了解TOPS数字,需要进行一些调查工作。例如,该数字包括哪些类型的操作?如果一个产品以1 GHz的速度运行,具有2,048个8位操作,则等于2,048乘以1,024个千兆操作,即2个TOP。但如果它真的是4位操作,4位操作的数量可能会翻一番,并可能被宣传为最多20个。

德赛说:“一般来说,我们倾向于坚持使用8位,因为今天发生的大多数推论都是在8位上进行的。”“这是一个乘法累加运算。但现在插入DSP,其中有很多Parallels操作。如果有另一个操作是并行的,因为它是一个并行设备,你必须将2,048个乘法器累加器操作加上这个8位操作加起来。更简单地说,我说的是MAC操作的数量和8位操作的数量。你把这些加起来..。

这种细节对于准确确定要测量的内容至关重要。“如果有人给您提供的是Tera ops数字,那么它是什么类型的数据类型-2位、4位、8位、16位?你用的是什么?如果你计算过太秒操作,你假设的频率是多少?您的设备是否仅执行此操作,或者是否有一些其他操作并行进行?如果他们提供了特定网络上的信息,那么同样的问题也适用。“你是不是用定点给了……。

然而,这远远不是一个客观的分析。性能可能会因网络上进行的优化(如修剪、量化和压缩)而有所不同。许多机器学习模型可以提供与低精度整数模型类似的精度,而不是使用浮点运算。因此,使用32位整数精度的硬件的TOP/W与使用8位整数精度的硬件的TOP/W是不同的。根据他们要求的精确度,用户可以决定.。

更大的问题是应该运行哪些应用程序来提供准确的基准指标。目前,诸如MobileNet、ImageNet和ResNet等常见网络用于