Модели и платформы ИИ
TinyML: Применения, Ограничения и Использование в IoT и Устройствах Edge

В последние годы искусственный интеллект (ИИ) и машинное обучение (МО) пережили стремительный рост популярности и применения, не только в промышленности, но и в академии. Однако, современные модели ИИ и МО имеют одно значительное ограничение: они требуют огромного количества вычислительной и обработочной мощности для достижения желаемых результатов и точности. Это часто ограничивает их использование высокопроизводительными устройствами с существенной вычислительной мощностью.
Но, учитывая достижения в области технологии встроенных систем и существенное развитие отрасли Интернета вещей, желательно включить использование методов и концепций МО в ресурсо-ограниченные встроенные системы для повсеместного интеллекта. Желание использовать методы МО в встроенных и IoT-системах является основным мотивирующим фактором разработки TinyML, встроенной методики МО, которая позволяет использовать модели и приложения МО на множестве ресурсо-ограниченных, энергозависимых и дешевых устройств.
Однако, реализация МО на ресурсо-ограниченных устройствах не была простой, поскольку реализация моделей МО на устройствах с низкой вычислительной мощностью представляет свои собственные проблемы в плане оптимизации, вычислительной мощности, надежности, поддержки моделей и многого другого.
В этой статье мы более подробно рассмотрим модель TinyML, и узнаем больше о ее фоне, инструментах, поддерживающих TinyML, и применении TinyML с использованием передовых технологий. Итак, начнем.
Введение в TinyML: Почему Мир Нуждается в TinyML
Устройства Интернета вещей (IoT) стремятся использовать технологию edge-вычислений, вычислительную парадигму, которая относится к ряду устройств и сетей рядом с пользователем для обеспечения бесперебойной и реального времени обработки данных от миллионов датчиков и устройств, взаимосвязанных друг с другом. Одним из основных преимуществ IoT-устройств является то, что они требуют низкой вычислительной и обработочной мощности, поскольку они развертываются на краю сети, и поэтому они имеют низкий объем памяти.
Кроме того, IoT-устройства сильно полагаются на платформы edge для сбора и передачи данных, поскольку эти устройства edge собирают данные с датчиков и передают их либо в ближайшее место, либо на облачные платформы для обработки. Технология edge-вычислений хранит и выполняет вычисления на данных, а также обеспечивает необходимую инфраструктуру для поддержки распределенных вычислений.
Реализация edge-вычислений в IoT-устройствах обеспечивает
- Эффективную безопасность, конфиденциальность и надежность для конечных пользователей.
- Низкую задержку.
- Более высокую доступность и пропускную способность ответа на приложения и услуги.
Кроме того, поскольку устройства edge могут использовать совместную технику между датчиками и облаком, обработка данных может проводиться на краю сети вместо того, чтобы проводиться на облачной платформе. Это может привести к эффективному управлению данными, сохранению данных, эффективной доставке и кэшированию контента. Кроме того, для реализации IoT в приложениях, связанных с взаимодействием человека и машины и современным здравоохранением, edge-вычисления обеспечивают способ существенно улучшить сетевые услуги.
Недавние исследования в области edge-вычислений IoT продемонстрировали потенциал реализации методов МО в различных случаях использования IoT. Однако, основной проблемой является то, что традиционные модели МО часто требуют сильной вычислительной и обработочной мощности, а также высокой емкости памяти, что ограничивает реализацию моделей МО в IoT-устройствах и приложениях.
Кроме того, технология edge-вычислений в настоящее время не имеет высокой передачи данных и эффективной экономии энергии, что приводит к гетерогенным системам, которые являются основной причиной необходимости гармоничной и целостной инфраструктуры, прежде всего для обновления, обучения и развертывания моделей МО. Архитектура, разработанная для встроенных устройств, представляет еще одну проблему, поскольку эти архитектуры зависят от аппаратных и программных требований, которые варьируются от устройства к устройству. Это основная причина, по которой сложно построить стандартную архитектуру МО для сетей IoT.
Кроме того, в текущей ситуации данные, генерируемые различными устройствами, отправляются на облачные платформы для обработки из-за вычислительно-интенсивного характера сетевых реализаций. Кроме того, модели МО часто зависят от глубокого обучения, глубоких нейронных сетей, специализированных интегральных схем (ASIC) и графических процессоров (GPU) для обработки данных и часто имеют более высокие требования к энергии и памяти. Развертывание полноценных моделей МО на IoT-устройствах не является жизнеспособным решением из-за очевидного отсутствия вычислительной и обработочной мощности, а также ограниченных решений для хранения.
Спрос на миниатюризацию низкопотребляющих встроенных устройств, в сочетании с оптимизацией моделей МО для повышения их энергетической и памятной эффективности, проложил путь для TinyML, целью которого является реализация моделей и методов МО на устройствах edge IoT и фреймворке. TinyML обеспечивает обработку сигналов на IoT-устройствах и предоставляет встроенный интеллект, тем самым устраняя необходимость передачи данных на облачные платформы для обработки. Успешная реализация TinyML на IoT-устройствах может в конечном итоге привести к повышению конфиденциальности и эффективности, а также снижению эксплуатационных затрат. Кроме того, то, что делает TinyML еще более привлекательным, заключается в том, что в случае недостаточной связности он может обеспечить аналитику на месте.
TinyML: Введение и Обзор
TinyML – это инструмент машинного обучения, который имеет возможность выполнять аналитику на устройстве для различных модальностей, таких как аудио, видение и речь. Модели МО, построенные на инструменте TinyML, имеют низкие требования к энергии, памяти и вычислительной мощности, что делает их подходящими для встроенных сетей и устройств, которые работают от батареи. Кроме того, низкие требования TinyML делают его идеальным выбором для развертывания моделей МО на фреймворке IoT.
В текущей ситуации облачные системы МО сталкиваются с несколькими трудностями, включая проблемы безопасности и конфиденциальности, высокое энергопотребление, зависимость и задержку, что является причиной, по которой модели на аппаратно-программных платформах предварительно установлены. Датчики собирают данные, которые имитируют физический мир, и затем обрабатываются с помощью ЦП или МПУ (микропроцессорной единицы). МПУ удовлетворяет потребностям в поддержке аналитики МО, обеспечиваемой сетями и архитектурой edge-МО. Архитектура edge-МО общается с облаком МО для передачи данных и реализации TinyML может привести к значительному прогрессу в технологии.
Безопасно можно сказать, что TinyML представляет собой сочетание программного обеспечения, аппаратного обеспечения и алгоритмов, которые работают в гармонии друг с другом для обеспечения желаемой производительности. Аналоговая или память-ориентированная обработка может быть необходима для обеспечения лучшего и более эффективного обучения для устройств и IoT-устройств, которые не поддерживают аппаратные ускорители. Что касается программного обеспечения, приложения, построенные с использованием TinyML, могут быть развернуты и реализованы на платформах, таких как Linux или встроенный Linux, и на облачных платформах. Наконец, приложения и системы, построенные на алгоритме TinyML, должны иметь поддержку новых алгоритмов, которые требуют моделей с низким объемом памяти для избежания высокого потребления памяти.
Для суммирования, приложения, построенные с помощью инструмента TinyML, должны оптимизировать принципы и методы МО, а также проектировать программное обеспечение компактно, в присутствии высококачественных данных. Эти данные затем должны быть переданы через бинарные файлы, которые генерируются с помощью моделей, обученных на машинах с гораздо большей емкостью и вычислительной мощностью.
Кроме того, системы и приложения, работающие на инструменте TinyML, должны обеспечивать высокую точность при работе в более жестких ограничениях, поскольку компактное программное обеспечение необходимо для низкого энергопотребления, которое поддерживает последствия TinyML. Кроме того, приложения или модули TinyML могут полагаться на батарейное питание для поддержки своих операций на устройствах edge.
Учитывая это, приложения TinyML имеют два основных требования
- Способность масштабировать миллиарды дешевых встроенных систем.
- Хранить код на устройстве RAM с емкостью менее нескольких КБ.
Применения TinyML с Использованием Передовых Технологий
Одной из основных причин, по которой TinyML является горячей темой в отрасли ИИ и МО, является его потенциальные применения, включая приложения, основанные на видении и речи, диагностику здоровья, классификацию и сжатие данных, интерфейс мозг-компьютер, edge-вычисления, феномику, самоходные автомобили и многое другое.
Приложения, Основанные на Речи
Связь по Речи
Обычно приложения, основанные на речи, полагаются на традиционные методы связи, при которых все данные важны и передаются. Однако, в последние годы, семантическая связь появилась как альтернатива традиционной связи, при которой передается только смысл или контекст данных. Семантическая связь может быть реализована в приложениях, основанных на речи, с использованием методологий TinyML.
Некоторые из наиболее популярных приложений в отрасли связи по речи сегодня – это обнаружение речи, распознавание речи, онлайн-обучение, онлайн-обучение и целевая связь. Эти приложения обычно имеют более высокое энергопотребление и также имеют высокие требования к данным на устройстве. Для преодоления этих требований была представлена новая библиотека TinySpeech, которая позволяет разработчикам строить архитектуру с низкими вычислительными требованиями, которая использует глубокие сверточные сети для построения объекта с низким хранилищем.
Для использования TinyML для улучшения речи разработчики сначала обратили внимание на размер модели улучшения речи, поскольку он подвергался аппаратным ограничениям и ограничениям. Для решения этой проблемы были развернуты структурированная обрезка и целочисленная квантование для модели улучшения речи на основе РНН. Результаты показали, что размер модели был уменьшен примерно на 12 раз, а операции – примерно на 3 раза. Кроме того, важно, чтобы ресурсы использовались эффективно, особенно при развертывании на ресурсо-ограниченных приложениях, которые выполняют приложения распознавания голоса.
В результате, для разделения процесса, был предложен метод совместного проектирования для приложений распознавания голоса и речи на основе TinyML. Разработчики использовали операцию окна для разделения программного и аппаратного обеспечения таким образом, чтобы предварительно обработать сырые данные голоса. Метод показал свою эффективность, поскольку результаты показали снижение энергопотребления на аппаратуре. Наконец, есть потенциал для реализации оптимизированного разделения между программным и аппаратным обеспечением для лучшей производительности в ближайшем будущем.
Кроме того, недавние исследования предложили использование телефонного датчика для систем распознавания речи, и предложение направлено на замену предсказателей LSTM на слой Conv1D для снижения вычислительных требований на устройствах edge. Когда это было реализовано, предложение показало положительные результаты, поскольку СВД или сингулярное значение разложения успешно сжало модель, а использование WFST или взвешенных конечных автоматов на основе декодирования привело к большей гибкости в улучшении модели.
Многие известные приложения распознавания речи, такие как виртуальные или голосовые помощники, живые подписи и голосовые команды, используют методы МО для работы. Популярные голосовые помощники, такие как Siri и Google Assistant, обращаются к облачной платформе каждый раз, когда они получают какие-либо данные, и это создает значительные проблемы, связанные с конфиденциальностью и безопасностью данных. TinyML является жизнеспособным решением этой проблемы, поскольку он направлен на выполнение распознавания речи на устройствах и устраняет необходимость передачи данных на облачные платформы. Одним из способов достижения распознавания речи на устройстве является использование Tiny Transducer, модели распознавания речи, которая использует слой DFSMN или глубокий слои последовательной памяти, связанный с одним слоем Conv1D вместо слоев LSTM для снижения вычислительных требований и сетевых параметров.
Слуховые Аппараты
Потеря слуха является серьезной проблемой здоровья во всем мире, и способность человека слышать звуки обычно ослабевает с возрастом, и это серьезная проблема в странах, имеющих дело с проблемой старения населения, включая Китай, Японию и Южную Корею. Устройства слуховых аппаратов в настоящее время работают на простом принципе усиления всех входных звуков из окружающей среды, что делает трудным для человека различать или различать желаемый звук, особенно в шумной среде.
TinyML может быть жизнеспособным решением этой проблемы, поскольку использование модели TinyLSTM, которая использует алгоритм распознавания речи для устройств слуховых аппаратов, может помочь пользователям различать между различными звуками.
Приложения, Основанные на Видении
TinyML имеет потенциал сыграть решающую роль в обработке наборов данных, основанных на компьютерном видении, поскольку для более быстрых выходных данных эти наборы данных необходимо обрабатывать на платформе edge. Для достижения этого модель TinyML сталкивается с практическими проблемами, возникающими при обучении модели с помощью платы микроконтроллера OpenMV H7. Разработчики также предложили архитектуру для обнаружения американского жестового языка с помощью микроконтроллера ARM Cortex M7, который работает только с 496 КБ оперативной памяти.
Реализация TinyML для приложений, основанных на компьютерном видении, на платформах edge требовала от разработчиков преодолеть основную проблему, связанную с нейронными сетями CNN с высокой общей ошибкой и высокой точностью обучения и тестирования. Однако, реализация не обобщалась эффективно на изображениях в новых случаях использования, а также на фонах с шумом. Когда разработчики использовали метод интерполяционной аугментации, модель показала точность более 98% на тестовых данных и около 75% в обобщении.

