AI: как низко ты можешь спуститься?

Обновление: 10 декабря 2023 г.

 

AI: как низко ты можешь спуститься?

AI: как низко ты можешь спуститься?

Рынки подвержены увлечениям, и сектор встроенного контроля от них далеко не застрахован. В 1990-х годах нечеткая логика казалась путем вперед, и производители микроконтроллеров (MCU) изо всех сил старались поддержать свои предложения только для того, чтобы увидеть, как это разгорается.

 

Встраиваемое машинное обучение (ML) переживает гораздо большее безумие, поскольку признанные игроки MCU и стартапы, занимающиеся ускорением искусственного интеллекта, пытаются продемонстрировать свою приверженность идее, которая в основном идет под знаменем TinyML.

Даниэль Ситунаяке, основатель TinyML-разработчик в компании Edge Impulse, занимающейся программным обеспечением, и соавтор известной книги о technology, говорит, что ситуация сегодня сильно отличается от ситуации 1990-х годов.

«Самое интересное во встроенном машинном обучении заключается в том, что машинное обучение и глубокое обучение не являются новыми, непроверенными технологиями - они на самом деле были успешно развернуты на компьютерах серверного класса в течение относительно долгого времени и лежат в основе множества успешных товары. Встроенное машинное обучение - это применение проверенного набора технологий в новом контексте, который позволит использовать множество новых приложений, которые ранее были невозможны ».

ABI Research прогнозирует, что рынок маломощных микроконтроллеров и ускорителей с поддержкой ИИ для рынка TinyML вырастет с менее чем 30 миллионов долларов годовой выручки в этом году до более чем 2 миллиардов долларов к началу следующего десятилетия.

Несмотря на быстрый рост, аналитик ABI Лиан Джи Су ожидает, что конкуренция станет более жесткой по мере выхода на рынок крупных компаний, таких как Bosch. Некоторые стартапы, такие как Eta Compute, уже перешли от кремния к программным инструментам.

«Мы видим некоторую консолидацию. В то же время огромная фрагментация рынка Интернета вещей означает, что значительное количество поставщиков выживет, как, например, рынки микроконтроллеров или наборов микросхем Интернета вещей в целом », - говорит он, указывая на большое количество поставщиков, которые сосредоточены на определенных вертикальных рынках.

TinyML сталкивается с серьезными ограничениями. Пит Уорден, технический руководитель платформы TensorFlow Micro в гиганте поисковых систем и соавтор Ситунаяке «TinyML: машинное обучение с TensorFlow Lite на Arduino и микроконтроллерах со сверхнизким энергопотреблением», заявил на осенней конференции Linley Group по процессорам, что Цель состоит в том, чтобы взять модели глубокого обучения и «запустить их на устройствах с объемом оперативной памяти всего 20 КБ». Мы хотим использовать модели, созданные с использованием этого передового technology и сокрушить их, чтобы они работали на процессорах с очень низким энергопотреблением.

«Поскольку это программное обеспечение с открытым исходным кодом, мы можем не только взаимодействовать с продуктовыми группами внутри Google, но также получаем множество запросов от продуктовых групп со всего мира, которые пытаются создавать интересные продукты. И часто приходится говорить: нет, пока это невозможно. В совокупности мы видим множество невыполненных требований », - говорит Уорден.

Основная проблема заключается в том, что модели глубокого обучения, перенесенные из серверной среды, требуют выполнения миллионов или даже миллиардов функций умножения-сложения (MAC) за короткий промежуток времени даже для относительно простых моделей. Линли Гвеннап, президент Linley Group, говорит, что относительно простые аудиоприложения, такие как улавливание слов в речи, которые могут активировать распознавание голоса, требуют около 2 миллионов MAC-адресов в секунду. Видео нужно гораздо больше.

Производители кремния смогли увеличить количество MAC-адресов, воспользовавшись относительно низкими требованиями к точности индивидуальных вычислений при выполнении логического вывода. В то время как для обучения на серверах обычно требуются арифметические операции с плавающей запятой одинарной или двойной точности, для большинства приложений кажутся достаточными вычисления с целыми числами (int8).

Есть признаки того, что для выбранных уровней в модели даже MAC-адреса int8 не нужны. Двоичные или троичные вычисления, которые могут быть выполнены с использованием немногим более нескольких вентилей, во многих случаях не влияют на общую точность. «Потенциальный прирост производительности огромен, но отсутствует сочетание аппаратной и программной поддержки, необходимой для их полного использования», - говорит Ситунайаке.

