Модели и платформы ИИ

Новая система может принести ИИ в носимые устройства и бытовую технику

mm
Добавьте Unite.AI в избранные источники в Google

Команда исследователей в MIT работает над тем, чтобы принести глубокие обучающие нейронные сети на микроконтроллеры. Этот прорыв означает, что искусственный интеллект (ИИ) может быть реализован в крошечных компьютерных чипах в носимых медицинских устройствах, бытовой технике и других 250 миллиардах объектов, составляющих “интернет вещей” (IoT). IoT – это сеть физических объектов, встроенных с датчиками, программным обеспечением и другими технологиями, которые помогают соединять и обмениваться данными с другими устройствами и системами.

Исследование представлено на Конференции по обработке нейронной информации в декабре. Основным автором исследования является Ji Lin, аспирант в лаборатории Song Han в департаменте электротехники и компьютерных наук MIT. Среди соавторов – Han и Yujun Lin из MIT, Wei-Ming Chen из MIT и Национального университета Тайваня, а также John Cohn и Chuan Gan из лаборатории MIT-IBM Watson.

Система MCUNet

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

Команда разработала “крошечную глубокую систему обучения” путем объединения двух компонентов – работы нейронных сетей и микроконтроллеров. Первый компонент – TinyEngine, интерфейсный движок, действующий как операционная система, направляющая управление ресурсами. TinyEngine оптимизирован для запуска конкретной структуры нейронной сети, выбранной TinyNAS, который является другим компонентом. TinyNAS – это алгоритм поиска нейронной архитектуры.

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

“Это может работать довольно хорошо для GPU или смартфонов”, – говорит Lin. “Но было трудно直接 применить эти методы к крошечным микроконтроллерам, поскольку они слишком малы”.

TinyNAS может создавать сети любого размера.

“У нас есть много микроконтроллеров, которые имеют разные мощности и размеры памяти”, – говорит Lin. “Итак, мы разработали алгоритм [TinyNAS], чтобы оптимизировать пространство поиска для разных микроконтроллеров”.

Поскольку TinyNAS может быть настроен, он может генерировать лучшие возможные компактные нейронные сети для микроконтроллеров.

“Затем мы доставляем окончательную, эффективную модель на микроконтроллер”, – продолжает Lin.

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

“У него нет внешней памяти, и нет диска”, – говорит Han. “Все вместе составляет всего один мегабайт флэш-памяти, поэтому нам необходимо очень тщательно управлять таким небольшим ресурсом”.

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

“Мы сохраняем только то, что нам нужно”, – говорит Han. “И поскольку мы разработали нейронную сеть, мы знаем точно, что нам нужно. Это преимущество системно-алгоритмического проектирования”.

Тесты показали, что скомпилированный бинарный код TinyEngine был в 1,9-5 раз меньше, чем у аналогичных микроконтроллерных движков, включая те, которые от Google (GOOGL ) и ARM. Пиковая нагрузка на память также была сокращена почти вдвое.

Возможности MCUNet

Первые тесты для MCUNet были связаны с классификацией изображений. База данных ImageNet была использована для обучения системы помеченными изображениями, и ее возможности были затем протестированы на новых изображениях.

Когда MCUNet был протестирован на коммерческом микроконтроллере, он успешно классифицировал 70,7% новых изображений. Это намного лучше, чем предыдущий лучший нейронный сетевой и интерференционный движок, который был точным на 54%.

“Даже 1% улучшение считается значительным”, – говорит Lin. “Итак, это гигантский шаг для настроек микроконтроллера”.

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

MCUNet также повышает безопасность данных.

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

Анализируя данные локально, существует меньший шанс компрометации личной информации.

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

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