Кроме того, было обнаружено, что когда разработчики использовали метод интерполяционной аугментации, была снижена точность модели во время квантования, но в то же время была повышена скорость вывода модели и классификация обобщения. Разработчики также предложили метод для дальнейшего повышения точности модели обобщения при обучении на данных, полученных из различных источников, и тестировании производительности для изучения возможности развертывания на платформах edge, таких как портативные умные часы.
Кроме того, дополнительные исследования по CNN показали, что возможно развернуть и достичь желаемых результатов с архитектурой CNN на устройствах с ограниченными ресурсами. Недавно разработчики смогли разработать фреймворк для обнаружения медицинских масок на микроконтроллере ARM Cortex M7 с ограниченными ресурсами с использованием TensorFlow Lite с минимальными следами памяти. Размер модели после квантования составил около 138 КБ, а скорость вывода на целевой плате составила около 30 кадров в секунду.
Другим применением TinyML для приложений, основанных на компьютерном видении, является реализация устройства распознавания жестов, которое может быть прикреплено к трости для помощи людям с нарушениями зрения в навигации по их повседневной жизни. Для проектирования устройства были использованы набор данных жестов и обучена модель ProtoNN с алгоритмом классификации. Результаты, полученные из настройки, были точными, конструкция была низкозатратной, и она показала удовлетворительные результаты.
Другим значимым применением TinyML является отрасль самоходных и автономных транспортных средств из-за нехватки ресурсов и вычислительной мощности на борту. Для решения этой проблемы разработчики представили метод закрытой петли обучения, построенный на модели TinyCNN, который предложил модель предсказателя в реальном времени, которая захватывает изображение во время выполнения. Основной проблемой, с которой столкнулись разработчики при реализации TinyML для автономного вождения, заключалась в том, что модель принятия решений, обученная для работы с офлайн-данными, может не работать так же хорошо, когда имеет дело с онлайн-данными. Для максимального использования возможностей автономных автомобилей и самоходных транспортных средств модель должна идеально адаптироваться к данным в реальном времени.
Классификация и Сжатие Шаблонов Данных
Одной из самых больших проблем текущего фреймворка TinyML является адаптация к онлайн-обучению. Для решения этой проблемы разработчики предложили метод, известный как TinyOL или онлайн-обучение TinyML, для обучения с помощью инкрементального онлайн-обучения на микроконтроллерах, что позволяет модели обновляться на устройствах edge IoT. Реализация была достигнута с помощью языка программирования C++, и был добавлен дополнительный слой к архитектуре TinyOL.
Кроме того, разработчики также выполнили авто-кодирование платы Arduino Nano 33 BLE, и обученная модель смогла классифицировать новые шаблоны данных. Кроме того, работа по разработке включала проектирование эффективных и более оптимизированных алгоритмов для нейронных сетей для поддержки онлайн-обучения на устройствах.
Исследования по TinyOL и TinyML показали, что количество слоев активации было серьезной проблемой для устройств IoT с ограниченными ресурсами. Для решения этой проблемы разработчики представили новую модель TinyTL или переносного обучения TinyML для более эффективного использования памяти на устройствах edge IoT и избежания использования промежуточных слоев для целей активации. Кроме того, разработчики также представили новый модуль смещения, известный как “модуль остаточных значений”, для максимального повышения адаптационных возможностей и, таким образом, позволяющий извлекателям функций обнаруживать остаточные карты функций.
По сравнению с тонкой настройкой полной сети, результаты были в пользу архитектуры TinyTL, поскольку результаты показали, что TinyTL снижает накладные расходы на память примерно на 6,5 раза с умеренной потерей точности. Когда была выполнена тонкая настройка последнего слоя, TinyML повысила точность на 34% с умеренной потерей точности.
Кроме того, исследования по сжатию данных показали, что алгоритмы сжатия данных должны управлять собранными данными на портативном устройстве, и для достижения этого разработчики предложили TAC или сжиматель аномалий TinyML. TAC смог превзойти алгоритмы SDT или метод двери-качели и DCT или дискретное косинусное преобразование. Кроме того, алгоритм TAC превзошел оба алгоритма SDT и DCT, достигнув максимального коэффициента сжатия более 98% и имея лучшее соотношение пик-сигнал-шум среди трех алгоритмов.
Диагностика Здоровья
Пандемия COVID-19 открыла новые возможности для реализации TinyML, поскольку теперь важно непрерывно обнаруживать респираторные симптомы, связанные с кашлем и простудой. Для обеспечения бесперебойного мониторинга разработчики предложили модель CNN Tiny RespNet, которая работает в многомодальном режиме, и модель развернута на FPGA Xilinx Artix-7 100t, которая позволяет устройству обрабатывать информацию параллельно, имеет высокую эффективность и низкое энергопотребление. Кроме того, модель TinyResp также принимает речь пациентов, аудиозаписи и демографическую информацию в качестве входных данных для классификации и симптомы, связанные с кашлем, классифицируются с помощью трех различных наборов данных.
Кроме того, разработчики также предложили модель, способную выполнять глубокие вычисления на устройствах edge, модель TinyML под названием TinyDL. Модель TinyDL может быть развернута на устройствах edge, таких как умные часы и носимые устройства, для диагностики здоровья и также способна выполнять анализ производительности для снижения пропускной способности, задержки и энергопотребления. Для развертывания модели TinyDL на портативных устройствах был разработан и обучен модель LSTM, и он был подан на собранные данные в качестве входных данных. Модель имеет точность около 75-80%, и она смогла работать с данными вне устройства.
Наконец, разработчики также предложили другое применение для мониторинга здоровья пожилых людей путем оценки и анализа их поз тела. Модель использует агностическую платформу на устройстве, которая позволяет модели включить проверку и быстрое воспитание для выполнения адаптаций. Модель реализовала алгоритмы обнаружения поз тела, связанные с ориентирами лица, для обнаружения пространственно-временных поз тела в реальном времени.
Edge-Вычисления
Одним из основных применений TinyML является область edge-вычислений, поскольку с ростом использования IoT-устройств для подключения устройств по всему миру, важно устанавливать устройства edge, что поможет снизить нагрузку на облачные архитектуры. Эти устройства edge будут иметь отдельные центры данных, которые позволят им выполнять высокоуровневые вычисления на самом устройстве, а не полагаться на облачную архитектуру. В результате это поможет снизить зависимость от облака, снизить задержку, повысить безопасность и конфиденциальность пользователей, а также снизить пропускную способность.
Устройства edge, использующие алгоритмы TinyML, помогут решить текущие ограничения, связанные с энергопотреблением, вычислениями и требованиями к памяти, и это обсуждается на изображении ниже.

