Inférence en temps réel
Découvrez comment l'inférence en temps réel avec Ultralytics YOLO permet des prédictions instantanées pour les applications d'IA comme la conduite autonome et les systèmes de sécurité.
L'inférence en temps réel est le processus d'utilisation d'un modèle d'apprentissage automatique (ML) entraîné pour faire des prédictions sur de nouvelles données en direct avec un délai minimal. Dans le contexte de l'IA et de la vision par ordinateur (CV), cela signifie que le système peut traiter des informations, comme un flux vidéo, et générer une sortie presque instantanément. L'objectif est de rendre la latence d'inférence suffisamment faible pour que les résultats soient immédiatement utiles à la prise de décision. Cette capacité est essentielle pour les applications où le timing est critique, transformant la façon dont les industries, de l'automobile à la santé, exploitent l'IA.
Inférence en temps réel vs. Inférence par lots
Il est important de distinguer l'inférence en temps réel de l'inférence par lots. La principale différence réside dans la façon dont les données sont traitées.
- Inférence en Temps Réel : Traite les données au fur et à mesure qu'elles sont générées ou reçues, généralement une entrée ou un petit flux à la fois. La priorité est de minimiser le délai (latence) entre l'entrée et la sortie. Ceci est essentiel pour les systèmes interactifs et sensibles au temps.
- Inférence par lot : Implique la collecte de données sur une période et leur traitement simultané en un grand lot. Cette approche privilégie la maximisation du débit (la quantité de données traitées au fil du temps) plutôt que la minimisation de la latence. Le traitement par lot est adapté aux tâches non urgentes telles que la génération de rapports quotidiens ou l'analyse périodique de grands ensembles de données.
Bien que les deux utilisent un modèle entraîné pour faire des prédictions, leurs cas d'utilisation sont fondamentalement différents en fonction de l'urgence des résultats.
Applications dans le monde réel
La capacité de prendre des décisions instantanées permet un large éventail d'applications puissantes dans divers secteurs.
- Systèmes autonomes : Dans les voitures autonomes, l'inférence en temps réel est une question de sécurité. Les modèles doivent effectuer une détection d'objets pour identifier les piétons, les autres véhicules et les panneaux de signalisation en quelques millisecondes afin de naviguer en toute sécurité et d'éviter les collisions. De même, les drones et les robots s'en servent pour la navigation et l'interaction avec leur environnement.
- Fabrication intelligente : Sur une chaîne de production, des caméras équipées d'IA peuvent effectuer un contrôle de la qualité en temps réel. Un modèle comme Ultralytics YOLO11 peut détecter les défauts des produits se déplaçant sur une bande transporteuse, ce qui permet de les retirer immédiatement. Il s'agit d'un élément essentiel de l'IA dans la fabrication moderne.
- Santé interactive : Au cours d'une intervention chirurgicale, un modèle pourrait analyser la vidéo en direct d'une caméra pour fournir des conseils en temps réel au chirurgien. Dans les contextes de diagnostic, l'analyse d'images médicales en temps réel peut aider les médecins à identifier plus rapidement les anomalies lors des examens en direct.
- Surveillance intelligente : Les systèmes de sécurité modernes utilisent l'inférence en temps réel pour analyser les flux vidéo et identifier les menaces potentielles, telles que les entrées non autorisées ou les colis abandonnés, déclenchant des alertes immédiates. Cela va au-delà du simple enregistrement pour une surveillance active et intelligente.
Atteindre une performance en temps réel
Faire en sorte que les modèles s'exécutent assez rapidement pour les applications d'informatique en temps réel nécessite souvent une optimisation importante :
- Optimisation du modèle : Les techniques telles que la quantification du modèle (réduction de la précision des poids du modèle) et l'élagage du modèle (suppression des parties redondantes du modèle) réduisent la charge de calcul et l'utilisation de la mémoire.
- Accélération matérielle : L'utilisation de matériel spécialisé tel que les GPU, les TPU (Tensor Processing Units), ou des accélérateurs d'IA dédiés sur des appareils edge (par exemple, NVIDIA Jetson, Google Coral Edge TPU) peut considérablement accélérer les calculs. L'Edge computing est lui-même crucial pour traiter les données localement avec un délai minimal.
- Moteurs d'inférence efficaces: Les bibliothèques logicielles et les environnements d'exécution tels que TensorRT, OpenVINO, ONNX Runtime, et les frameworks tels que PyTorch ou TensorFlow fournissent des chemins d'exécution optimisés pour les modèles entraînés. Un moteur d'inférence est spécialement conçu pour exécuter efficacement des modèles à des fins de prédiction.
Les modèles comme Ultralytics YOLO sont conçus dans un souci d'efficacité et de précision, ce qui les rend bien adaptés aux tâches de détection d'objets en temps réel. Les plateformes comme Ultralytics HUB fournissent des outils pour entraîner, optimiser (par exemple, exporter vers les formats ONNX ou TensorRT) et déployer des modèles, facilitant ainsi la mise en œuvre de solutions d'inférence en temps réel dans diverses options de déploiement.