Все, что мы используем — от смартфонов до ноутбуков — теперь меньше и легче, но гарантирует лучшую производительность.

Считайте это общим объяснением производительности или улучшений в любом процессе и более подходящим для процессов, связанных с оборудованием.

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

Однако ситуация изменилась. Наши устройства обработки улучшились на микроуровне и стали более удобными; одновременно библиотеки машинного обучения сильно развились, перенося большие задачи на небольшие устройства, такие как мобильные телефоны и встроенные устройства.

Оглавление

  • ТензорФлоу Лайт
  • Рабочий процесс разработки
  • TensorFlow Lite для микроконтроллеров
  • Почему важны микроконтроллеры?
  • Как AI и ML трансформируют ваш бизнес
  • Рабочий процесс разработчика для развертывания TensorFlow
  • Ограничения
  • Заключение

ТензорФлоу Лайт

TensorFlow Lite — один из примеров вышеупомянутой библиотеки машинного обучения. Это набор инструментов, который помогает разработчикам запускать модели TensorFlow на встроенных, мобильных и IoT-устройствах.

TensorFlow Lite позволяет устройствам легко внедрять машинное обучение «на границе» сети без отправки данных с сервера туда и обратно.

Выполнение машинного обучения на устройстве может помочь разработчикам улучшить:

  • Задержка: нет обратной связи с сервером
  • Конфиденциальность: никакие данные не должны покидать устройство.
  • Подключение: подключение к Интернету не требуется.
  • Потребляемая мощность: сетевые соединения потребляют много энергии

Рабочий процесс разработки

Рабочий процесс TensorFlow Lite состоит из следующих шагов:

1. Выберите модель

У вас есть много вариантов выбора модели; разработайте собственную модель TensorFlow, полагайтесь на предварительно обученные модели или получите новую модель онлайн.

2. Преобразуйте модель

Если вы используете пользовательскую модель, используйте конвертер TensorFlow Lite и несколько строк Python, чтобы преобразовать ее в формат TensorFlow Lite.

3. Разверните на своем устройстве

Интерпретатор Tensor Flow Lite может запускать вашу модель на устройстве с помощью API на нескольких языках.

4.Оптимизируйте свою модель

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

TensorFlow Lite для микроконтроллеров

TensorFlow Lite для микроконтроллеров — это порт TensorFlow Lite, предназначенный для запуска моделей машинного обучения на микроконтроллерах и других устройствах с меньшей пропускной способностью памяти.

Он не требует поддержки операционной системы, каких-либо стандартных библиотек C или C++ или динамического выделения памяти. Основная среда выполнения занимает 16 КБ на Arm Cortex M3, а при достаточном количестве операторов для запуска модели обнаружения ключевых слов она занимает в общей сложности 22 КБ.

Почему важны микроконтроллеры?

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

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

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

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

Как это меняет ваш бизнес?

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

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

Вот как отрасли используют возможности ИИ и машинного обучения:

  • Самоуправляемые и роботизированные приложения.
  • 90 % потребительских товаров используют искусственный интеллект на периферии.
  • Уменьшение форм-фактора микроконтроллеров и увеличение вычислительной мощности ядра приводит к увеличению рыночных возможностей для периферийных развертываний.
  • В самой индустрии компьютерного зрения 20–30 % предпочитают граничные решения.
  • Intel и Nvidia выводят на рынок новые встроенные графические процессоры и устройства TPU.
  • 95 % интеллектуальных гаджетов медиаприложений способны запускать ИИ на периферии.
  • Повысьте безопасность данных, храня их локально.

Также читайте: Как машинное обучение может помочь в решении бизнес-задач

Рабочий процесс разработчика

Чтобы развернуть модель TensorFlow на микроконтроллере, вам необходимо выполнить следующий процесс:

  1. Создайте или получите модель TensorFlow. После преобразования модель должна быть совместима с вашим целевым устройством по размеру. Более того, он может работать только с поддерживаемыми операциями.
  2. Преобразование модели в TensorFlow Lite FlatBuffer. Второй шаг — преобразование модели TensorFlow в стандартный формат TensorFlow Lite с помощью преобразователя TensorFlow Lite. Вы можете захотеть вывести квантованную модель, так как она меньше по размеру и более эффективна в исполнении.
  3. Преобразование FlatBuffer в массив байтов C: модели плоского буфера дополнительно квантуются и хранятся в памяти программ, доступной только для чтения, которая предоставляется в виде простого файла C. Стандартные инструменты можно использовать для преобразования FlatBuffer в массив C.
  4. Интегрируйте библиотеку TensorFlow Lite для микроконтроллеров C++: напишите свой код микроконтроллера для сбора данных, выполнения логических выводов с помощью библиотеки C++ и использования результатов.
  5. Развертывание на вашем устройстве. Создайте и разверните программу на своем устройстве.

Ограничения

TensorFlow Lite для микроконтроллеров имеет все специфические ограничения разработки микроконтроллеров. Если вы работаете с одноплатными вычислительными устройствами на базе Linux (например, со встроенным устройством Linux, таким как Raspberry Pi), интегрировать стандартную платформу TensorFlow Lite может быть проще.

Следует учитывать следующие ограничения:

  • Поддержка ограниченного подмножества операций TensorFlow
  • Поддержка ограниченного набора устройств
  • Низкоуровневый C++ API, требующий ручного управления памятью
  • Обучение не поддерживается

Заключение

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

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

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