TinyML
Изучи TinyML и узнай, как развёртывать Ultralytics YOLO26 на микроконтроллерах с низким энергопотреблением. Узнай, как оптимизировать модели для IoT с помощью квантования и Ultralytics Platform.
Машинное обучение на маломощных устройствах, обычно называемое TinyML, представляет собой специализированное направление машинного обучения, ориентированное на развертывание моделей на устройствах со сверхнизким энергопотреблением и ограниченными ресурсами, таких как микроконтроллеры и небольшие устройства IoT. В отличие от традиционных облачных систем, зависящих от огромных вычислительных ресурсов, TinyML полностью работает на периферии. Локальное выполнение интеллектуальных алгоритмов на устройствах, потребляющих всего несколько милливатт, позволяет минимизировать задержку, обеспечить конфиденциальность данных и существенно снизить использование пропускной способности — этот подход поддерживают и развивают такие сообщества, как TinyML Foundation.
Чтобы успешно разместить сложные архитектуры нейронных сетей на аппаратном обеспечении с жесткими ограничениями, таком как процессоры ARM Cortex-M, модели должны пройти тщательную оптимизацию. Для значительного уменьшения общего объема памяти применяются такие методы, как квантизация модели, преобразующая 32-битные веса с плавающей точкой в 8-битные целые числа, и прунинг модели. Сегодня специализированные фреймворки, такие как TensorFlow Lite для микроконтроллеров от Google и ExecuTorch от PyTorch, упрощают эти точные процессы сжатия, обеспечивая современным встроенным устройствам расширенные возможности обработки визуальной и звуковой информации.
TinyML и Edge AI#
Хотя TinyML тесно связан с Edge AI, ключевое различие заключается в масштабе оборудования и доступном энергобюджете. Edge AI — более широкий термин, охватывающий локальное выполнение любых моделей ИИ, часто на одноплатных компьютерах, таких как Raspberry Pi, или на производительных встроенных GPU, таких как NVIDIA Jetson. В отличие от этого, TinyML предназначен именно для глубоко встроенных систем, работающих от батарей месяцами или годами, например плат Arduino или чипов STMicroelectronics. Такие устройства обычно располагают всего несколькими сотнями килобайт RAM, поэтому агрессивное сжатие моделей становится обязательным.
Практические применения#
Возможность развертывать интеллектуальные функции непосредственно на минимальном по ресурсам оборудовании открыла множество практических вариантов применения в различных отраслях:
- Прогнозное обслуживание в умном производстве: На предприятиях сверхэкономичные вибрационные и аудиосенсоры устанавливают непосредственно на оборудование. Эти сенсоры TinyML непрерывно анализируют частоты работы двигателей, чтобы выявлять малозаметные аномалии, указывающие на возможную неисправность, позволяя ремонтным бригадам устранять проблемы до возникновения дорогостоящих простоев.
- Умное точное земледелие: Работающие от батарей устройства TinyML распределяют по обширным сельскохозяйственным полям для мониторинга локальных условий окружающей среды и раннего обнаружения признаков нашествия вредителей или заболеваний с помощью простых модулей камер. Вместо больших файлов изображений они передают только небольшие уведомления.
- Аудиомониторинг для охраны дикой природы: Исследователи используют скрытые массивы акустических сенсоров на базе TinyML, чтобы обнаруживать характерные звуки исчезающих видов или незаконной вырубки леса, например работающих бензопил, в густых лесах. Эти устройства работают от солнечных батарей или аккумуляторов, локально анализируют аудиоданные и мгновенно инициируют передачу уведомлений на большие расстояния.
Экспорт моделей для TinyML#
Подготовка модели для микроконтроллера требует строгого соблюдения формата экспорта. С помощью Ultralytics YOLO26 разработчики могут создавать надежные конвейеры обнаружения объектов и сжимать их для встроенных целевых платформ. Перед локальным экспортом ты можешь удобно управлять наборами данных и версиями моделей на Ultralytics Platform. Встроенная интеграция с TFLite обеспечивает простное преобразование в 8-битные целочисленные форматы, необходимые микроконтроллерам, дополняя другие аппаратно-ориентированные варианты развертывания моделей, такие как CoreML от Apple, Edge TPU от Google и TensorRT от NVIDIA.
В следующем примере показано, как экспортировать легковесную модель Ultralytics YOLO26, специально оптимизированную с помощью INT8-квантизации, чтобы ее можно было развернуть на периферийных платформах, совместимых с TinyML:
from ultralytics import YOLO
# Initialize the lightweight YOLO26 Nano model for edge use cases
model = YOLO("yolo26n.pt")
# Export to TFLite format with INT8 quantization and a reduced image size
# This minimizes the memory footprint and accelerates inference on microcontrollers
model.export(format="tflite", int8=True, imgsz=160)





