Розробка та впровадження TinyML на мікроконтролерах

Проектуємо та впроваджуємо системи штучного інтелекту: від прототипу до production-ready рішення. Наша команда поєднує експертизу в машинному навчанні, дата-інжинірингу та MLOps, щоб AI працював не в лабораторії, а в реальному бізнесі.
Показано 1 з 1Усі 1564 послуг
Розробка та впровадження TinyML на мікроконтролерах
Складний
~2-4 тижні
Часті запитання

Напрямки AI-розробки

Етапи розробки AI-рішення

Останні роботи

  • image_website-b2b-advance_0.webp
    Розробка сайту компанії B2B ADVANCE
    1348
  • image_web-applications_feedme_466_0.webp
    Розробка веб-додатків для компанії FEEDME
    1247
  • image_websites_belfingroup_462_0.webp
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    949
  • image_ecommerce_furnoro_435_0.webp
    Розробка інтернет магазину для компанії FURNORO
    1183
  • image_logo-advance_0.webp
    Розробка логотипу компанії B2B Advance
    642
  • image_crm_enviok_479_0.webp
    Розробка веб-додатків для компанії Enviok
    921

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 через контроль над кожним кроком.

Процес впровадження: від даних до деплою

  1. Збір та аугментація даних — на MCU немає місця для сирих даних, тому feature engineering критичний.
  2. Дизайн моделі з урахуванням обмежень — використовуємо нейроархітектурний пошук (NAS) під заданий ліміт RAM і Flash.
  3. Навчання та калібрування — тренуємо в PyTorch/TensorFlow, потім калібруємо для INT8-квантування.
  4. Посттренувальне квантування — застосовуємо методи, що зберігають точність (<1% втрат).
  5. Деплой та валідація — прошиваємо модель на пристрій, тестуємо на реальних даних, заміряємо latency та енергоспоживання.
  6. Промислова експлуатація — моніторинг дрейфу моделі, 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 тижні.

Edge AI та оптимізація: деплой моделей без хмари

Уявіть: ваша модель розпізнавання облич видає 4 секунди latency на Jetson Orin, батарея сідає за годину, модель вилітає по OOM. Ми — команда інженерів з Edge AI — оптимізували понад 150 моделей для граничних пристроїв. Без профілювання та правильного вибору квантизації або дистиляції проект приречений. Розрив між дослідницьким кодом та edge-деплоєм — окрема інженерна дисципліна, і ми допомагаємо її освоїти за 2–16 тижнів під ключ. Справа не в експорті, а в системній роботі із залізом: GPU utilization, latency p99, memory bandwidth.

Чому просто «експортувати модель» не працює?

PyTorch-модель з float32 та batch_size=32 не готова до edge. Типові проблеми:

  • ResNet-50 в fp32 займає 98 MB, inference на Cortex-A78 — 380 мс. Після INT8-квантизації torch.ao.quantization — 24 MB, 95 мс. Експорт в ONNX + TensorRT на Jetson — 28 мс.
  • YOLOv8m на Raspberry Pi 5 в fp32 — 2.8 fps. TFLite INT8 — 9.4 fps. З XNNPACK делегатом — 14 fps.
  • Transformer-енкодер на мобільному CPU: MobileBERT в fp16 через CoreML на iPhone 15 — 18 мс/інференс. distilbert-base-uncased в ONNX — 42 мс.

Проблема не у виборі «квантизувати чи ні» — правильний шлях визначається пристроєм, завданням та допустимою деградацією метрики. Пропонуємо оцінку вашого проекту: за 24 години скажемо, наскільки реально прискорити модель.

Який метод квантизації вибрати для вашого завдання?

PTQ (Post-Training Quantization) — швидкий шлях. Берете навчену модель, проганяєте calibration dataset (200–1000 прикладів), отримуєте INT8 або INT4 ваги. Інструменти: torch.ao.quantization, ONNX Runtime quantization tool, bitsandbytes. Деградація точності: 0.5–2% на класифікації. Червона зона — детекція дрібних об'єктів та сегментація, де PTQ дає -4–8% mAP.

QAT (Quantization-Aware Training) — навчання з симульованими квантизаційними шумами. Дорожче (перенавчання), але деградація 0.1–0.5%. Виправдано, коли PTQ неприйнятний. В PyTorch — torch.ao.quantization.prepare_qat().

GPTQ / AWQ — для LLM. AWQ краще зберігає якість при 4-bit квантизації. llm-compressor від Neural Magic або autoawq — основні бібліотеки.

Зв'яжіться з нами для безкоштовного профілювання вашої моделі — ми оцінимо latency та запропонуємо план оптимізації.

Метод Час реалізації Деградація точності Інструменти
PTQ 1–2 дні 0.5–2% (до 8% на детекції) torch.ao, ONNX RT, bitsandbytes
QAT 1–3 тижні 0.1–0.5% torch.ao.prepare_qat, TF Quantization
GPTQ/AWQ 3–7 днів 1–3% (LLM) autoawq, llm-compressor

