中文 英语
18lickc新利
的意见

为什么可重构性对AI边缘推断吞吐量至关重要

为卷积神经网络获得最佳性能需要一个灵活的架构。

受欢迎程度

为了让神经网络以最快的速度运行,底层硬件必须在所有层上高效运行。通过对任何cnn的推断(无论是基于YOLO、ResNet还是初始化),工作负载都有规律地从内存瓶颈转移到计算资源瓶颈。您可以将每个卷积层看作它自己的迷你工作负载,因此任何推理解决方案的挑战都是确保所有这些不同的迷你工作负载有效运行。拥有一个能够通过处理两个极端的计算强度(具有很少过滤器或具有许多过滤器的层)来适应不断变化的推理需求的体系结构,对于获得最佳性能至关重要。

正如我们在过去的博客文章中讨论的那样,并不是所有的卷积都是相同的,因为计算与内存的访问比率在不同的卷积之间可能会发生巨大的变化。根据经验,计算操作与所需字节的比例由卷积层中的过滤器数量决定。从另一种角度考虑,在单个层中寻找的特性越多,重用已访问的数据以执行计算的次数就越多。

在下面的图表中,我们可以看到,对于一些不同的模型,每个模型都有许多不同的卷积,这些卷积都位于计算操作到内存频谱的不同点上。事实也证明,大多数卷积对于每个模型都是唯一的,所以运行一个模型的能力并不一定意味着你可以运行另一个模型!相反,最好是寻找一个足够灵活以处理所有不同类型模型的体系结构。

未来校对,以及编译器的作用

除了提供更优的数据路径外,灵活的体系结构还提供了能够适应模型未来版本的优势。随着模型的发展,它下面的架构也必须如此。可重构计算对于任何具有长生命周期和迭代更新的应用程序都是必须的,这是在边缘或嵌入式设备中可以找到的东西。这种灵活性确保您可以在现场更新模型,而不必担心底层硬件是否支持它。

最终,底层硬件重新配置的能力不需要暴露给已经专注于为模型实现最大精度的开发人员。相反,一个好的边缘推理解决方案应该包括一个健壮的编译器,能够自动利用底层硬件的可重构性,减少深度学习工程师实现最大性能所需的认知负载。可重构计算的好处,比如最大化性能和确保未来的支持,只能通过与硬件同步开发的编译器堆栈来实现。

总之,如果您正在为边缘推断工作负载寻找最佳性能,那么您应该寻找一种构建在灵活硬件上的解决方案,该解决方案具有成熟的编译器,可以释放可重构计算平台的好处。



留下回复


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

Baidu