Розробка ML-моделі для мікроконтролера — не задача «стиснути готову мережу», а архітектурне проектування з нуля під жорсткі ліміти. Типовий замовник: «Ми взяли ResNet-50, квантизували — все одно 5 MB та 500 ms на кадр». Після перепроектування під MCU та сама точність вкладається в 300 KB та 50 ms. Показую, як ми це робимо. Наш досвід — понад 50 проектів з TinyML для промисловості, носиммої електроніки та IoT. Вибравши правильну архітектуру нейронної мережі та методи оптимізації моделі, ви знижуєте витрати на обладнання на 20–40%, а окупність інвестицій складає 6–12 місяців. Важливо розуміти: навіть простий датчик вібрації з бортовою нейромережею може замінити коробковий аналізатор за $2000 — різниця в ціні комплектуючих складає 5–10×. Вартість розробки TinyML-моделі починається від $10,000, а економія на обладнанні в порівнянні з традиційними рішеннями сягає 40%.
Бюджет по пам'яті
Model Footprint Budget: RAM (inference time) = activations buffer, Flash = model weights. Типові бюджети для популярних платформ:
| Платформа | Flash, KB | RAM, KB | Приклади моделей |
|---|---|---|---|
| STM32H7 | 2048 | 1024 | MCUNet, DS-CNN 50KB |
| ESP32-S3 | 384 | 512 | MobileNetV3-Small (INT8) |
| nRF5340 | 1024 | 512 | EfficientNet-Lite0 (INT4) |
| Cortex-M0+ | 128 | 32 | 1D CNN для акселерометра |
Архітектура моделі
- MobileNetV3-Small — 2.5 MB FP32, квантизація до 600 KB — універсальний вибір для Vision.
- MCUNet (спеціально для MCU) — 1 MB Flash при 70% точності ImageNet (>90% на простих датасетах).
- EfficientNet-Lite0 — для задач, де важлива швидкість на CPU без DSP.
- DS-CNN — depthwise separable CNN, класика для audio з 50–200 KB.
- 1D CNN — для часових рядів (вібрація, ЕКГ) — 50–200 KB.
Neural Architecture Search (NAS) для MCU: Once-for-All, ProxylessNAS — автоматичний пошук топології під задані ліміти Flash/RAM. Дає виграш 15–30% по точності при тому ж розмірі. MCUNet на 30% точніше ResNet при тому ж об'ємі моделі — це практичний результат. QAT дає точність на 2-4% вищу, ніж Post-Training Quantization (PTQ), що робить його кращим вибором для production.
Як вибрати архітектуру для MCU?
Критерій — latency та footprint під конкретний сценарій. Для real-time audio (10 ms вікно) — DS-CNN + INT8 дає <5 ms на STM32L4. Для періодичної класифікації жестів — снапшот + MLP вкладається в 20 KB Flash. Ми на старті будуємо прототип з Edge Impulse, підбираємо оператори (DepthwiseConv2D vs SeparableConv) та вирішуємо, чи потрібна квантизація INT4 для економії батареї.
Навчання та оптимізація моделі
QAT: Навчання з симуляцією INT8/INT4 квантизації — на 2–4% точніше Post-Training Quantization. В production використовуємо QAT для всіх моделей з TensorFlow або PyTorch (бібліотека torch.quantization). QAT дозволяє зберегти точність у межах 1% від FP32.
Knowledge Distillation: Вчимо маленьку student-модель на soft labels від великої teacher-мережі (наприклад, DistilBERT для NLP). Student досягає 90–95% якості teacher при 5–10% розмірі.
Pruning: Structured pruning (цілі фільтри) — deployment-friendly. Видаляємо канали по magnitude та fine-tune — стискаємо модель ще на 30–50% без падіння точності.
Порівняння методів оптимізації:
| Метод | Стиснення | Втрата точності | Складність впровадження |
|---|---|---|---|
| PTQ (INT8) | 4× | 1–3% | Низька |
| QAT (INT8) | 4× | 0.5–1% | Середня |
| QAT (INT4) | 8× | 2–5% | Висока |
| Квантизація + pruning | 10–20× | 3–8% | Висока |
Чому квантизація критична?
Без неї модель FP32 не поміщається в Flash. TinyML — це про жорсткі ліміти, й INT8 збільшує швидкість на 70% на ARM Cortex-M55. Для батарейних пристроїв INT4 скорочує енергоспоживання в 2 рази — різниця між тижнем та місяцем роботи. Зв'яжіться з нами — ми допоможемо підібрати оптимальний метод квантизації під вашу задачу. Ми гарантуємо точність моделі в межах 1% від FP32 та надаємо сертифікат відповідності вимогам замовника.
Процес роботи
- Аналітика — аудит задачі, вибір сенсорів, заміри бюджету.
- Прототип в Edge Impulse — збір даних, підбір архітектури, оцінка точності.
- Оптимізація — QAT, pruning, квантизація до цільового розміру.
- Розгортання на MCU — генерація коду під TFLite Micro, STM32Cube.AI або кастомний рантайм.
- Інтеграція — вбудовування в прошивку, тестування на залізі.
Отримайте консультацію інженера на етапі аналітики — ми безкоштовно оцінимо реалізовність вашого сценарію.
Що входить в роботу
- Модель: навчена, квантизована, з
model_card(метрики, обмеження). - Код інференсу: на C/C++ з підтримкою потрібного MCU.
- Документація: опис архітектури, пайплайну даних, точності на тестах.
- Підтримка: 2 тижні після деплою, допомога в інтеграції.
Терміни та вартість
Типовий проект займає від 8 до 16 тижнів залежно від складності задачі. Вартість розраховується індивідуально — пишіть, оцінимо проект безкоштовно. Наш досвід каже, що правильно спроектована TinyML-модель окупається зниженням витрат на обладнання на 20–40% за рахунок меншого Flash та енергоспоживання. Досвід нашої команди — гарантія якості та дотримання строків.
Типові помилки при впровадженні TinyML
- Використання готової архітектури без урахування бюджету пам'яті. Результат — модель не поміщається на цільовий MCU.
- Пропуск етапу QAT: PTQ дає втрату точності, якої можна було уникнути.
- Ігнорування обмежень RAM: активації можуть перевищити доступну пам'ять. Перевіряйте розмір буфера до деплою.
- Відсутність тестів на реальному залізі: емулятор не покаже реальну затримку та енергоспоживання.







