TinyML: когда модель живёт на микроконтроллере
Представьте: датчик вибрации на промышленном оборудовании должен круглосуточно анализировать сигнал в реальном времени. Передавать сырые данные на сервер по Wi-Fi? Получите задержку 200 мс и энергопотребление 10 Вт — это без учёта радиоканала. TinyML (Wikipedia) решает задачу иначе: модель выполняет вывод прямо на микроконтроллере, потребляя 0.5 мВт. Задержка — миллисекунды, приватность — локальная. Например, в проекте для нефтехимического комбината мы снизили энергопотребление с 12 Вт до 0.8 мВт, перенеся инференс на STM32H7.
Мы разрабатываем и внедряем Edge AI и TinyML под ключ. В нашем портфеле — более 50 проектов для промышленности, ритейла и IoT. Опыт команды — 7+ лет в embedded ML. Гарантируем стабильную работу решения в условиях вибраций, перепадов температуры и ограниченного питания.
Оценим ваш проект за 2 дня — просто опишите задачу. Получите консультацию: мы подскажем, какие модели и MCU подойдут именно вам.
Благодаря локальной обработке TinyML даёт выигрыш не только в энергии, но и в скорости реакции — latency P99 снижается с секунд до единиц миллисекунд. Это критично для систем безопасности и предиктивной диагностики.
Почему TinyML — это отдельная дисциплина?
TinyML — не урезанная версия облачного ML. Это инженерный подход, где каждый байт и каждый мВт на счету. Типичный микроконтроллер имеет 256 КБ – 1 МБ RAM и частоту 100–600 МГц. Модель должна пройти посттренировочное квантование до INT8 или даже INT4, чтобы уместиться в бюджет.
Аппаратное обеспечение делится на три уровня производительности:
| Уровень | Примеры | 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 даёт гибкость 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 месяцев
Сроки и стоимость
Типичный проект от 6 до 12 недель. Стоимость рассчитывается индивидуально — зависит от сложности модели, платформы и требуемой точности. Свяжитесь с нами для бесплатной оценки: пришлите описание задачи — мы подберём оптимальное решение.
Типичные ошибки при внедрении TinyML
- Выбор слишком мощного MCU, когда хватило бы простого — переплата за энергию и габариты.
- Игнорирование профилирования энергопотребления во время вывода — особенно на батарейных устройствах.
- Неучёт памяти под буферы сенсора — модель помещается, а данные — нет.
- Квантование без калибровки — приводит к падению точности на целевых данных.
Этот чек-лист помогает избежать переделок. Опыт показывает: правильное проектирование на старте экономит 2–4 недели.







