CPUBone: Efficient Vision Backbone Design for Devices with Low Parallelization Capabilities
Organizations: University of Udine, Italy · York University, Canada
Abstract
Recent research on vision backbone architectures has predominantly focused on optimizing efficiency for hardware platforms with high parallel processing capabilities. This category increasingly includes embedded systems such as mobile phones and embedded AI accelerator modules. In contrast, CPUs do not have the possibility to parallelize operations in the same manner, wherefore models benefit from a specific design philosophy that balances amount of operations (MACs) and hardware-efficient execution by having high MACs per second (MACpS). In pursuit of this, we investigate two modifications to standard convolutions, aimed at reducing computational cost: grouping convolutions and reducing kernel sizes. While both adaptations substantially decrease the total number of MACs required for inference, sustaining low latency necessitates preserving hardware-efficiency. Our experiments across diverse CPU devices confirm that these adaptations successfully retain high hardware-efficiency on CPUs. Based on these insights, we introduce CPUBone, a new family of vision backbone models optimized for CPU-based inference. CPUBone achieves state-of-the-art Speed-Accuracy Trade-offs (SATs) across a wide range of CPU devices and effectively transfers its efficiency to downstream tasks such as object detection and semantic segmentation. Models and code are available at https://github.com/altair199797/CPUBone.
Figures & tables
| Grouping Experiment | Channel Dimension | ||||||
| Device | Variant | 32 | 64 | 128 | 256 | 512 | Avg. |
| MBConv | 7.8 | 13.3 | 21.4 | 26.4 | 26.2 | 19.0 | |
| Pi5 CPU | Gr MBConv | 6.3 | 10.6 | 16.7 | 22.1 | 23.3 | 15.8 (-16%) |
| (MMACs/ms) | Fu MBConv | 40.6 | 45.3 | 40.7 | 32.4 | 24.5 | 36.7 |
| GrFu MBConv | 31.0 | 42.1 | 44.4 | 34.7 | 30.4 | 36.5 (-0%) | |
| MBConv | 51.0 | 59.8 | 60.9 | 53.4 | 44.5 | 53.9 | |
| Dwise | Channel Dimension | |||||
| Resol. | Type | 128 | 256 | 512 | 1024 | Avg. |
| 7×7 | nmk | 0.75 | 0.78 | 0.78 | 0.80 | 0.78 |
| smk | 0.66 | 0.70 | 0.70 | 0.73 | 0.70 | |
| 14×14 | nmk | 1.26 | 1.28 | 1.27 | 1.24 | 1.26 |
| smk | 1.13 | 1.15 | 1.16 | 1.08 | 1.13 | |
| 28×28 | nmk | 1.97 | 1.82 | 1.64 | 1.64 | 1.77 |
| Ungrouped | Groups=2 | ||||||
| Resol. | Type | Channel Dim. | Channel Dim. | ||||
| 128 | 256 | Avg. | 128 | 256 | Avg. | ||
| 7×7 | nmk | 39.36 | 28.63 | 33.99 | 37.88 | 32.42 | 35.15 |
| smk | 41.21 | 33.13 | 37.17 | 36.11 | 36.42 | 36.27 | |
| 14×14 | nmk | 40.90 | 33.45 | 37.17 | 44.56 | 35.21 | 39.88 |
| smk | 46.94 | 36.01 | 41.48 | 43.86 | 40.58 | 42.22 | |
| Model | Params | MACs | Pi5 CPU | Pixel 7 Pro CPU | Intel CPU | Top-1 |
| (M) | (M) | (ms) | (ms) | (ms) | (%) | |
| EffFormerV2-S0 [ 14 ] | 3.5 | 400 | 36.3 | 39.4 | 7.9 | 73.7 |
| GhostNetV2 x1.0 [ 27 ] | 6.2 | 183 | 35.2 | 5.8 | 9.0 | 75.3 |
| FastViT-T8 [ 30 ] | 3.6 | 705 | 65.9 | 44.0 | 10.6 | 75.6 |
| MobileViG-Ti [ 21 ] | 5.3 | 661 | 48.2 | 45.2 | 9.2 | 75.7 |
| EfficientMod-xxs [ 20 ] | 4.7 | 579 | 47.5 | 25.3 | 9.2 | 76.0 |
| Model version | Params | MACs | Pi5 CPU Lat. | Pixel 4 CPU | Pixel 7 Pro CPU Lat. | Intel CPU Lat. | Top-1 |
| (M) | (M) | (ms) | (ms) | (ms) | (ms) | (%) | |
| Just original MBConvs | 13.3 | 758 | 48.6 | 25.4 | 20.1 | 12.63 | 78.5 (-0.2%) |
| Using transpose | 14.4 | 840 | 39.7 | 26.3 | 20.3 | 10.73 | 78.9 (+0.2%) |
| Groups=8 | 11.0 | 560 | 28.7 | 21.2 | 16.0 | 8.8 | 78.0 (-0.7%) |
| Groups=4 | 11.5 | 622 | 29.6 | 21.9 | 17.9 | 9.0 | 78.4 (-0.3%) |
| B0-plain | 14.1 | 944 | 39.1 | 29.6 | 20.8 | 9.4 | 78.4 (-0.3%) |
| Backbone | Pi5 CPU Lat. | AP |
| (ms) | (%) | |
| MobileNetV3 [ 12 ] | 158.0 | 29.9 |
| MNv4-Conv-M [ 24 ] | 299.5 | 32.6 |
| PVTv2-B0 [ 32 ] | 587.7 | 37.2 |
| CPUBone-B0 (ours) | 131.5 | 37.5 |
| LowFormer-B0 [ 22 ] | 226.9 | 38.6 |
| Dwise GPU | Channel Dimension | |||||
| Resol. | Type | 128 | 256 | 512 | 1024 | Avg. |
| 7×7 | nmk | 6.6 | 13.1 | 26.5 | 52.4 | 24.7 |
| smk | 1.2 | 2.3 | 4.7 | 9.3 | 4.4 | |
| 14×14 | nmk | 26.4 | 52.7 | 103.8 | 205.3 | 97.0 |
| smk | 4.7 | 9.0 | 18.7 | 36.3 | 17.2 | |
| 28×28 | nmk | 103.2 | 203.5 | 300.3 | 308.0 | 228.7 |
| GPU | Ungrouped | Groups=2 | |||||
| Resol. | Type | Channel Dim. | Channel Dim. | ||||
| 128 | 256 | Avg. | 128 | 256 | Avg. | ||
| 7×7 | nmk | 661.6 | 1075.7 | 868.6 | 355.1 | 893.7 | 624.4 |
| smk | 284.4 | 882.9 | 583.6 | 145.3 | 627.2 | 386.2 | |
| 14×14 | nmk | 2374.3 | 3545.5 | 2959.9 | 1422.6 | 3026.8 | 2224.7 |
| smk | 1081.8 | 2021.3 | 1551.5 | 627.0 | 1671.9 | 1149.4 | |
| Grouping=2 Experiment ARM CPU | Channel Dimension | ||||||
| Resolution | Variant | 32 | 64 | 128 | 256 | 512 | Avg. |
| MBConv | 4.1 | 8.5 | 14.9 | 22.4 | 23.5 | 14.7 | |
| 7x7 | Gr MBConv | 3.7 | 6.5 | 11.6 | 17.7 | 19.5 | 11.8 (-19%) |
| (MMACs/ms) | Fu MBConv | 25.5 | 36.3 | 38.7 | 27.8 | 24.3 | 30.5 |
| GrFu MBConv | 14.7 | 28.3 | 37.2 | 32.3 | 26.5 | 27.8 (-8%) | |
| MBConv | 7.8 | 13.3 | 21.4 | 26.4 | 26.2 | 19.0 | |
| Grouping=4 Experiment ARM CPU | Channel Dimension | ||||||
| Resolution | Variant | 32 | 64 | 128 | 256 | 512 | Avg. |
| MBConv | 4.1 | 8.5 | 14.9 | 22.4 | 23.5 | 14.7 | |
| 7x7 | Gr MBConv | 3.1 | 5.4 | 10.2 | 17.4 | 19.9 | 11.2 (-23%) |
| (MMACs/ms) | Fu MBConv | 25.5 | 36.3 | 38.7 | 27.8 | 24.3 | 30.5 |
| GrFu MBConv | 10.2 | 18.5 | 31.4 | 34.9 | 32.0 | 25.4 (-16%) | |
| MBConv | 7.8 | 13.3 | 21.4 | 26.4 | 26.2 | 19.0 | |
| Grouping=2 Experiment GPU | Channel Dimension | ||||||
| Resolution | Variant | 32 | 64 | 128 | 256 | 512 | Avg. |
| MBConv | 8.6 | 31.7 | 114.4 | 474.0 | 1746.1 | 475.0 | |
| 7x7 | Gr MBConv | 5.6 | 20.4 | 82.4 | 328.4 | 1094.9 | 306.3 (-35%) |
| (MMACs/ms) | Fu MBConv | 45.6 | 182.4 | 672.7 | 1089.9 | 1309.8 | 660.1 |
| GrFu MBConv | 23.5 | 85.6 | 342.2 | 878.4 | 1264.3 | 518.8 (-21%) | |
| MBConv | 34.2 | 112.3 | 428.6 | 1747.3 | 3494.0 | 1163.3 | |
Efficient Neural Network Inference
Efficient neural network inference reduces the time, memory, and energy needed to run trained models across hardware and deployment settings.
See all 468 papers