Развертывание AIoT на микроконтроллерах: практическое руководство
В недавней публикации я исследовал, как искусственный интеллект все глубже вплетается в устройства Интернета вещей, порождая интеллектуальные AIoT-решения, которые учатся на данных и принимают автономные решения. Эти системы демонстрируют человекообразное взаимодействие с окружением, улучшая функциональность продуктов и пользовательский опыт.
ИИ и IoT вместе открыли новые рынки для микроконтроллеров (MCU). Сочетая простые MCU с ускорением ИИ, разработчики могут встраивать интеллект в устройства, которые раньше полагались только на базовые сенсоры. Современные MCU с поддержкой ИИ объединяют цифровую обработку сигналов (DSP) для вычислений с выводом машинного обучения (ML), обеспечивая такие приложения, как распознавание ключевых слов, сенсорная фьюзия, анализ вибраций и распознавание голоса. Более производительные MCU теперь поддерживают задачи зрения и изображения — распознавание лиц, анализ отпечатков пальцев, автономные роботы — принося то, что раньше было эксклюзивно для MPU и GPU, к периферии.
Технологии ИИ в пограничных устройствах
Машинное обучение (ML): алгоритмы ML строят модели из репрезентативных данных, позволяя устройствам автоматически обнаруживать паттерны. Поставщики предоставляют алгоритмы, API и инструменты обучения, позволяющие встроенным системам запускать предобученные модели для вывода. Типичные сценарии: сенсорные хабы, распознавание ключевых слов, предиктивное обслуживание и классификация.
Глубокое обучение: раздел ML, обучающий многослойные нейронные сети для извлечения высокоуровневых признаков из сложных входных данных. Глубокое обучение превосходно работает с большими, разнообразными наборами данных, постоянно улучшаясь с каждой итерацией. Применение охватывает обработку изображений, чат-ботов и распознавание лиц.
Обработка естественного языка (NLP): NLP позволяет системам понимать и отвечать на человеческую речь — текст или голос — принимая решения на основе этого ввода. Она обеспечивает распознавание речи, машинный перевод и предиктивный ввод.
Компьютерное зрение: эта область обучает машины захватывать, интерпретировать и действовать на основе изображений. Используя глубокое обучение, системы могут в реальном времени идентифицировать и классифицировать объекты. Сценарии использования: обнаружение дефектов в производстве, медицинская диагностика, распознавание лиц в ритейле, тестирование автономных автомобилей.
AIoT на MCU
Исторически ИИ размещался в MPU и GPU, где большая память и мощные ядра справлялись с тяжелыми нагрузками. Сдвиг к пограничному интеллекту теперь помещает ИИ на MCU, что обусловлено потребностью в меньшей задержке, сниженной пропускной способности и более строгих энергобюджетах. Современные MCU теперь обладают достаточными вычислительными ресурсами и памятью для размещения легких фреймворков нейронных сетей (NN), адаптированных для ограниченных устройств, делая вывод в реальном времени возможным на периферии.
Нейронная сеть состоит из слоев узлов, обрабатывающих взвешенные входы для получения выходов. Во время обучения — обычно выполняемого в облаке — данные проходят через сеть, и обратное распространение корректирует веса для минимизации ошибки предсказания. После обучения фиксированные веса сохраняются во флеш-памяти, позволяя MCU выполнять вывод с минимальным использованием ОЗУ.

Вывод требует гораздо меньше вычислений, чем обучение, делая MCU идеальными хозяевами для предобученных моделей. Веса остаются статичными, и MCU может выдавать мгновенные решения на основе новых сенсорных данных.
Реализация ИИ на MCU
Типичный рабочий процесс включает четыре этапа:
- Сбор данных: сбор обширных наборов данных с целевого устройства или приложения.
- Обучение модели: использование облачных инструментов от поставщиков ИИ (например, TensorFlow Lite, Caffe) для обучения нейронной сети, удовлетворяющей требованиям приложения.
- Конвертация модели: преобразование обученной модели в формат flat-buffer с помощью конвертера поставщика, при необходимости применяя квантование для уменьшения размера. Flat buffer затем переводится в C-код и включается в прошивку MCU.
- Развертывание и обновления: прошивка загружается на MCU. При появлении новых классов данных модель может быть переобучена в облаке и обновлена на устройстве через бесшовные (OTA) обновления прошивки.
Существует два распространенных архитектурных пути для MCU-решений с ИИ, предполагающих ядро Arm Cortex-M:
- Программное выполнение: flat-buffer модель запускается на CPU Cortex-M, ускоренная библиотеками CMSIS-NN. Эта легкая настройка подходит для задач вроде распознавания ключевых слов и анализа вибраций.
- Аппаратно-ускоренное выполнение: включение микро-нейропроцессора (u-NPU) или ускорителя NN. u-NPU обрабатывает большинство распространенных аудио, речевых, задач классификации изображений и обнаружения объектов, переключаясь на CPU для неподдерживаемых операций. Этот подход обеспечивает более высокую пропускную способность и меньшее потребление энергии.

По мере эволюции MCU в сторону производительности MPU мы ожидаем появление обучения на устройстве — легких алгоритмов обучения, запускаемых непосредственно на MCU. Это откроет новые рынки и стимулирует значительные инвестиции от производителей MCU.
ИИ на периферии — это будущее
Пограничный ИИ на ресурсно-ограниченных MCU будет расти экспоненциально, открывая новые приложения по мере размывания границ производительности между MCU и MPU. Распространение тонких моделей NN, разработанных для встроенных контекстов, приведет к внедрению во всех отраслях.
Интернет вещей
- Защита облачных технологий: лучшие практики для защиты данных и митигации рисков
- Разблокировка IoT-данных: как Business Rules Management драйвит enterprise value
- AIoT: Новое поколение умного управления трафиком
- Новая граница IoT: будущие решения для глобальных цепочек поставок
- Мобильные технологии: как они революционизировали глобальные путешествия за 20 лет
- Как ИИ, Data Science и Machine Learning движут next-gen веб-дизайн
- IoT: освоение потока данных для бизнес-трансформации
- Использование машинного обучения для успеха предприятия
- Как IoT революционизирует системы мониторинга транспорта
- Индустрия 4.0 для OEM медицинских устройств: Стратегии цифровой трансформации