Введение и применение TinyML
Введение и применение TinyML

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

Хотя в повседневной жизни существует множество примеров машинного обучения, все же есть несколько областей, которых технология не затронула. причина? Многие модели машинного обучения, особенно современные архитектуры (SOTA), требуют значительных ресурсов. Эта потребность в высокопроизводительных вычислительных мощностях ограничивает использование некоторых приложений машинного обучения в облаке — поставщике ресурсов компьютерной системы по требованию.

Помимо вычислительных затрат на обучение этих моделей, логические выводы на их основе зачастую также очень дороги. Если машинное обучение должно расширить сферу своей деятельности и проникнуть в большее количество областей, необходимо решение, которое позволит моделям машинного обучения выполнять логические выводы на меньших по размеру устройствах с более ограниченными ресурсами. Поиск такого решения привел к появлению новой области машинного обучения под названием Tiny Machine Learning (TinyML).

В этой статье мы:

  • Определение TinyML и его преимуществ
  • Охватывает некоторые приложения TinyML.
  • Обсудите требования к рабочему процессу приложений TinyML.

1. Что такое TinyML

«Нейронные сети также известны как искусственные нейронные сети (ИНС). Эта архитектура составляет основу глубокого обучения, которое представляет собой лишь часть машинного обучения, включающую алгоритмы, основанные на структуре и функциях человеческого мозга. нейронные сети составляют основу архитектуры, которая имитирует то, как биологические нейроны отправляют сигналы друг другу». (Источник: Учебное пособие по PyTorch: построение простой нейронной сети).

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

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

Figure 1. A visualization of a three-layer neural network
Figure 1. A visualization of a three-layer neural network

Согласно сайту tinyml.org, «Tiny машинное обучение в широком смысле определяется как быстро растущая область технологий и приложений машинного обучения, включающая аппаратное обеспечение, алгоритмы и программное обеспечение, способное выполнять работу датчиков на устройстве с чрезвычайно низким энергопотреблением (обычно м Вт). Аналитика данных диапазона и ниже, что позволяет использовать различные варианты постоянного использования и нацеливаться на устройства с батарейным питанием».

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

Но почему это так важно? Давайте посмотрим, почему TinyML так привлекателен.

Преимущества TinyML

  1. Задержка: данные не нужно передавать на сервер для вывода, поскольку модель работает на периферийном устройстве. Передача данных обычно требует времени, что может вызвать небольшие задержки. Удаление этого требования уменьшает задержку.
  2. Энергосбережение: микроконтроллерам требуется очень небольшое количество электроэнергии, что позволяет им работать в течение длительного времени без подзарядки. Самое приятное то, что не требуется обширная серверная инфраструктура, поскольку не происходит передачи информации: результатом является экономия энергии, ресурсов и затрат.
  3. Уменьшенная пропускная способность: для вывода практически не требуется подключение к Интернету. На устройстве имеются датчики, которые собирают данные и обрабатывают их на устройстве. Это означает, что необработанные данные датчиков не передаются постоянно на сервер.
  4. Конфиденциальность данных: ваши данные не сохраняются на сервере, поскольку модель работает на периферии. Отсутствие передачи информации на сервер увеличивает гарантию конфиденциальности данных.

2. Сценарии использования: как использовать TinyML?

У TinyML есть приложения в самых разных областях, особенно те, которые полагаются на сети и данные из Интернета вещей (IoT) — по сути, сети физических объектов, встроенных в датчики, программное обеспечение и другие технологии, подключенные к другим объектам через Интернет. устройства и системы и обмениваться с ними данными.

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

сельское хозяйство

Можно использовать TinyML Мониторинг устройств и сбор данных в режиме реального времени данные о хозяйстве и животноводстве. шведский край AI продуктовая компания Imagimob Создал платформу разработки машинного обучения на периферийных устройствах. со всего ЕС 55 организации и Imagimob сотрудничать, понимать TinyML Как обеспечить эффективное управление растениеводством и животноводством.

Промышленное профилактическое обслуживание

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

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

опыт работы с клиентами

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

3. Требования к приложению TinyML

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

Tensorflow Lite для микроконтроллеров (TF Lite Micro) — одна из самых популярных платформ машинного обучения для периферийных устройств. Она предназначена для реализации задач машинного обучения во встроенных системах с объемом памяти всего несколько килобайт.

Python часто является предпочтительным языком для построения моделей машинного обучения. Однако TensorFlow Lite позволяет легко разрабатывать модели на C, C++ или Java и развертывать их без подключения к Интернету.

