Познакомьтесь с технологией TinyML и научитесь развертывать Ultralytics на микроконтроллерах с низким энергопотреблением. Узнайте, как оптимизировать модели для Интернета вещей с помощью квантования и Ultralytics .
Миниатюрное машинное обучение, широко известное как TinyML, представляет собой специализированную область машинного обучения, которая направлена на развертывание моделей на устройствах с крайне низким энергопотреблением и ограниченными ресурсами, таких как микроконтроллеры и небольшие устройства Интернета вещей (IoT). В отличие от традиционных облачных систем, опирающихся на огромные вычислительные ресурсы, TinyML работает исключительно на периферии. За счет запуска интеллектуальных алгоритмов локально на устройствах с ограниченным энергопотреблением, часто измеряемым всего в милливаттах, этот подход минимизирует задержку, обеспечивает конфиденциальность данных и резко сокращает использование пропускной способности — парадигма, поддерживаемая и развиваемая такими сообществами, как TinyML Foundation.
Чтобы успешно адаптировать сложные архитектуры нейронных сетей к аппаратному обеспечению с жесткими ограничениями, такому как процессоры ARM Cortex-M, модели должны пройти тщательную оптимизацию. Для значительного сокращения общего объема занимаемой памяти используются такие методы, как квантование модели— преобразование 32-разрядных весов с плавающей запятой в 8-разрядные целые числа — и обрезание модели. Сегодня специализированные фреймворки, такие как TensorFlow for Microcontrollers Google и ExecuTorch PyTorch, упрощают эти точные рабочие процессы сжатия, привнося передовые возможности визуального и аудиоинтеллекта в повседневное встроенное оборудование.
Хотя TinyML тесно связано с Edge AI, основное различие заключается в масштабах аппаратного обеспечения и энергопотреблении. Edge AI — это более широкий термин, охватывающий любое локальное выполнение моделей искусственного интеллекта, часто с использованием одноплатных компьютеров, таких как Raspberry Pi, или надежных встроенных графических процессоров, таких как NVIDIA . В отличие от этого, TinyML специально ориентирован на глубоко встроенные системы, работающие от батарей в течение месяцев или лет, такие как платы Arduino или чипы STMicroelectronics. Эти устройства обычно имеют всего несколько сотен килобайт оперативной памяти, что делает обязательным агрессивное сжатие моделей.
Возможность развертывания интеллектуальных систем непосредственно на минимальном аппаратном обеспечении открыла множество практических вариантов применения в различных отраслях:
Подготовка модели для микроконтроллера требует строгого соблюдения формата экспорта. С помощью Ultralytics разработчики могут создавать надежные конвейеры обнаружения объектов и сжимать их для встраиваемых систем. Вы можете легко управлять набором данных и версиями моделей на Ultralytics перед экспортом на локальный компьютер. Встроенная TFLite позволяет без труда конвертировать модели в 8-битные целочисленные форматы, необходимые для микроконтроллеров, дополняя другие аппаратные варианты развертывания моделей, такие как CoreML, Google Edge TPU и NVIDIA TensorRT.
В следующем примере показано, как экспортировать облегченную модель 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)
Начните свой путь в будущее машинного обучения