Использование Tinyml во встроенных устройствах для машинного обучения на устройстве

Экспоненциальный рост Интернета вещей наводнил мир миллиардами подключенных датчиков, носимых устройств и промышленных контроллеров. Тем не менее, большинство этих устройств остаются «тупыми» — они собирают необработанные данные и отправляют их в облако для анализа. Этот централизованный подход вводит задержку, потребляет пропускную способность и вызывает проблемы с конфиденциальностью. За последние несколько лет появилась новая парадигма под названием Tiny Machine Learning, чтобы изменить это. TinyML приносит мощность искусственного интеллекта непосредственно на микроконтроллеры и чипы с низким энергопотреблением, которые управляют физическим миром, позволяя принимать решения в режиме реального времени, частным и энергоэффективным.

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

Что такое TinyML?

TinyML, сокращение от Tiny Machine Learning, является областью исследований и инженерии, ориентированной на развертывание моделей машинного обучения на жестко ограниченном ресурсом оборудовании - обычно микроконтроллеры с менее чем 256 КБ оперативной памяти и несколькими мегабайтами флэш-памяти. В отличие от традиционных систем машинного обучения, которые полагаются на облачные серверы с мощными графическими процессорами, модели TinyML оптимизированы для локальной работы на таких устройствах, как микроконтроллеры ARM Cortex-M, модули ESP32 или чипы RISC-V.

Концепция основана на десятилетиях работы встроенных систем, но получила реальный импульс примерно в 2017 году, когда Google выпустила TensorFlow Lite Micro, время выполнения, разработанное специально для микроконтроллеров. С тех пор такие фреймворки, как Edge Impulse, Arm CMSIS-NN и ONNX Runtime, облегчили разработчикам обучение, сжатие и развертывание моделей на крошечном оборудовании. Основными техническими активаторами являются квантование модели (снижение точности весов и активаций с 32-битных поплавков до 8-битных целых чисел) и (снятие ненужных соединений), которые уменьшают размер модели и уменьшают вычислительную нагрузку без катастрофической потери точности.

Что отличает TinyML от edge AI на более мощных устройствах (таких как смартфоны или одноплатные компьютеры, такие как Raspberry Pi) - это экстремальный бюджет ресурсов. Типичное устройство TinyML работает с оболочкой мощности милливатт или микроватт, не имеет операционной системы или очень легкой RTOS и часто работает на батареях, предназначенных для последних лет. Это заставляет инженеров радикально по-разному думать как об архитектуре модели, так и о конвейере выводов.

Основные преимущества TinyML во встроенных устройствах

Низкая задержка и отзывчивость в реальном времени

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

Конфиденциальность и суверенитет данных

Чувствительные показатели здоровья, голосовые записи и видеопотоки никогда не покидают устройство. TinyML обрабатывает необработанные данные датчиков локально и передает только выводы высокого уровня (например, «обнаружено падение» или «предупреждение об аномалии»). Эта конструкция соответствует строгим правилам защиты данных, таким как GDPR и HIPAA, и это резко уменьшает площадь поверхности для нарушений безопасности. Пользователи получают прозрачность и контроль, потому что никакие личные данные не отправляются на сторонние серверы.

Энергоэффективность и срок службы батареи

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

Эффективность затрат и масштабируемость

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

Оффлайн-операция и надежность

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

Реальные приложения TinyML

Здравоохранение и носимые

TinyML революционизирует личный мониторинг здоровья. Носимые устройства, такие как умные часы на основе Ambiq Apollo4, могут непрерывно анализировать сигналы ЭКГ для обнаружения фибрилляции предсердий. Небольшая модель, работающая на запястье, выполняет классификацию и предупреждает пользователя или врача только при помечении события. Аналогичным образом, слуховые аппараты, оснащенные TinyML, могут подавлять фоновый шум и улучшать речь в режиме реального времени без разрядки батареи. Другие случаи использования включают обнаружение апноэ во сне, обнаружение падения для ухода за пожилыми людьми и прогнозирование уровня глюкозы от неинвазивных датчиков.

Промышленное прогнозирование и контроль качества

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

Умные дома и голосовые помощники

Голосовые интеллектуальные колонки обычно отправляют аудиоклипы в облако для обработки, что вызывает проблемы с конфиденциальностью. TinyML позволяет определять ключевые слова на устройстве, например, обнаруживать «Hey Google» или «Alexa», используя модель, которая потребляет менее 10 КБ оперативной памяти. Как только ключевое слово идентифицировано, вейк-слово подтверждается локально до передачи любых данных. Датчики окружающей среды, интеллектуальные термостаты и детекторы движения также могут использовать TinyML для обнаружения заполняемости, обнаружения разрывов стекла и распознавания аномалий, что делает дома отзывчивыми, но приватными.

