МИР

logo_ru
Embedded – 25+ лет

Исполнение ML

на микроконтроллерах

Подготовка исполнения обученных
нейросетей на микроконтроллерах

C ограничениями по:
  • Памяти
  • Вычислительной мощности
  • Взаимодействию с пользователем
  • Источнику электроэнергии (батарея)
  • Цене
При этом:
  • Предсказуемое время работы
  • Возможно применение гетерогенных вычислительных архитектур
  • Тонкая оптимизация архитектуры нейросетей на требуемую модель микроконтроллера
  • Оптимизация и адаптация Open Source SDK’s под требуемую модель микроконтроллера

Решение задачи обучения и до-обучения нейросетей
на микроконтроллерах

Делаем:
  • Выбор архитектуры нейросети
  • Тонкая оптимизация и адаптация под требуемую модель микроконтроллера
При этом:
  • Не требуется собирать и размечать датасет для тренировки
  • Есть архитектуры нейросетей для которых не нужна предобработка
Проверь,
как работает подготовленная нейросеть на задачах:
  • детектирования аномалий работы механизмов
  • распознавания жестов
Сетка исполняется на ESP32-C3, установленном на отладочную плату.

Отладочная плата AI-модуля

Обучение и исполнение нейросети, работающей на ESP32-C3

Опробуйте готовую и настроенную нейронную сеть на устройстве для решения собственных задач, разработайте устройство с использованием AI-модуля.

Подробнее

Консультации по всему кругу вопросов в Edge AI:

ML Compiler

SDK

ML CI

Оптимизация NN

NNA, TPU и т.д.

Технологии

ML compliers
TFL+TFLµ
TVM+µTVM
SDK для инференс
Практически все доступные инструменты для упрощения и ускорения дизайна конечных решений
Оптимизация нейросетей
Для готовых (обученных) NN’s
  • Квантизация
  • Прореживание, с контролем точности и времени исполнения
Уровень компилятора, учет специфики «железа»
  • Распределение памяти
  • Планировщик исполнения операций
  • Разработка интринсиков
Рантайм
  • Адаптация рантайм библиотеки
  • Настройка планировщика исполнения операций
  • Механизм профилировки (например, TVM Auto Scheduler)
  • Низкоуровневая оптимизация бинарного кода (asm-level)
Гетерогенные архитектуры микроконтроллеров с NNA
Обучение нейросетей на микроконтроллере
Цель – сделать устройства «умнее» и эффективнее, наблюдая за изменениями в текущем потоке собираемых данных и самостоятельно корректируя или переконфигурируя «операционную» модель устройства. При необходимости, «знания» полученные устройством, передаются другим развернутым в Edge устройствам.
Требования и ограничения:
  • Лимитированная память для обучения
  • Лимитированная память для буферизации данных
  • Фиксированное время обучения нейросети
  • Данные не могут сохранятся за произвольное время
  • Максимально ограниченное взаимодействие с пользователем (оператором)
  • Время обучения должно быть существенно меньше времени сбора данных
  • Как правило, время обучения меньше секунды