Розробка AI-моделі для мікроконтролерів (TinyML)
Розробка ML-моделі для MCU — це в першу чергу архітектурна задача: модель повинна бути спроектована з урахуванням ресурсних обмежень з самого початку, а не стисліня після тренування.
Проектування під обмеження
Model Footprint Budget: RAM (inference time) = activations buffer. Flash = ваги моделі. Типовий бюджет: STM32H7 (1 MB RAM, 2 MB Flash) → модель ≤ 300 KB Flash, activations ≤ 100 KB.
Architecture Design:
- MobileNetV3-Small: 2.5 MB, адаптується квантизацією до 600 KB
- MCUNet: спеціально розроблена для MCU, 1 MB Flash
- EfficientNet-Lite0: хороший баланс для vision
- DS-CNN: depthwise separable CNN, класичний для audio
- 1D CNN для часових рядів: 50–200 KB для простих завдань
Neural Architecture Search (NAS) для MCU: Once-for-All, ProxylessNAS — пошук оптимальної архітектури під конкретні обмеження.
Тренування та оптимізація
Quantization-Aware Training (QAT): Тренування з симуляцією INT8/INT4 квантизації. На 2–4% точніше ніж Post-Training Quantization.
Knowledge Distillation: Мала student-модель навчена на soft labels від великої teacher. Малий student досягає 90–95% якості teacher при 5–10% розмірі.
Pruning: Structured pruning (цілі фільтри) → deployment-friendly зменшення розміру.
Інструменти
Edge Impulse: повний пайплайн від даних до MCU deployment. STM32Cube.AI: оптимізація під STM32 з Neural Engine. TFLite Micro compiler.







