人工智能公司通常会关注一个标准:每秒更多 tera 操作 (TOPS)。不幸的是,当硅制造商宣传他们的 TOPS 指标时,他们并没有真正提供准确的指导。在大多数情况下,被炒作的数字并不是真正的 TOPS,而是峰值 TOPS。换句话说,你认为你在卡中获得的 TOPS 数字实际上是芯片在一个非常完美的世界中表现的最佳情况。
我将讨论行业因错误标记性能指标而造成的问题,并解释用户如何独立评估现实世界的 TOPS。
人造上衣与真上衣
AI 应用程序开发人员通常会通过衡量芯片制造商发布的 TOPS 性能数据是否足以支持他们的项目来开始进行尽职调查。
假设您尝试在 U-Net 神经网络上以 10 fps(每秒帧数)重新制作全高清图像。由于 U-Net 操作每张图像需要 3 TOPS,简单的数学表示您需要 30 TOPS 才能以所需的 FPS 完成项目。因此,在购买芯片时,您会假设声称运行 50、40 甚至 32 TOPS 的卡对项目来说是安全的。在一个完美的世界里,是的,但你很快就会发现这张卡很少能达到广告的数字。而且我们不是在谈论仅仅几滴TOPS;计算效率可低至 10%。
虽然调整神经网络以从卡中获得更好的性能当然是可能的,但您几乎不可能接近供应商列出的峰值 TOPS。试图获得 60% 或 70% 的计算效率将耗费大量时间。如果神经网络发生任何变化,您将不得不回到原点重新优化所有内容——但它甚至可能不适用于您的应用程序。这个问题对于小批量处理尤其明显;你会很幸运能获得超过 15% 的峰值 TOPS。
计算效率
此时,您可能想知道如何计算真正的 TOPS。这很简单!
要了解特定卡将提供多少真实 TOPS,您首先需要确定该卡的计算效率。理想情况下,这可以通过简单地在目标卡上运行所需的神经网络来完成。但是,您可能没有该卡。您仍然可以通过查看供应商的营销数据的详细信息来进行估算。通常可以获得像 ResNet50(或类似的)这样的神经网络的性能数据。假设这是一个典型的 ResNet50 实现,您可以找到计算单个图像的每秒千兆操作数(GOPS,而不是 TOPS)。然后,只需将其乘以供应商宣传的每秒图像数 (IPS),瞧!您就有了更真实的 TOPS 或“真实”TOPS。
效率只是 real 除以峰值 TOPS 的比率,或者:
峰值 TOPS x 计算效率 = 实际 TOPS
这个公式使用户能够在购买任何东西之前比较卡在运行神经网络时的真实效率。您可以使用所需的 TOPS 重用效率,看看它是否符合您的需求。虽然功率和批量大小等因素会影响结果,但如果您知道卡的效率,则此公式可以很好地估计其在实际用例中的实际性能。当然,供应商发布的神经网络的 IPS 仍然可以质疑,但至少估计比比较你真正需要的 TOPS 和一张卡的峰值 TOPS 更好。
还值得注意的是,这不仅仅是 GPU 问题。大多数专业 ASIC 的实际效率非常低,即使他们的营销促进了高效率。只需使用 IPS、已知的网络 GOPS 和简单的乘法运算,您就可以了解一个真实的数字。
高效的替代品
尽管 GPU 和 ASIC 都在效率和性能上苦苦挣扎,但有一种替代解决方案不涉及这些芯片中的任何一个。
2020 年 10 月的 MLPerf 结果表明,与推理加速相结合的 FPGA 比其他替代方案的效率要高得多,因此可以更接近其他芯片制造商宣传的最高 TOPS 数。
比较不同架构下每个发布的 TOPS 数据的每秒帧数 (FPS)(来源:Mipsology)
FPGA 不仅在计算方面更高效,而且在计算硅片使用方面也更高效。从本质上讲,这些卡“事半功倍”,从而以一小部分成本获得更好的神经网络性能。
值得重复一遍:买家不应该因为 TOPS 营销炒作而堕落。这是一个夸大的性能数字,大多数神经网络在现实条件下永远不会看到。相反,利用这个公式:
峰值 TOPS x 计算效率 = 实际 TOPS
这样做将帮助您快速、轻松、准确地将您的性能需求与芯片的实际性能进行比较,而不是任何夸大的供应商声称。
——Ludovic Larzul 是 Mipsology 的创始人兼首席执行官。
审核编辑 黄昊宇
-
神经网络
+关注
关注
42文章
4576浏览量
98800 -
AI
+关注
关注
87文章
26485浏览量
264110
发布评论请先 登录
相关推荐
评论