FLOPs(浮点运算次数)常被用作衡量模型计算复杂度的指标,但实际推理速度受多种因素影响,两者并非简单的线性关系。以下是核心要点分析:
1. FLOPs的局限性
- 理论计算量 ≠ 实际速度
FLOPs仅反映模型所需的浮点运算次数,但未考虑内存访问成本(MAC)和硬件并行度。例如,MobileNet通过深度可分离卷积减少FLOPs,但其拆分操作导致内存访问次数增加,实际推理速度可能反而不如传统卷积 。 - 硬件优化差异
不同硬件平台(如CPU、GPU、NPU)对相同FLOPs的操作优化效率不同。例如,GPU对大卷积核(如7×7)的并行化效率低于小卷积核(如3×3),导致FLOPs相近时推理速度差异显著。
2. 关键影响因素
- 内存访问成本(MAC)
分组卷积(Grouped Convolution)或深度可分离卷积(Depthwise Conv)虽然减少FLOPs,但会增加内存访问次数。以