TinyML — ИИ на устройствах
TinyML — машинное обучение прямо на микроконтроллерах: распознавание сигналов, предиктивная диагностика и ИИ без облака. Разрабатываем TinyML-решения под ключ: от данных до прошивки.
Что такое TinyML
TinyML (Tiny Machine Learning) — это запуск моделей машинного обучения прямо на микроконтроллерах и других маломощных устройствах. Модель работает на самом устройстве, без облака и интернета: с минимальным энергопотреблением, мгновенным откликом и без передачи данных наружу. Если обычный ИИ требует серверов и GPU, то TinyML умещает нейросеть в несколько десятков-сотен килобайт памяти микроконтроллера.
Почему TinyML — это важно
- Работает офлайн: не нужен интернет и облако — решение работает в поле, на производстве, в шахте, в лесу.
- Приватность: данные не покидают устройство. Это критично для персональных данных и 152-ФЗ.
- Низкое энергопотребление: автономные устройства живут месяцами и годами на одной батарейке.
- Мгновенный отклик: задержки в миллисекундах вместо сотен миллисекунд до облака.
- Экономия: нет расходов на передачу данных и облачные вычисления.
Чем TinyML отличается от обычного ML и Edge AI
Обычный ML работает на серверах и GPU, требует постоянной связи и больших ресурсов. Edge AI — вычисления на более мощных устройствах (одноплатные компьютеры, шлюзы, камеры). TinyML — самый низкий уровень: микроконтроллеры с килобайтами памяти, работающие от батареи. TinyML — это Edge AI в его предельной форме.
Как работает TinyML: полный пайплайн
- Сбор данных. Датчики (акселерометр, микрофон, токовые клещи, камера) собирают сырые сигналы.
- Подготовка и признаки. Сигналы очищаются, нарезаются на окна, из них извлекаются признаки (MFCC для звука, спектр для вибрации и т.д.).
- Обучение модели. Модель обучается на мощном компьютере — обычно это компактная архитектура (маленькая CNN, DSCNN, дерево решений).
- Оптимизация. Квантизация, pruning и distillation уменьшают модель до десятков-сотен килобайт без потери точности.
- Конвертация. Модель переводится в формат TensorFlow Lite for Microcontrollers или ONNX.
- Деплой в прошивку. Модель встраивается в код микроконтроллера (C/C++), часто как статический массив байтов.
- Инференс на устройстве. Устройство делает предсказания локально и реагирует: включает реле, отправляет событие, подаёт сигнал.
- Мониторинг и обновления. Точность отслеживается, модель обновляется по воздуху (OTA).
Аппаратные платформы
- ESP32 / ESP32-S3 — Wi-Fi/BLE и достаточная память для TinyML.
- STM32 — промышленный стандарт, богатая периферия, оптимизация CMSIS-NN.
- Nordic nRF52 / nRF53 — энергоэффективные BLE-платформы.
- Arduino Nano 33 BLE Sense — встроенные датчики, удобно для прототипов.
- Raspberry Pi Pico — бюджетная платформа на RP2040.
- Sony Spresense — многоканальный звук и камера для edge-задач.
Фреймворки и инструменты
- TensorFlow Lite for Microcontrollers — основной стандарт TinyML.
- Edge Impulse — платформа для быстрого прототипирования.
- CMSIS-NN — оптимизированные ядра для ARM Cortex-M.
- microTVM и ONNX Runtime — альтернативные рантаймы.
- Arduino и PlatformIO — сборка и прошивка устройств.
Ограничения микроконтроллеров
- Память: обычно 64–512 КБ RAM и 512 КБ – 2 МБ flash.
- Процессор: десятки-сотни МГц, часто без FPU или с ограниченным.
- Энергия: питание от батареи, важен каждый миллиампер.
- Отсутствие ОС: инференс должен быть детерминированным и быстрым.
Как уместить модель в микроконтроллер
- Квантизация — переход с 32-битных чисел на 8-битные: модель уменьшается в 4 раза.
- Pruning — удаление незначимых связей и нейронов.
- Knowledge distillation — обучение маленькой модели по большой.
- Выбор архитектуры — компактные CNN, DSCNN, деревья решений вместо тяжёлых сетей.
- Оптимизация признаков — вычисление признаков на устройстве дешевле, чем гонять сырые данные.
Сценарии применения TinyML
Предиктивное обслуживание оборудования
Датчики вибрации и тока на станке, насосе или двигателе. TinyML-модель на устройстве выявляет аномалии и предсказывает поломку до остановки производства — без облака и проводов.
Распознавание звуков и ключевых слов
Keyword spotting, детекция стекла, выстрелов, неисправностей по звуку. Микрофон и микроконтроллер распознают событие локально и мгновенно.
Распознавание жестов и движения
Акселерометр и гироскоп на носимых устройствах распознают жесты, падения и активность — всё считается на устройстве.
Компьютерное зрение на edge
Классификация изображений и детекция объектов на маломощных камерах для контроля качества, подсчёта и безопасности.
Аномалии в промышленности
Отклонения в телеметрии, температуре, давлении. Модель на устройстве фиксирует проблему сразу, а не после передачи в облако.
Умный дом и носимые устройства
Локальное распознавание сценариев, присутствия и активности — быстро, приватно и без интернета.
Сельское хозяйство и мониторинг
Автономные датчики в поле распознают состояние растений и почвы, работая месяцами от батареи.
Примеры задач TinyML
- Keyword spotting и голосовые команды без облака.
- Детекция аномалий вибрации и тока оборудования.
- Распознавание жестов по IMU-датчикам.
- Классификация звуков: стекло, поломка, животные.
- Распознавание присутствия и активности.
- Контроль качества по изображению на edge.
Как мы внедряем TinyML
- Постановка задачи. Определяем, что именно нужно распознавать и где будет работать устройство.
- Сбор и разметка данных. Собираем датасет на реальных датчиках и в реальных условиях.
- Прототип модели. Обучаем компактную модель на компьютере и проверяем точность.
- Оптимизация под железо. Квантизация и сжатие модели под память и энергопотребление.
- Деплой в прошивку. Встраиваем модель в микроконтроллер и настраиваем инференс.
- Полевые тесты. Проверяем в реальных условиях, устраняем шумы и дрейф датчиков.
- Поддержка. Обновляем модель и следим за точностью.
Стоимость и сроки
- Прототип TinyML — от 3 недель.
- TinyML в устройстве с прошивкой — от 1,5 месяцев.
- Промышленное решение с предиктивным обслуживанием — от 2,5 месяцев.
Стоимость зависит от объёма данных, сложности задачи и требований к железу. Подробнее — в услуге разработки ПО для умных домов и микроконтроллеров.
Часто задаваемые вопросы
Что такое TinyML простыми словами?
TinyML — это когда нейросеть работает прямо на маленьком микроконтроллере, а не на сервере. Устройство само распознаёт сигналы и принимает решения без интернета.
Чем TinyML отличается от обычного машинного обучения?
Обычный ML работает на мощных серверах и GPU, а TinyML — на микроконтроллерах с килобайтами памяти и батарейным питанием. Модели специально сжимают и оптимизируют.
Нужен ли интернет для TinyML?
Нет. Вся обработка идёт на устройстве. Интернет может понадобиться только для обновления модели или передачи уже готовых результатов.
Какие модели можно запускать на микроконтроллере?
Компактные: небольшие CNN, DSCNN, деревья решений, регрессии. Чаще всего — задачи классификации сигналов: звук, вибрация, движение, изображения низкого разрешения.
Насколько точным может быть TinyML?
При правильном датасете и оптимизации точность близка к серверным моделям: квантизация обычно теряет 1–2% точности, что для большинства задач не критично.
Сколько энергии потребляет TinyML?
Некоторые модели работают от батарейки месяцами и годами: инференс занимает миллисекунды, а устройство большую часть времени спит.
Какие платформы вы используете?
ESP32, STM32, Nordic nRF, Arduino Nano 33 BLE Sense, Raspberry Pi Pico и Sony Spresense. Платформу подбираем под задачу и бюджет.
Можно ли обновлять модель на устройстве?
Да, по воздуху (OTA): мы предусматриваем безопасное обновление модели и прошивки без физического доступа к устройству.
Начнём с вашей задачи
Расскажите, что нужно распознавать и на каком железе — мы оценим задачу, соберём датасет и запустим прототип TinyML. Напишите нам.