Observabilité
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é est la pratique qui consiste à concevoir et à instrumenter des systèmes pour fournir des données de haute fidélité sur leur état interne, permettant aux équipes d'explorer, de déboguer et de comprendre efficacement leur comportement. Dans le contexte de l'intelligence artificielle (IA) et de l'apprentissage automatique (ML), elle va au-delà de la simple surveillance pour permettre une compréhension approfondie des modèles complexes et des pipelines de données. Au lieu de se contenter de suivre des mesures de performance prédéfinies, un système observable fournit des données riches et explorables qui vous permettent de poser de nouvelles questions et de diagnostiquer des problèmes inconnus après le déploiement du modèle.
Observabilité ou surveillance
Bien qu'elles soient souvent utilisées ensemble, l'observabilité et la surveillance des modèles sont des concepts distincts.
- La surveillance consiste à collecter et à analyser des données afin de détecter les modes de défaillance connus. Vous définissez des alertes pour des seuils spécifiques prédéfinis, tels qu'un taux d'erreur supérieur à 5 % ou une latence d'inférence supérieure à 200 ms. Cela vous permet de savoir si quelque chose ne va pas.
- L'observabilité est une propriété du système qui vous permet de comprendre pourquoi quelque chose ne va pas, même si vous n'avez jamais vu le problème auparavant. Elle utilise des journaux détaillés, des mesures et des traces pour permettre une analyse exploratoire et l'identification de la cause première. Un système observable est un système que vous pouvez déboguer sans avoir à livrer un nouveau code pour recueillir davantage d'informations. Cette capacité est essentielle pour gérer la nature imprévisible des systèmes d'intelligence artificielle en production.
Les trois piliers de l'observabilité
L'observabilité repose généralement sur trois types de données télémétriques :
- Les journaux : Il s'agit d'enregistrements immuables et horodatés d'événements. Dans les systèmes de ML, les journaux peuvent contenir des demandes de prédiction individuelles, des erreurs de validation des données ou des modifications de la configuration du système. Alors que la journalisation traditionnelle peut être un simple texte, la journalisation structurée (par exemple au format JSON ) facilite grandement l'interrogation et l'analyse des journaux à grande échelle.
- Les métriques : Il s'agit de représentations numériques de données mesurées dans le temps. Les principales mesures dans les systèmes de ML comprennent la précision du modèle, le débit de prédiction, l'utilisation du CPU/GPU et l'utilisation de la mémoire. Les bases de données de séries temporelles telles que Prometheus sont couramment utilisées pour stocker et interroger ces données.
- Traces : Les traces fournissent une vue détaillée d'une demande ou d'une transaction unique qui passe par tous les composants d'un système. Dans un pipeline de vision par ordinateur, une trace pourrait suivre une seule image depuis l'ingestion et le prétraitement jusqu'à l'inférence du modèle et le post-traitement, en montrant le temps passé à chaque étape. C'est un outil précieux pour repérer les goulets d'étranglement et les erreurs dans les systèmes distribués.
Pourquoi l'observabilité est cruciale pour les systèmes d'IA
Les modèles d'apprentissage profond peuvent être très complexes et opaques, ce qui rend difficile la compréhension de leur comportement dans le monde réel. L'observabilité est essentielle pour :
- Débogage et dépannage : Lorsqu'un modèle comme Ultralytics YOLO11 fait une prédiction incorrecte, les outils d'observabilité peuvent aider à retracer les données d'entrée et les activations du modèle pour en comprendre la cause.
- Détection de la dérive : Les modèles d'IA peuvent se dégrader au fil du temps en raison de la dérive des données (lorsque la distribution des données de production change par rapport aux données d'apprentissage) ou de la dérive des concepts. L'observabilité permet de détecter ces changements en surveillant la distribution des données et les performances du modèle.
- Garantir la confiance et l'équité : Dans les applications sensibles telles que l'IA dans le domaine de la santé, l'observabilité favorise l'IA explicable (XAI) et la transparence de l'IA en fournissant une piste d'audit claire des décisions du modèle. Ceci est crucial pour la conformité réglementaire et l'établissement de la confiance avec les parties prenantes.
- Optimisation des performances : En suivant l'utilisation des ressources et la latence, les équipes peuvent optimiser l'efficacité du modèle et réduire les coûts opérationnels, ce qui est un objectif clé de MLOps.
Applications dans le monde réel
- Véhicules autonomes : Un véhicule autonome utilise un modèle de perception pour la détection d'objets en temps réel. L'outil d'observabilité retrace l'image d'une caméra à travers l'ensemble du système, du capteur à la décision. Si le véhicule ne détecte pas un piéton au crépuscule, les ingénieurs peuvent utiliser les traces pour voir si la latence dans l'étape de prétraitement de l'image en est la cause. Ils peuvent également analyser les indicateurs de confiance de détection à différents moments de la journée afin d'identifier les problèmes systémiques.
- Gestion des stocks dans le commerce de détail : Un système de vente au détail intelligent utilise des caméras pour surveiller les stocks en rayon. Une plateforme d'observabilité suit le nombre de produits détectés par rayon, la fréquence des appels à l'API et la latence des prédictions. Si le système signale des niveaux de stock incorrects pour un produit particulier, les développeurs peuvent filtrer les traces pour l'UGS de ce produit, inspecter les images enregistrées et les scores de prédiction, et déterminer si un mauvais éclairage ou un emballage inhabituel est à l'origine du problème. Cela permet un diagnostic rapide et un réentraînement avec une meilleure augmentation des données.