МИР

Исполнение ML

НА МИКРОКОНТРОЛЛЕРАХ

Edge AI

Из чего состоит EdgeAI​

  • Микроконтроллеры, как правило с нейроускорителями
  • Умные сенсоры
  • ML-компиляторы
  • Специализированные SDK
  • Алгоритмы ML

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

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

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

  • Выбор архитектуры нейросети
  • Тонкая оптимизация и адаптация под требуемую модель микроконтроллера
При этом:
  • Не требуется собирать и размечать датасет для тренировки
  • Есть архитектуры нейросетей для которых не нужна предобработка:
    • SDKML → SDK
    • CIML → ML CI
    • TPU → NNA, TPU и т.д.

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

  • ML Compiler
  • SDKML
  • CINNA
  • TPU
и т.д.

Технология

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

КОНТАКТЫ