Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Industrial Internet of Things >> Встроенный

Микроконтроллеры берут на себя растущую роль в периферийном ИИ

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

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

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

Насколько глубокий край?

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


Примеры моделей MobileNet V1 с переменной шириной множителей показывают резкое влияние на количество параметров, вычислений и точность. Однако простое изменение множителя ширины с 1,0 на 0,75 минимально влияет на точность ТОП-1, но значительно влияет на количество параметров и вычислений (Изображение:NXP)

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

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

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

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

Маленький, но мощный

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

На практике это означает, что микроконтроллер стоимостью менее 2 долларов с ядром Arm Cortex-M7 с тактовой частотой 500 МГц и объемом памяти от 28 до 128 Кбайт может обеспечить производительность, необходимую для создания действительно интеллектуальных датчиков.

Даже при таком уровне цены и производительности эти микроконтроллеры имеют несколько функций безопасности, включая AES-128, поддержку нескольких типов внешней памяти, Ethernet, USB и SPI, а также включают или поддерживают различные типы датчиков, а также Bluetooth, Wi-Fi, SPDIF и I 2 Аудиоинтерфейсы C. Потратьте немного больше, и устройство, как правило, будет иметь Arm Cortex-M7 с тактовой частотой 1 ГГц, Cortex-M4 с тактовой частотой 400 МГц, 2 Мбайт оперативной памяти и ускорение графики. Потребляемая мощность обычно не превышает нескольких миллиампер от источника питания 3,3 В постоянного тока.


Примеры использования машинного обучения (Изображение:NXP)

Несколько слов о ТОПах

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

К сожалению, это все более верно и в отношении ускорителей нейронных сетей, в том числе в составе высокопроизводительных MPU или микроконтроллеров, которые определяются миллиардами или триллионами операций в секунду, потому что, опять же, это число легко запомнить. Но на практике сами по себе GOPS и TOPS являются относительно бессмысленными показателями и представляют собой измерение (без сомнения, лучшее), выполненное в лаборатории, а не реальную рабочую среду. Например, TOPS не учитывает ограничения пропускной способности памяти, требуемые накладные расходы ЦП, предварительную и постобработку и другие факторы. Если учесть все эти и другие факторы, например производительность при использовании на конкретной плате в реальной работе, производительность на уровне системы, вероятно, может составить 50% или 60% от значения TOPS в таблице данных.

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

Применительно к ускорителям машинного обучения в микроконтроллерах этот показатель еще менее ценен. Эти крошечные устройства обычно имеют значение от 1 до 3 TOPS, но все же могут предоставлять возможности вывода, необходимые во многих приложениях машинного обучения. В этих устройствах также используются процессоры Arm Cortex, специально разработанные для приложений машинного обучения с низким энергопотреблением. Наряду с поддержкой как целочисленных операций, так и операций с плавающей запятой, а также многих других функций в микроконтроллере, становится очевидным, что TOPS или любая другая единичная метрика неспособна адекватно определять производительность ни отдельно, ни в системе.

Заключение

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

Сегодня модели можно обучать на более мощных процессорах или графических процессорах, а затем реализовывать на микроконтроллере с использованием механизмов вывода, таких как TensorFlow Lite, чтобы уменьшить их размер в соответствии с требованиями микроконтроллера к ресурсам. Масштабирование может быть легко выполнено для соответствия более высоким требованиям машинного обучения. Вскоре появится возможность выполнять не только логический вывод, но и обучение . на этих устройствах, что фактически сделает микроконтроллер еще более серьезным конкурентом более крупных и дорогих вычислительных решений.

>> Эта статья была первоначально опубликована на наш дочерний сайт EE Times.


Встроенный

  1. Роль облачных вычислений в разведке
  2. Роль встроенных систем в автомобилях
  3. Охлаждение паровой камеры находит растущую роль в горячих продуктах
  4. Сбор радиочастотной энергии становится все более популярным в приложениях, управляемых искусственным интел…
  5. USB-C находит растущую роль в носимых и мобильных устройствах
  6. Небольшой модуль ИИ на основе TPU Google Edge
  7. Интеллектуальная сенсорная плата ускоряет разработку периферийного ИИ
  8. Интеллектуальная камера предлагает готовый под ключ ИИ с технологией машинного зрения
  9. Роботы играют роль в Индустрии 4.0
  10. Роль граничных вычислений в коммерческих развертываниях Интернета вещей