Découvrez le TinyML et apprenez à déployer Ultralytics sur des microcontrôleurs à faible consommation. Découvrez comment optimiser les modèles pour l'IoT grâce à la quantification et à la Ultralytics .
Le « Tiny Machine Learning », communément appelé TinyML, est un sous-domaine spécialisé de l'apprentissage automatique qui se concentre sur le déploiement de modèles sur des appareils à très faible consommation d'énergie et aux ressources limitées, tels que les microcontrôleurs et les petits appareils IoT. Contrairement aux systèmes traditionnels basés sur le cloud qui s'appuient sur d'immenses ressources de calcul, le TinyML fonctionne entièrement en périphérie. En exécutant des algorithmes intelligents localement sur des appareils dont la consommation d'énergie est souvent de l'ordre de quelques milliwatts, cette approche minimise la latence, garantit la confidentialité des données et réduit considérablement l'utilisation de la bande passante, un paradigme soutenu et promu par des communautés telles que la Fondation TinyML.
Pour réussir à adapter des architectures de réseaux neuronaux complexes à du matériel soumis à des contraintes élevées, tel que les processeurs ARM Cortex-M, les modèles doivent faire l'objet d'une optimisation rigoureuse. Des techniques telles que la quantification des modèles— qui convertit les poids en virgule flottante 32 bits en entiers 8 bits — et l'élagage des modèles sont utilisées pour réduire considérablement l' empreinte mémoire globale. Aujourd'hui, des frameworks spécialisés tels que TensorFlow for Microcontrollers Google et ExecuTorch PyTorch facilitent ces workflows de compression précis, apportant une intelligence visuelle et auditive avancée au matériel embarqué de tous les jours.
Si le TinyML est étroitement lié à l'IA en périphérie, la principale différence réside dans l'échelle matérielle et la consommation énergétique. L'IA en périphérie est un terme plus large qui englobe toute exécution locale de modèles d'IA, utilisant souvent des ordinateurs monocarte comme un Raspberry Pi ou des GPU embarqués robustes comme un NVIDIA . En revanche, le TinyML vise spécifiquement les systèmes profondément embarqués qui fonctionnent sur batterie pendant des mois, voire des années, tels que les cartes Arduino ou les puces STMicroelectronics. Ces appareils ne disposent généralement que de quelques centaines de kilo-octets de RAM, ce qui rend indispensable une compression intensive des modèles.
La possibilité de déployer des systèmes intelligents directement sur du matériel minimal a ouvert la voie à de nombreux cas d'utilisation concrets dans divers secteurs :
La préparation d'un modèle pour un microcontrôleur nécessite un formatage d'exportation rigoureux. Grâce à Ultralytics , les développeurs peuvent créer des pipelines robustes de détection d'objets et les compresser pour des cibles embarquées. Vous pouvez gérer votre ensemble de données et le versionnage de vos modèles en toute transparence sur la Ultralytics avant de les exporter localement. TFLite native TFLite permet une conversion sans effort vers les formats entiers 8 bits requis pour les microcontrôleurs, complétant ainsi d'autres options de déploiement de modèles spécifiques au matériel telles que CoreML, l' Edge TPU Google et NVIDIA TensorRT.
L'exemple suivant montre comment exporter un modèle YOLO26 allégé, spécialement optimisé avec une quantification en INT8, ce qui le rend adapté au déploiement sur des plateformes périphériques compatibles 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)
Commencez votre parcours avec l'avenir de l'apprentissage automatique