Прунінг та дистиляція: коли квантизації недостатньо

Структурний прунінг видаляє канали або шари. Наприклад, видалення 40% каналів ResNet-50 з наступним fine-tuning дає -35% розміру, -28% latency при втраті top-1 accuracy лише на 1.2%. Інструменти: torch.nn.utils.prune, для transformer — прунінг attention heads (movement pruning, LTP). Глибша техніка — N:M sparsity, коли з кожних M ваг залишаються N ненульових (NVIDIA Ampere підтримує 2:4).

Knowledge distillation — навчаємо маленьку student імітувати велику teacher через KLDivLoss на soft labels. Feature distillation на проміжних шарах (hint-based) дає краще збереження якості. Hugging Face DistilBERT: 66M vs 110M параметрів, -40% latency, -3% на GLUE. Температура дистиляції — ключовий гіперпараметр (типово 4–8).

Комбінований підхід: дистиляція → прунінг → QAT. Дає максимальний ефект на обмеженому залізі. У кількох клієнтів ми фіксували економію на облачних обчисленнях до 70%.

Цільові платформи та інструменти

Платформа Переважний формат Інструмент Специфіка
NVIDIA Jetson TensorRT engine trtexec, torch2trt INT8 calibration, DLA offload
Apple Silicon / iOS CoreML (.mlmodel) coremltools ANE (Neural Engine) автоматично
Android TFLite (.tflite) tf.lite.TFLiteConverter GPU delegate, NNAPI
x86 CPU ONNX + ORT onnxruntime AVX-512, VNNI
Arm Cortex TFLite / ONNX ort-arm, tflite XNNPACK, NEON
Qualcomm NPU QNN (.dlc) Qualcomm AI Hub Hexagon DSP

TensorRT — головний інструмент для NVIDIA edge. TRT будує граф з fusion операторів, вибирає оптимальні ядра. На Jetson AGX Orin YOLOv8m в TRT INT8 дає 78 fps проти 22 fps в fp16 PyTorch — прискорення в 3.5 рази.

Практичний кейс з нашої практики: детекція дефектів на виробничій лінії

Наш клієнт — виробниче підприємство. Завдання: виявлення подряпин на металі в реальному часі, 30 fps, камера до Jetson Xavier NX (16GB). Вихідна модель YOLOv8l mAP50 0.91, inference на сервері 28 мс, на Jetson в fp16 — 110 мс (9 fps). Не підходить.

Кроки оптимізації:

  1. Перехід на YOLOv8m — mAP50 0.887 (-2.3%), 68 мс
  2. Експорт в TensorRT FP16 через yolo export format=engine half=True — 31 мс (32 fps)
  3. INT8 calibration на 500 кадрах — 22 мс (45 fps), mAP50 0.879

Підсумок: деградація 3.5% при 5× прискоренні. Клієнт отримав engine та документацію. Гарантуємо, що метрика не впаде нижче обумовленого порогу — прописано в договорі.

Приклад профілювання latency по шарах YOLOv8m на Jetson Xavier NX (fp16):

- Convolution (layer 1–5): 12 ms
- Bottleneck (layer 6–10): 8 ms
- Head (detection): 11 ms

Вузьке місце — останні шари head'а. Після квантування head'а окремо latency head знизилась до 4 ms.

Що входить в роботу

  • Звіт по профілюванню моделі на цільовому пристрої (latency по шарах, вузькі місця)
  • Вибір та обґрунтування методів оптимізації (quantization / pruning / distillation)
  • Оптимізована модель (TensorRT engine / TFLite / CoreML / ONNX)
  • Конфіги для відтворення (скрипти, Docker-образ, інструкція)
  • Тестування на реальному пристрої (не менше 10 000 інференсів)
  • Навчання вашої команди (2 години онлайн)
  • Підтримка 1 місяць після передачі

Як замовити оптимізацію моделі?

  1. Залиште заявку на сайті або зв'яжіться з нами будь-яким зручним способом.
  2. Ми проводимо безкоштовне профілювання вашої моделі на цільовому пристрої протягом 24 годин.
  3. Готуємо план оптимізації з оцінкою trade-off (швидкість vs якість).
  4. Ви затверджуєте план — ми приступаємо до роботи.
  5. Після завершення передаємо оптимізовану модель, конфіги та документацію.
  6. Проводимо навчання вашої команди та надаємо місячну підтримку.

Терміни: оптимізація готової моделі — 2–4 тижні. Розробка з нуля під edge — 6–16 тижнів. Вартість розраховується індивідуально залежно від складності моделі та цільової платформи.

Отримайте консультацію — ми безкоштовно оцінимо вашу модель та запропонуємо план за 24 години. Замовте безкоштовне профілювання прямо зараз.