Сельское хозяйство и мониторинг окружающей среды

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

Умная розничная торговля и логистика

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

Проблемы, ограничивающие более широкое усыновление

Несмотря на свои обещания, TinyML сталкивается с рядом технических и практических препятствий.

Ограниченная сложность модели

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

Накладные расходы на выращивание и развитие

Хотя такие фреймворки, как TensorFlow Lite Micro и Edge Impulse, улучшили рабочий процесс, конвейер развертывания остается фрагментированным. Преобразование модели, обученной в Keras или PyTorch, в оптимизированный массив C++, связывание правильных ядер CMSIS-NN и отладка на голом металле может занять много времени. Многие встроенные инженеры не имеют глубоких знаний в области ML, и многие инженеры ML не знакомы с ограничениями микроконтроллеров. Экосистема созревает, но она еще не так бесшовна, как обучение модели для облака.

Неоднородность оборудования

Просто потому, что модель работает на ARM Cortex-M4, это не означает, что она будет работать на ядре RISC-V или маломощном Xtensa DSP. Функции ускорения аппаратного обеспечения — такие как инструкции SIMD или аппаратные множители — широко варьируются. Разработчикам часто нужно писать низкоуровневый код для каждого целевого чипа, что увеличивает стоимость разработки и снижает портативность. Появляются стандартизированные уровни абстракции аппаратного обеспечения (например, интеграция NPU Ethos-U от Arm), но принятие все еще зарождается.

Дефицит данных и маркировка

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

Обновления безопасности и внеземного обслуживания

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

Будущие направления и новые тенденции

Будущее TinyML яркое, обусловленное как аппаратными достижениями, так и алгоритмическими инновациями. За несколькими тенденциями стоит следить.

Специализированные ускорители ИИ

Чипмейкеры встраивают крошечные ускорители нейронных сетей в микроконтроллеры. Например, Ethos-U55 от Arm и более поздние Ethos-U65 предназначены для ускорения свертывания и глубинных операций в оболочку мощности микроватт. Аналогично, Catana от Synaptics и SpotPlus от Ambiq предлагают специальное оборудование для крошечного вывода. Эти чипы позволяют модели, которые ранее были невозможны на микроконтроллерах общего назначения, раздвигая границу того, что может достичь TinyML.

Федеративное обучение для крошечных устройств

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

Нейроморфные вычисления

Нейроморфные чипы, такие как Loihi 2 от Intel или Speck от SynSense, имитируют биологические нейронные сети, используя шипы вместо непрерывных активаций. Эти процессоры по своей сути ориентированы на события, потребляя энергию только тогда, когда происходит вычисление. Запуск пиковых нейронных сетей (SNN) на нейроморфном оборудовании может достичь чрезвычайной энергоэффективности для таких задач, как распознавание жестов, обработка звука и обнаружение аномалий. Сочетание TinyML и нейроморфных вычислений может обеспечить постоянное зондирование с мощностью субмилливатта.

Автоматизированное машинное обучение для крошечных устройств

Инструменты AutoML, которые ищут оптимальные архитектуры моделей (NAS), адаптируются к ограничениям TinyML. Платформы, такие как Edge Impulse и Google Model Search, уже включают аппаратный поиск, автоматически выбирая правильную комбинацию слоев, битов квантования и коэффициентов обрезки для данного микроконтроллера. Это снижает барьер экспертизы и ускоряет разработку от недель до часов.

On-Device Обучение и адаптация

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

Начало работы с TinyML

Для инженеров и любителей, желающих погрузиться в TinyML, экосистема становится все более доступной. Рекомендуемый путь - начать с Arduino Nano 33 BLE Sense или платы на основе ESP32, у которых есть встроенные датчики (микрофон, акселерометр, камера на OV7670) и достаточно ОЗУ для небольших моделей. Установите библиотеку TensorFlow Lite Micro Library или используйте веб-платформу Edge Impulse для сбора данных, обучения модели и создания библиотеки Arduino. Альтернативно, ONNX Runtime имеет расширяющуюся поддержку микроконтроллеров. Обработчик Arm Ethos-U страница обеспечивает фон на аппаратном ускорении. Для всестороннего введения книга TinyML: машинное обучение с TensorFlow Lite на Arduino и Ultra-Low-

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

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