Découvrez comment l'observabilité améliore les systèmes d'IA/ML comme Ultralytics YOLO. Obtenez des informations, optimisez les performances et garantissez la fiabilité dans des applications réelles.
L'observabilité fournit des informations essentielles sur le comportement et les performances des systèmes complexes, particulièrement vitales dans le domaine dynamique de l'intelligence artificielle (IA) et de l'apprentissage automatique (ML). Pour les utilisateurs qui travaillent avec des modèles sophistiqués comme Ultralytics YOLO, la compréhension de l'état interne des applications déployées à travers leurs sorties externes est essentielle pour maintenir la fiabilité, optimiser les performances et garantir la fiabilité dans les applications du monde réel. Cela permet de combler le fossé entre le développement du modèle et le succès opérationnel.
L'observabilité est la capacité de mesurer et de comprendre les états internes d'un système en examinant ses sorties, telles que les journaux, les mesures et les traces. Contrairement à la surveillance traditionnelle, qui se concentre généralement sur des tableaux de bord prédéfinis et des modes de défaillance connus (par exemple, l'utilisation du processeur, les taux d'erreur), l'observabilité permet aux équipes d'explorer de manière proactive le comportement du système et de diagnostiquer de nouveaux problèmes - même ceux qui n'ont pas été anticipés pendant le développement. Dans le contexte des MLOps (Machine Learning Operations), elle permet de poser des questions plus approfondies sur les raisons pour lesquelles un système se comporte d'une certaine manière, ce qui est crucial pour la nature itérative du développement et du déploiement des modèles de ML. Il s'agit de gagner en visibilité dans les systèmes complexes, y compris les modèles d'apprentissage profond.
La complexité et la nature souvent "boîte noire" des modèles d'apprentissage profond rendent l'observabilité indispensable. Les principales raisons sont les suivantes :
Bien qu'elles soient liées, l'observabilité et la surveillance diffèrent en termes de portée et d'objectif. La surveillance implique la collecte et l'analyse de données relatives à des paramètres prédéfinis afin de suivre l'état du système par rapport à des points de référence connus (par exemple, le suivi du score mAP d'un modèle de détection d'objets déployé). Elle répond à des questions telles que "Le système est-il opérationnel ?" ou "Le taux d'erreur est-il inférieur à X ?". La surveillance des modèles est un type spécifique de surveillance axée sur les modèles ML en production.
L'observabilité, quant à elle, utilise les données de sortie (journaux, mesures, traces - souvent appelés les"trois piliers de l'observabilité") pour permettre une analyse exploratoire plus approfondie. Elle vous permet de comprendre le "pourquoi" des états du système, en particulier des états inattendus. Pour la surveillance, il s'agit de consulter un tableau de bord signalant les problèmes connus, tandis que l'observabilité fournit les outils (comme l'interrogation des journaux ou le traçage des requêtes) permettant d'enquêter sur toute anomalie, connue ou inconnue. Elle facilite le débogage des systèmes complexes.
L'observabilité repose sur trois types principaux de données télémétriques :
Les pratiques d'observabilité sont essentielles dans les déploiements sophistiqués d'IA/ML :
La mise en œuvre de l'observabilité implique souvent des outils et des plateformes spécialisés. Les solutions open-source telles que Prometheus (métriques), Grafana (visualisation), Loki (logs), et Jaeger ou Zipkin (traçage) sont populaires. OpenTelemetry fournit un standard neutre pour l'instrumentation. Des plateformes commerciales comme Datadog, New Relic et Dynatrace offrent des solutions intégrées. Les plateformes MLOps telles que MLflow, Weights & Biases et ClearML comprennent souvent des fonctions de suivi des expériences et de surveillance des modèles, contribuant ainsi à l'observabilité globale du système. Ultralytics HUB facilite la gestion des cycles d'entraînement, des ensembles de données et des modèles déployés, en s'intégrant à des outils tels que TensorBoard pour la visualisation des mesures, ce qui est un aspect clé de l'observabilité pendant la phase d'entraînement du modèle.