---
title: "MobileOne: An Improved One millisecond Mobile Backbone"
title_ru: "MobileOne: Улучшенный мобильный backbone с латентностью 1 миллисекунда"
authors: [Vasu, Gabriel, Zhu, Tuzel, Ranjan]
year: 2023
venue: "CVPR"
venue_tier: "A*"
doi: "2206.04040"
tags: [mobile_backbone, reparameterization, edge, apple, 1ms, cnn]
relevance_to_smartrep: 4
direction: "🅲"
---

# MobileOne: Мобильный backbone с латентностью 1ms

## TL;DR (≤3 предложения)

MobileOne — pure CNN backbone, достигающий <1ms латентности на iPhone 12 при 75.9% ImageNet Top-1, через агрессивную структурную перепараметризацию: при обучении каждый блок — несколько параллельных ветвей (depthwise + skip + 1×1), при инференсе они сворачиваются в одну conv. MobileOne-S0 (75.9%, 0.9ms) превосходит MobileNetV3-Small при в 4× меньшей латентности. Ключевой вывод для SmartRep: bottleneck — не параметры, а memory access и activation functions.

## Проблема

Предыдущие mobile backbone'ы оптимизировались по FLOP'ам, но реальная латентность определяется другими факторами: memory access cost, activation functions (sigmoid в SE-блоках), branch overhead. MobileOne исследует эти факторы систематически.

## Гипотеза / вклад

- **Activation analysis:** Squeeze-and-Excitation (sigmoid) и GELU дороги на мобильных — заменяются на ReLU.
- **Structural reparameterization:** multi-branch при обучении (rich gradients), single-branch при инференсе (fast inference). Branches: 3×3 depthwise + 1×1 depthwise + skip.
- **Over-parameterized training:** дополнительные ветви только при обучении улучшают оптимизационный landscape.

## Метод

MobileOne блок (обучение):

```
Input → [3×3 depthwise → BN] + [1×1 depthwise → BN] + [skip BN]
      → Σ → [1×1 pointwise → BN] × k (k параллельных pointwise)
      → Σ → activation (ReLU)
```

MobileOne блок (инференс — reparameterized):

```
Input → single 3×3 depthwise → BN → single 1×1 pointwise → BN → ReLU
```

Параметры S0: 5.1M при 0.9ms, S4: 14.8M при 2.7ms.

## Датасеты

| Модель | ImageNet Top-1 | Params (M) | iPhone 12 Latency |
|---|---|---|---|
| MobileOne-S0 | 75.9% | 5.1 | 0.9ms |
| MobileOne-S1 | 78.0% | 4.8 | 1.0ms |
| MobileOne-S4 | 82.5% | 14.8 | 2.7ms |

## Сравнение с SOTA

MobileOne-S0: 5× быстрее MobileNetV3-Small при +6% точности. Первый backbone <1ms на iPhone с точностью >75%. Устанавливает новый стандарт для мобильных CNN.

## Ограничения / слабости

- Pure CNN — нет глобального attention, ограниченное receptive field.
- Reparameterization требует аккуратного merge BN+Conv при export.
- Оптимизирован под iPhone ANE — на Qualcomm Android порядок иной.
- Нет темпоральной версии из коробки.

## Edge Feasibility для SmartRep

| Параметр | MobileOne-S0 | MobileOne-S1 |
|---|---|---|
| Параметры (M) | 5.1 | 4.8 |
| GFLOPs | 0.26 | 0.83 |
| iPhone 12 latency | 0.9ms | 1.0ms |
| CoreML | Отличная | Отличная |
| INT8 PTQ | Отличная | Отличная |

**Вердикт: top deployment candidate.** Лучший вариант если приоритет — минимальная латентность на iPhone. После reparameterization — один из самых быстрых вариантов для CoreML.

## Релевантность SmartRep

- **Real-time pose backbone 🅲:** MobileOne-S0 за 0.9ms даёт ≥30fps даже с overhead остального pipeline. Прямой кандидат для backbone в iOS-версии SmartRep.
- **Reparameterization принцип для skeleton:** применить multi-branch при обучении к 1D temporal conv над скелетными последовательностями → single conv при инференсе. Это дает богатую оптимизацию при дешёвом инференсе.
- **Distillation target:** MobileOne-S0/S1 как lightweight student при дистилляции из ViTPose.
- **Анализ bottleneck:** выводы статьи о memory access и activation functions применимы при оптимизации любого edge pipeline SmartRep.

## Gap для нас

MobileOne — 2D, нет темпоральной обработки. **Ниша SmartRep:** MobileOne-Temporal — reparameterized 1D temporal conv поверх скелетных признаков (аналог MobileOne принципа для sequence processing). Анализ memory access bottleneck для skeleton-based AQA pipeline на Qualcomm Snapdragon — не проводился.

## Код / данные

- Repo: github.com/apple/ml-mobileone
- Pretrained: S0, S1, S2, S3, S4

## Цитата (BibTeX)

```bibtex
@inproceedings{vasu2023mobileone,
  title={MobileOne: An Improved One millisecond Mobile Backbone},
  author={Vasu, Pavan Kumar Anasosalu and Gabriel, James and Zhu, Jeff and Tuzel, Oncel and Ranjan, Anurag},
  booktitle={Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition},
  year={2023}
}
```