С аппаратной точки зрения для начала использования TinyML с TF Lite требуется поддерживаемая плата микроконтроллера. В настоящее время библиотека поддерживает следующие микроконтроллеры:

  • Arduino Nano 33 BLE Sense
  • SparkFun Edge
  • STM32F746 Discovery kit
  • Adafruit EdgeBadge
  • Adafruit TensorFlow Lite for Microcontrollers Kit
  • Adafruit Circuit Playground Bluefruit
  • Espressif ESP32-DevKitC
  • Espressif ESP-EYE
  • Wio Terminal: ATSAMD51
  • Himax WE-I Plus EVB Endpoint AI Development Board
  • Synopsys DesignWare ARC EM Software Development Platform
  • Sony Spresense

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

boy illustration
Неразрушающее увеличение изображений одним щелчком мыши, чтобы сделать их более четкими артефактами искусственного интеллекта, включая руководства по установке и использованию.
boy illustration
Копикодер: этот инструмент отлично работает с Cursor, Bolt и V0! Предоставьте более качественные подсказки для разработки интерфейса (создание навигационного веб-сайта с использованием искусственного интеллекта).
boy illustration
Новый бесплатный RooCline превосходит Cline v3.1? ! Быстрее, умнее и лучше вилка Cline! (Независимое программирование AI, порог 0)
boy illustration
Разработав более 10 проектов с помощью Cursor, я собрал 10 примеров и 60 подсказок.
boy illustration
Я потратил 72 часа на изучение курсорных агентов, и вот неоспоримые факты, которыми я должен поделиться!
boy illustration
Идеальная интеграция Cursor и DeepSeek API
boy illustration
DeepSeek V3 снижает затраты на обучение больших моделей
boy illustration
Артефакт, увеличивающий количество очков: на основе улучшения характеристик препятствия малым целям Yolov8 (SEAM, MultiSEAM).
boy illustration
DeepSeek V3 раскручивался уже три дня. Сегодня я попробовал самопровозглашенную модель «ChatGPT».
boy illustration
Open Devin — инженер-программист искусственного интеллекта с открытым исходным кодом, который меньше программирует и больше создает.
boy illustration
Эксклюзивное оригинальное улучшение YOLOv8: собственная разработка SPPF | SPPF сочетается с воспринимаемой большой сверткой ядра UniRepLK, а свертка с большим ядром + без расширения улучшает восприимчивое поле
boy illustration
Популярное и подробное объяснение DeepSeek-V3: от его появления до преимуществ и сравнения с GPT-4o.
boy illustration
9 основных словесных инструкций по доработке академических работ с помощью ChatGPT, эффективных и практичных, которые стоит собрать
boy illustration
Вызовите deepseek в vscode для реализации программирования с помощью искусственного интеллекта.
boy illustration
Познакомьтесь с принципами сверточных нейронных сетей (CNN) в одной статье (суперподробно)
boy illustration
50,3 тыс. звезд! Immich: автономное решение для резервного копирования фотографий и видео, которое экономит деньги и избавляет от беспокойства.
boy illustration
Cloud Native|Практика: установка Dashbaord для K8s, графика неплохая
boy illustration
Краткий обзор статьи — использование синтетических данных при обучении больших моделей и оптимизации производительности
boy illustration
MiniPerplx: новая поисковая система искусственного интеллекта с открытым исходным кодом, спонсируемая xAI и Vercel.
boy illustration
Конструкция сервиса Synology Drive сочетает проникновение в интрасеть и синхронизацию папок заметок Obsidian в облаке.
boy illustration
Центр конфигурации————Накос
boy illustration
Начинаем с нуля при разработке в облаке Copilot: начать разработку с минимальным использованием кода стало проще
boy illustration
[Серия Docker] Docker создает мультиплатформенные образы: практика архитектуры Arm64
boy illustration
Обновление новых возможностей coze | Я использовал coze для создания апплета помощника по исправлению домашних заданий по математике
boy illustration
Советы по развертыванию Nginx: практическое создание статических веб-сайтов на облачных серверах
boy illustration
Feiniu fnos использует Docker для развертывания личного блокнота Notepad
boy illustration
Сверточная нейронная сеть VGG реализует классификацию изображений Cifar10 — практический опыт Pytorch
boy illustration
Начало работы с EdgeonePages — новым недорогим решением для хостинга веб-сайтов
boy illustration
[Зона легкого облачного игрового сервера] Управление игровыми архивами
boy illustration
Развертывание SpringCloud-проекта на базе Docker и Docker-Compose