TinyML: коли модель живе на мікроконтролері
Уявіть: датчик вібрації на промисловому обладнанні має цілодобово аналізувати сигнал у реальному часі. Передавати сирі дані на сервер по Wi-Fi? Отримаєте затримку 200 мс та енергоспоживання 10 Вт — це без урахування радіоканалу. TinyML (Wikipedia) вирішує завдання інакше: модель виконує висновок прямо на мікроконтролері, споживаючи 0.5 мВт. Затримка P99 знижується у 1000 разів — з секунд до мілісекунд. Наприклад, у проєкті для нафтохімічного комбінату ми знизили енергоспоживання з 12 Вт до 0.8 мВт — зменшення у 15 000 разів — перенісши інференс на STM32H7. Економія на енергії: до $5 000 на рік на одному пристрої.
Ми розробляємо та впроваджуємо Edge AI і TinyML під ключ. Наша команда — понад 7 років у сфері Edge AI та 50+ успішних впроваджень TinyML. Компанія працює на ринку TinyML з 2019 року. У портфелі — десятки проєктів для промисловості, рітейлу та IoT. Гарантуємо стабільну роботу рішення в умовах вібрацій, перепадів температури та обмеженого живлення.
Базовий проєкт — від $7 000. Оцінимо ваш проєкт за кілька днів — просто опишіть задачу. Отримайте консультацію: ми підкажемо, які моделі та MCU підійдуть саме вам. Ми спеціалізуємося на впровадженні TinyML на мікроконтролерах та Edge AI розробці.
Завдяки локальній обробці TinyML дає виграш не лише в енергії, але й у швидкості реакції — latency P99 знижується з секунд до одиниць мілісекунд. Це критично для систем безпеки та предиктивної діагностики.
Чому TinyML — це окрема дисципліна?
TinyML — не урізана версія хмарного ML. Це інженерний підхід, де кожен байт і кожен мВт на рахунку. Типовий мікроконтролер має 256 КБ – 1 МБ RAM і частоту 100–600 МГц. Модель повинна пройти посттренувальне квантування до INT8 або навіть INT4, щоб вміститися в бюджет. Оптимізація моделей включає прунінг, квантування (INT8/INT4) та дистиляцію знань, що дозволяє зменшити модель до 10% від початкового розміру з втратою точності <0.5%. Також ми застосовуємо методи mixed-precision квантування та weight clustering для додаткового стиснення.
Апаратне забезпечення ділиться на три рівні продуктивності:
| Рівень | Приклади | RAM | Споживання (inference) |
|---|---|---|---|
| Tier 1 (MCU) | STM32H7, nRF52840, ESP32-S3 | 256 КБ – 1 МБ | 1–100 мВт |
| Tier 2 (AI MCU) | MAX78000, STM32N6, Arduino Nicla Vision | 512 КБ – 2 МБ | 0.5–5 мВт |
| Tier 3 (SBC) | Raspberry Pi + Hailo-8 | 4 ГБ+ | 2–5 Вт (актив.) |
Tier 1 підходить для простих класифікацій (звук, вібрація). Tier 2 оснащений вбудованими NPU, що прискорюють згорткові мережі. Tier 3 — для складного комп'ютерного зору з роздільною здатністю HD.
Як обрати фреймворк для вашого проєкту?
На ринку три основних інструменти для TinyML. Порівняння:
| Фреймворк | Підтримка пристроїв | Розмір runtime | Простота деплою |
|---|---|---|---|
| TFLite Micro | Всі MCU (ARM, Xtensa, RISC-V) | ~100 КБ | Висока (C++ API) |
| Edge Impulse | Візуальне прототипування для багатьох MCU | Залежить від моделі | Дуже висока (drag-and-drop) |
| ExecuTorch | ARM Cortex-M, екосистема PyTorch | ~200 КБ | Середня (потрібна збірка) |
TFLite Micro — стандарт індустрії, найбільш зрілий і сумісний. Він удвічі менший за ExecuTorch за обсягом runtime. Якщо задача нестандартна — ExecuTorch дає гнучкість PyTorch. Edge Impulse прискорює proof-of-concept, але для production ми надаємо перевагу TFLite Micro через контроль над кожним кроком.
Процес впровадження: від даних до деплою
- Збір та аугментація даних — на MCU немає місця для сирих даних, тому feature engineering критичний.
- Дизайн моделі з урахуванням обмежень — використовуємо нейроархітектурний пошук (NAS) під заданий ліміт RAM і Flash.
- Навчання та калібрування — тренуємо в PyTorch/TensorFlow, потім калібруємо для INT8-квантування.
- Посттренувальне квантування — застосовуємо методи, що зберігають точність (<1% втрат).
- Деплой та валідація — прошиваємо модель на пристрій, тестуємо на реальних даних, заміряємо latency та енергоспоживання.
- Промислова експлуатація — моніторинг дрейфу моделі, OTA-оновлення.
Що входить в роботу?
- Підбір апаратної платформи під задачу (cost-performance-power)
- Оптимізація моделі: pruning, quantization, knowledge distillation
- Розробка firmware з інференсом (C/C++/MicroPython)
- Інтеграція з сенсорами та периферією (I2C, SPI, UART)
- Документування архітектури та benchmark-звіт
- Навчання вашої команди (до 2 днів)
- Гарантійна підтримка
Строки та вартість
Типовий проєкт від 6 до 12 тижнів. Базова вартість — від $7,000. Вартість розраховується індивідуально залежно від складності моделі, платформи та необхідної точності. Зв'яжіться з нами для безкоштовної оцінки: надішліть опис задачі — ми підберемо оптимальне рішення.
Типові помилки при впровадженні TinyML
- Вибір надто потужного MCU, коли вистачило б простого — переплата за енергію та габарити.
- Ігнорування профілювання енергоспоживання під час виведення — особливо на батарейних пристроях.
- Неврахування пам'яті під буфери сенсора — модель вміщується, а дані — ні.
- Квантування без калібрування — призводить до падіння точності на цільових даних.
Цей чек-лист допомагає уникнути переробок. Досвід показує: правильне проєктування на старті економить 2–4 тижні.







