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é permet aux équipes d'ingénieurs de déboguer activement et de comprendre les états internes des systèmes complexes sur la base de leurs sorties externes.
sur la base de leurs résultats externes. Dans les domaines en pleine évolution de l
l'intelligence artificielle (IA) et
l 'apprentissage automatique (ML), ce concept est essentiel pour aller au-delà des déploiements de "boîtes noires".
pour aller au-delà des déploiements de "boîtes noires". Alors que les tests de logiciels traditionnels permettent de vérifier la logique, les modèles d'intelligence artificielle fonctionnent de manière probabiliste.
fonctionnent de manière probabiliste, il est donc essentiel d'avoir des systèmes qui permettent aux développeurs d'étudier les causes profondes des prédictions inattendues, de la dégradation des performances et des problèmes de sécurité.
causes profondes des prédictions inattendues, de la dégradation des performances ou des défaillances après le déploiement du modèle.
après le déploiement du modèle.
Observabilité vs. Surveillance
Bien qu'ils soient souvent utilisés de manière interchangeable, ces termes représentent des approches distinctes de la fiabilité des systèmes.
-
Le suivi se concentre sur les "inconnues connues". Il s'agit de suivre des tableaux de bord prédéfinis
prédéfinis et des alertes pour des mesures telles que
la latence d'inférence ou les taux d'erreur. La surveillance
répond à la question "Le système est-il sain ?".
-
L'observabilité s'attaque aux "inconnues inconnues". Elle fournit les données granulaires nécessaires
pour poser des questions nouvelles et inattendues sur les raisons d'une défaillance spécifique. Comme le décrit le
Google SRE Book, un système observable
vous permet de comprendre les nouveaux comportements sans avoir à livrer un nouveau code. Il répond à la question "Pourquoi le système se comporte-t-il de cette façon ?
pourquoi le système se comporte-t-il de cette manière ?"
Les trois piliers de l'observabilité
Pour obtenir des informations approfondies, l'observabilité s'appuie sur trois types principaux de données télémétriques :
-
Journaux : Il s'agit d'enregistrements immuables et horodatés d'événements discrets. Dans un
vision par ordinateur (CV), un journal peut
capturer les dimensions de l'image d'entrée ou
la configuration du réglage des hyperparamètres.
La journalisation structurée, souvent au format JSON, facilite l'interrogation par des outils d'analyse de données tels que Splunk.
faciliter l'interrogation par des outils d'analyse de données tels que Splunk.
-
Métriques : Données numériques agrégées mesurées dans le temps, telles que
la précision, la consommation de mémoire ou
GPU ou l'utilisation du GPU. Des systèmes tels que
Prometheus sont largement utilisés pour stocker ces données chronologiques, ce qui permet aux équipes de
de visualiser les tendances.
-
Traces : Le traçage suit le cycle de vie d'une demande qui se propage à travers différents microservices.
Pour les applications d'IA distribuées, les outils conformes à OpenTelemetry peuvent cartographier
le chemin d'une requête, mettant en évidence les goulots d'étranglement dans le
moteur d'inférence ou les retards du réseau.
L'importance de l'observabilité dans l'IA
Le déploiement de modèles dans le monde réel pose des problèmes qui n'existent pas dans les environnements de formation contrôlés.
L'observabilité est essentielle pour :
-
Détecter la dérive des données : Au fil du temps, les données réelles peuvent s'écarter des
données de formation, un phénomène connu sous le nom de
dérive des données. Les outils d'observabilité visualisent les
d'entrée afin d'alerter les ingénieurs lorsqu'une nouvelle formation est nécessaire.
-
Garantir la sécurité de l'IA : Pour les domaines à fort enjeu, il est essentiel de comprendre les décisions des modèles pour garantir la sécurité de l'IA.
sécurité de l'IA. Les informations granulaires permettent d'auditer les décisions pour
pour s'assurer qu'elles sont conformes aux protocoles de
l'équité dans l'IA.
-
Optimisation des performances : En analysant les traces détaillées,
les équipes MLOps peuvent identifier
les calculs redondants ou les contraintes de ressources, ce qui permet d'optimiser les coûts et la vitesse.
-
Débogage des "boîtes noires" : Les modèles d'apprentissage profond sont souvent opaques. Les plateformes d'observabilité
comme Honeycomb permettent aux ingénieurs de découper des données de haute dimension pour
pourquoi un modèle a échoué dans un cas particulier.
Applications concrètes
L'observabilité joue un rôle essentiel pour garantir la fiabilité des solutions modernes d'IA dans tous les secteurs d'activité.
-
Véhicules autonomes : Dans le cadre du développement de
véhicules autonomes, l'observabilité permet aux
de reconstruire l'état exact du système lors d'un désengagement. En corrélant
les sorties de détection d'objets avec les journaux des capteurs et les commandes de contrôle, les équipes peuvent déterminer si une erreur de
les équipes peuvent déterminer si une erreur de freinage a été causée par le bruit du capteur ou par une erreur de prédiction du modèle.
-
les diagnostics de santé : En
l 'IA dans le secteur de la santé, la confiance
est primordiale. L'observabilité permet de s'assurer que les modèles d'imagerie médicale fonctionnent de manière cohérente sur les différentes machines de l'hôpital.
d'un hôpital à l'autre. Si les performances d'un modèle baissent, les traces peuvent révéler si le problème provient d'un changement dans la résolution de l'image ou d'un retard dans le pipeline de prétraitement des données.
d'un retard dans le pipeline de prétraitement des données, ce qui permet d'y remédier rapidement sans compromettre les soins aux patients.
Mise en œuvre de l'observabilité avec Ultralytics
Une observabilité efficace commence par un enregistrement approprié et un suivi des expériences. Les modèles Ultralytics s'intègrent parfaitement
avec des outils tels que MLflow,
Weights & Biaseset
TensorBoard pour enregistrer automatiquement les métriques, les
artefacts automatiquement.
L'exemple suivant montre comment former un
YOLO11 tout en organisant les journaux dans une structure de projet
spécifique, qui est la base de l'observabilité basée sur les fichiers :
from ultralytics import YOLO
# Load the YOLO11 model
model = YOLO("yolo11n.pt")
# Train the model, saving logs and results to a specific project directory
# This creates structured artifacts useful for post-training analysis
model.train(data="coco8.yaml", epochs=3, project="observability_logs", name="experiment_1")
Pour les environnements de production, les équipes regroupent souvent ces journaux dans des plateformes centralisées telles que
Datadog, New Relic ou
Elastic Stack pour conserver une vue unifiée de l'ensemble de leur infrastructure d'IA
dans son ensemble. Une visualisation avancée peut également être réalisée à l'aide de tableaux de bord open-source tels que
Grafana.