Кроме того, TinyML также может повысить использование и применение беспилотных летательных аппаратов (БЛА) или дронов, решая текущие ограничения, с которыми сталкиваются эти машины. Использование TinyML может позволить разработчикам реализовать энергоэффективное устройство с низкой задержкой и высокой вычислительной мощностью, которое может действовать как контроллер для этих БЛА.
Интерфейс Мозг-Компьютер или БКИ
TinyML имеет значительные применения в здравоохранении, и он может быть非常 полезен в различных областях, включая обнаружение рака и опухолей, прогнозирование здоровья с помощью сигналов ЭКГ и ЭЭГ, а также эмоциональный интеллект. Использование TinyML может позволить адаптивной глубокой стимуляции мозга (аDBS) адаптироваться успешно к клиническим адаптациям. Использование TinyML также может позволить аDBS обнаруживать биомаркеры, связанные с заболеваниями, и их симптомы, используя инвазивные записи сигналов мозга.
Кроме того, отрасль здравоохранения часто включает сбор большого количества данных пациента, и эти данные затем необходимо обработать для достижения конкретных решений для лечения пациента на ранних стадиях заболевания. В результате важно построить систему, которая не только высокоэффективна, но и высоко безопасна. Когда мы объединяем приложения IoT с моделью TinyML, рождается новая область, называемая Healthcare IoT (H-IoT), и основные применения H-IoT включают диагностику, мониторинг, логистику, контроль распространения и вспомогательные системы. Если мы хотим разработать устройства, которые могут обнаруживать и анализировать здоровье пациента удаленно, важно разработать систему, которая имеет глобальную доступность и низкую задержку.

