中文 英语

Reset-50无法预测百万像素神经网络模型的推论吞吐量

为什么正在处理的图像的大小改变了如何评估加速器。

人气

客户正在考虑AI推断的应用程序,并希望评估多种推理加速器。

和我们一样上个月讨论,顶部与推理吞吐量不相关,您应该将真正的神经网络模型用于基准加速器。

Reset-50是评估推理加速器的相对性能的良好基准吗?

如果您的应用程序要处理小幅图像(300 x 300像素或更小),那么Reset-50批次= 1个吞吐量可能是评估您选项的好方法,即使没有人实际在真实的应用程序中使用它也是如此。它确实使用了一系列操作,即使小图像尺寸不会压力内存子系统,也会压力计算,但如果您的型号用于小型图像,则可以确定。

但是,如果您计划处理大型图像(608×608至百万像素),则Reset-50 Batch = 1个吞吐量不一定要预测神经网络模型的性能,请处理更大的图像。(记住,608×608大于300×300的四倍; 1440×1440 = 2百万像素图像大约25倍。)

为什么?

神经网络模型包括:

  • 输入图像尺寸和深度(较大的图像将提供更高的准确性预测,就像美国人类可以比小模糊物更好地识别大的清晰图像)
  • 几十到数百层拍摄前一层的输出并生成输入到下一层(激活)
  • 所有层的重量
  • 在加速器上运行它们的代码

如此较大,更难度的模型由于不仅仅是更高的计算而更难以处理,但由于更大的内存要求。

需要多少内存容量?

重量需要大量的房间:22.7MB for Reset-50 Int8和62MB,用于YOLOV3 INT8。期望是,未来,更好的模型将是更大的型号,重量更大。

中间激活储存:Reset-50的最大激活为0.8MB,下一个最大值为0.4MB;这是224×224图像。因此,1.5-2MB的缓冲存储器足以批量大小= 1。

根据图像的大小,YOLOV3的中间激活存储可以大得多。YOLOV3需要608×608图像的中间激活储存〜18MB,2megapixel图像> 100MB。

一些边缘推理加速器,只有SRAM就会在某些时候耗尽空间来存储一切。Reset-50可能很快运行,因为它适合SRAM - 但是尤利夫3可能不会巨大,使得芯片非常昂贵。

代码大小很大,但没有人透露出他们的筹码。

下图表显示了在各种图像大小的Reset-50和Yolov3的权重和激活的推理芯片所需的总兆字节。

AI推理芯片有3个内存系统实现选择。大多数芯片将以不同比率的2或3个选项组合:

  1. 分布式本地SRAM - 稍少的区域高效,因为开销在更少的比特中共享,但保持SRAM接近计算削减延迟,削减功率,并增加带宽。
  2. 单个批量SRAM - 更多的区域高效但跨越芯片的移动数据增加功率,提高延迟,使单个SRAM成为性能瓶颈。
  3. DRAM - 每位更便宜的成本,但比特数可能是必需的;电力明显高于SRAM接入;并控制具有高带宽的DRAM的控制器上的成本非常显着。

当内存要求超过芯片SRAM时,基准将确定芯片架构/软件处理DRAM流量的程度:它是否陷入困境,或者是流水线和“隐藏”的其他事务,以最大限度地减少对计算的影响。

结论

Resnet-50是一种流行的基准测试,如果您计划处理小幅图像,可以比较推理加速器。

但它不会强调内存子系统,就像yolov3一样的百万像素模型的方式。

因此,如果要处理近百万像素和百万像素图像,请不要使用Reset-50进行比较加速器。YOLOV3是考虑的替代品。



1评论

Theo Omtzigt. 说:

我们需要更多的经验测量来绘制原始模型的行为以及集成应用程序性能。对于个人研究/产品团队来评估太多的模型,参数和计算引擎。

发表评论


(注意:此名称将被公开显示)