Хотя инструментарий для платформы TensorFlow Lite обычно поддерживает веса int8, поддержка более низких разрешений далеко не широко распространена. «Это быстро меняется», - отмечает Ситунаяке, указывая на такие ускорители, как Syntiant, которые поддерживают двоичные, 2-битные и 4-битные веса, а также на работу Plumerai по непосредственному обучению бинаризованных нейронных сетей.

«Хотя эти технологии все еще находятся на переднем крае и еще не стали массовыми для разработчиков встраиваемого машинного обучения, скоро они станут частью стандартного набора инструментов», - добавляет он.

Снижение арифметической нагрузки

Есть и другие варианты работы с TinyML, которые уменьшают арифметическую нагрузку. Выступая на конференции TinyML Asia в конце прошлого года, Ян Джонгбум, соучредитель и технический директор Edge Impulse, сказал, что ключевым преимуществом ML является его способность находить корреляции в данных, которые обычные алгоритмы не выбирают. Проблема заключается в огромном количестве параметров, которые большинство традиционных моделей должны обрабатывать, чтобы найти эти корреляции, если входные данные являются необработанными выборками.

«Вы хотите помочь своему алгоритму машинного обучения, чтобы облегчить ему жизнь», - говорит Чонбум. Наиболее полезный метод для типичных сигналов в реальном времени - использование извлечения признаков: преобразование данных в представления, которые позволяют создавать нейронные сети с меньшим количеством параметров на порядки.

Если взять речь в качестве примера, преобразование в пространство мел-кепстра значительно сокращает количество параметров, которые могут эффективно кодировать изменения звука.

В других данных датчика, таких как сигнал от акселерометра, используемый для обнаружения вибрации во вращающемся оборудовании, часто будут работать другие формы совместных частотно-временных представлений.

Этот подход используется Джоном Эдвардсом, консультантом и инженером по цифровой обработке сигналов в Sigma Numerix и приглашенным лектором Оксфордского университета, в проекте по анализу вибрации.

В этом случае короткое преобразование Фурье имело лучший компромисс в сочетании с преобразованиями, которые компенсируют двигатели с регулируемой скоростью. Благодаря извлечению функций размер модели уменьшился до двух слоев, которые можно было легко обработать на NXP LPC55C69, который сочетает в себе ядра Arm Cortex-M33 с ускорителем DSP.

Чонбум говорит, что, хотя может возникнуть соблазн пойти по пути глубокого обучения, другие алгоритмы машинного обучения могут дать результаты. «Наша лучшая модель обнаружения аномалий - это не нейронная сеть: ее базовая кластеризация k-средних».

Там, где требуется глубокое обучение, разреженность позволяет еще больше сократить накладные расходы на модель. Это может принимать форму отсечения, когда веса, мало влияющие на вывод модели, просто удаляются из конвейера. Другой вариант - сосредоточить усилия на тех частях потока данных, которые демонстрируют изменения с течением времени. Например, в видео наблюдения это может означать использование обработки изображений для обнаружения движущихся объектов и отделения их от фона перед подачей обработанных пикселей в модель.

Это был полезный опыт для Чонбума и других. Летом 2017 года, описывая свое продвижение по этапам TinyML, он подумал, что вся концепция невозможна. К лету 2020 года, рассмотрев способы совместной оптимизации приложения и дизайна модели, его отношение изменилось и он поверил, что классификация изображений в реальном времени на маломощном оборудовании возможна. По мере более эффективного появления маломощных ускорителей, поддерживающих низкую точность и разреженность, диапазон моделей, которые могут работать на микромощности, должен расшириться.

В результате, утверждает Ситунайаке, вероятно, что «ML в конечном итоге будет представлять большую долю, чем любой другой тип рабочей нагрузки. Преимущества машинного обучения на устройствах будут стимулировать отрасль к созданию и развертыванию более быстрых и мощных микросхем с низким энергопотреблением, которые станут составлять большую часть всех встроенных вычислений в мире ». Несмотря на то, что будет множество устройств, на которых не будут выполняться эти рабочие нагрузки, потребность в скорости, поскольку размеры модели неизбежно будут расти, сосредоточит внимание на ее потребностях и начнет доминировать в разработке программных и аппаратных архитектур до тех пор, пока приложения будут реализованы.