为了设计快速的神经网络,许多工作都在减少浮点数Flops的数量。
尽管在 FLOPs 上进行了一些优化,减少了计算的数量,但这并不一定导致相同水平的延迟降低。
延迟是指从输入数据通过模型得出输出所需的时间。
因此表明优化Flops并不总是直接转化为对推理速度的相似影响。
(Flops与延迟降低不是线性关系,还是理解为Flops的降低不是全部用来降低延迟了)
作者回顾了经典的运算,发现降低Flops的原因主要是降低浮点运算
MobileNets、ShuffleNets和GhostNet等利用深度卷积(DWConv)和/或组卷积(GConv)来提取空间特征
在减少FLOP的过程中,算子存在内存访问增加的副作用
MobileVIT和MobileFormer通过将DWConv与改进的注意力机制相结合来降低计算复杂度。然而,它们仍然存在DWConv的上述问题,
图二说明在相同的硬件条件下,不同网络运算的延迟
所以这些问题在一起就引出了这个问题:
这些“快速的网络真的快速吗”, 文章发现有很多减少模型总的计算量FLOPs,
但是这样做的弊端是对运算操作对内存的访问次数增加、模型推理复杂度增加,因此导致了硬件设备每秒计算速度的下降
但是很少有研究观提升模型在硬件上每秒的计算能力,关注直接降低FLOPs的研究较多,因此虽然看起来FLOPs降低了,但是模型的运算速度可能得不到保证,