AI 公司通常遵循一个标准:每秒更多 tera 操作 (TOPS)。不幸的是,当硅制造商宣传他们的 TOPS 指标时,他们并没有真正提供准确的指导。在大多数情况下,被炒作的数字不是真正的 TOPS,而是峰值 TOPS。换句话说,你认为你在卡片中获得的 TOPS 数字实际上是芯片在一个非常完美的世界中表现的最佳情况。
我将讨论行业因错误标记性能指标而造成的问题,并解释用户如何独立评估现实世界的 TOPS。
人造上衣与真实上衣
AI 应用程序开发人员通常通过衡量芯片制造商发布的 TOPS 性能数据是否足以支持他们的项目来开始进行尽职调查。
假设您正尝试以 10 fps(每秒帧数)的速度在 U-Net 神经网络上重新制作全高清图像。由于 U-Net 操作每个图像需要 3 个 TOPS,简单的数学计算表明您需要 30 个 TOPS 才能以所需的 FPS 完成您的项目。因此,在购买芯片时,您会假设声称运行 50、40 甚至 32 TOPS 的卡对于该项目是安全的。在一个完美的世界中,是的,但您很快就会发现该卡很少达到广告号码。而且我们不是在谈论仅仅几个 TOPS 的下降;计算效率可低至 10%。
虽然调整神经网络以从卡中榨取更好的性能当然是可能的,但您极不可能接近供应商列出的峰值 TOPS。试图获得甚至 60% 或 70% 的计算效率将是一个巨大的时间消耗。如果神经网络发生任何变化,您将不得不返回原点以再次优化所有内容——而且,它甚至可能不适用于您的应用程序。这个问题在小批量加工中尤为突出;你会很幸运地获得超过峰值 TOPS 的 15%。
计算效率
此时,您可能想知道如何计算真实的 TOPS。这很简单!
要了解特定卡将提供多少实际 TOPS,您首先需要确定该卡的计算效率。理想情况下,这可以通过在目标卡上运行您需要的神经网络来完成