Самоходные Транспортные Средства
Наконец, TinyML может иметь широкое применение в отрасли самоходных транспортных средств, поскольку эти транспортные средства могут быть использованы различными способами, включая отслеживание человека, военные цели и промышленные применения. Эти транспортные средства имеют основное требование – способность эффективно обнаруживать объекты, когда объект ищется.
На данный момент самоходные транспортные средства и автономное вождение являются довольно сложной задачей, особенно при разработке мини- или небольших транспортных средств. Недавние разработки показали потенциал для улучшения применения автономного вождения для мини-транспортных средств с помощью архитектуры CNN и развертывания модели на микроконтроллере GAP8 MCI.
Проблемы
TinyML – это относительно новая концепция в отрасли ИИ и МО, и, несмотря на прогресс, она еще не так эффективна, как нам нужно для массового развертывания на устройствах edge и IoT.
Самой большой проблемой, с которой сталкиваются устройства TinyML в настоящее время, является энергопотребление. Идеально, встроенные устройства edge и IoT должны иметь срок службы батареи, превышающий 10 лет. Например, в идеальных условиях устройство IoT, работающее от батареи 2Ач, должно иметь срок службы батареи более 10 лет, учитывая, что энергопотребление устройства составляет около 12 мкА. Однако, в данном состоянии, архитектура IoT с датчиком температуры, блоком MCU и модулем Wi-Fi имеет энергопотребление около 176,4 мА, и при таком энергопотреблении батарея будет работать только около 11 часов, вместо требуемых 10 лет срока службы батареи.
Ограничения Ресурсов
Для поддержания согласованности алгоритма важно поддерживать доступность энергии, и, учитывая текущую ситуацию, ограниченная доступность энергии для устройств TinyML является критической проблемой. Кроме того, ограничения памяти также являются значительной проблемой, поскольку развертывание моделей часто требует большого количества памяти для эффективной и точной работы.
Ограничения Аппаратуры
Ограничения аппаратуры делают развертывание алгоритмов TinyML на широком масштабе затруднительным из-за гетерогенности аппаратных устройств. Существует тысячи устройств, каждое со своими аппаратными спецификациями и требованиями, и, в результате, алгоритм TinyML в настоящее время необходимо настраивать для каждого отдельного устройства, что делает массовое развертывание серьезной проблемой.
Ограничения Наборов Данных
Одной из основных проблем моделей TinyML является то, что они не поддерживают существующие наборы данных. Это проблема для всех устройств edge, поскольку они собирают данные с помощью внешних датчиков, и эти устройства часто имеют ограничения энергии и мощности. Следовательно, существующие наборы данных не могут быть использованы для эффективного обучения моделей TinyML.
Заключительные Мысли
Разработка методов МО вызвала революцию и сдвиг перспективы в экосистеме IoT. Интеграция моделей МО в устройства IoT позволит этим устройствам edge принимать умные решения самостоятельно, без внешнего человеческого вмешательства. Однако, традиционно, модели МО часто имеют высокие требования к энергии, памяти и вычислительной мощности, что делает их непригодными для развертывания на устройствах edge, которые часто ограничены ресурсами.
В результате, была посвящена новая ветвь ИИ использованию МО для устройств IoT, и она была названа TinyML. TinyML – это фреймворк МО, который позволяет даже ресурсо-ограниченным устройствам использовать силу ИИ и МО для обеспечения более высокой точности, интеллекта и эффективности.
В этой статье мы говорили об реализации моделей TinyML на ресурсо-ограниченных устройствах IoT, и эта реализация требует обучения моделей, развертывания моделей на аппаратуре и выполнения методов квантования. Однако, учитывая текущий объем, модели МО, готовые к развертыванию на устройствах IoT и edge, имеют несколько сложностей и ограничений, включая аппаратные и фреймворк-компатибельные проблемы.












