TinyML
Explore TinyML et apprends à déployer Ultralytics YOLO26 sur des microcontrôleurs basse consommation. Découvre comment optimiser les modèles pour l'IoT avec la quantification et la plateforme Ultralytics.
Le "tiny machine learning", souvent appelé TinyML, représente un sous-domaine spécialisé de l'apprentissage automatique qui se concentre sur le déploiement de modèles sur des appareils ultra-basse consommation aux ressources limitées, tels que des microcontrôleurs et de petits objets connectés (IoT). Contrairement aux systèmes traditionnels basés sur le cloud qui s'appuient sur d'immenses ressources informatiques, le TinyML fonctionne entièrement à la périphérie (edge). En exécutant des algorithmes intelligents localement sur des appareils dont la consommation électrique se mesure souvent en 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 comme la TinyML Foundation.
Pour intégrer avec succès des architectures de réseaux de neurones complexes sur du matériel très limité tel que les processeurs ARM Cortex-M, les modèles doivent subir une optimisation rigoureuse. Des techniques telles que la quantification de modèle — qui convertit les poids en virgule flottante 32 bits en entiers 8 bits — et l' élagage de modèle sont utilisées pour réduire considérablement l'empreinte mémoire globale. Aujourd'hui, des frameworks spécialisés comme TensorFlow Lite for Microcontrollers de Google et ExecuTorch de PyTorch facilitent ces flux de travail de compression précis, apportant une intelligence visuelle et auditive avancée au matériel embarqué quotidien.
Link to this sectionTinyML vs Edge AI#
Bien que le TinyML soit étroitement lié à l'Edge AI, la principale distinction réside dans l'échelle du matériel et le budget énergétique. L'Edge AI 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 Jetson. En revanche, le TinyML cible spécifiquement les systèmes profondément embarqués qui fonctionnent sur batterie pendant des mois ou des années, tels que les cartes Arduino ou les puces STMicroelectronics. Ces appareils ne possèdent généralement que quelques centaines de kilo-octets de RAM, ce qui rend une compression agressive du modèle obligatoire.
Link to this sectionApplications concrètes#
La capacité de déployer l'intelligence directement sur du matériel minimal a ouvert de nombreux cas d'utilisation pratiques dans diverses industries :
- Maintenance prédictive dans la fabrication intelligente : Les usines déploient des capteurs de vibration et audio ultra-basse consommation directement sur les machines. Ces capteurs TinyML analysent en continu les fréquences des moteurs pour détecter des anomalies subtiles indiquant une défaillance imminente, permettant aux équipes de maintenance de résoudre les problèmes avant qu'un temps d'arrêt coûteux ne survienne.
- Agriculture de précision intelligente : Des appareils TinyML fonctionnant sur batterie sont dispersés dans de vastes champs de culture pour surveiller les conditions environnementales localisées et détecter les premiers signes d'infestations de nuisibles ou de maladies à l'aide de modules caméra basiques, transmettant uniquement des alertes légères plutôt que des fichiers image lourds.
- Surveillance audio pour la conservation de la faune : Les chercheurs utilisent des réseaux de capteurs acoustiques cachés, alimentés par le TinyML, pour détecter les sons spécifiques d'espèces menacées ou d'activités d'abattage illégal (comme les tronçonneuses) dans les forêts denses. Fonctionnant à l'énergie solaire ou sur batterie, ces appareils analysent l'audio localement et déclenchent instantanément des alertes longue portée.
Link to this sectionExporter des modèles pour le TinyML#
La préparation d'un modèle pour un microcontrôleur nécessite un formatage d'exportation strict. En utilisant Ultralytics YOLO26, tu peux construire des pipelines de détection d'objets robustes et les compresser pour des cibles embarquées. Tu peux gérer ton jeu de données et le versioning de tes modèles en toute fluidité sur la plateforme Ultralytics avant d'exporter localement. L'intégration native TFLite permet une conversion facile vers les formats d'entiers 8 bits requis par les microcontrôleurs, complétant d'autres options de déploiement de modèles spécifiques au matériel comme CoreML d'Apple, Edge TPU de Google et TensorRT de NVIDIA.
L'exemple suivant montre comment exporter un modèle YOLO26 léger spécifiquement optimisé avec la quantification INT8, le rendant adapté au déploiement sur des plateformes edge compatibles avec le 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)





