Yolo Vision Shenzhen
Shenzhen
Rejoindre maintenant
Glossaire

Observabilité

Découvrez l'importance de l'observabilité dans l'IA et le ML. Apprenez à déboguer des systèmes complexes, à surveiller les performances Ultralytics et à obtenir des informations approfondies sur les modèles.

L'observabilité désigne la capacité à comprendre l'état interne d'un système complexe en se basant uniquement sur ses sorties externes. Dans les domaines en rapide évolution de l' l'intelligence artificielle (IA) et de l' apprentissage automatique (ML), l'observabilité va au-delà des simples vérifications d'état pour fournir des informations approfondies sur les raisons pour lesquelles un modèle se comporte d'une certaine manière. Dans le cadre de l' architectures d'apprentissage profond (DL) , telles que l'architecture de pointe YOLO26, deviennent de plus en plus sophistiquées, elles peuvent souvent fonctionner comme des « boîtes noires ». Les outils d'observabilité créent une fenêtre transparente sur ces systèmes, permettant aux équipes d'ingénieurs de déboguer les comportements inattendus, de remonter à la source des erreurs et de garantir la fiabilité des environnements de production.

Observabilité vs surveillance

Bien qu'ils soient souvent utilisés de manière interchangeable, les termes « observabilité » et « surveillance des modèles ont des objectifs distincts mais complémentaires au sein du cycle de vie des MLOps .

  • La surveillance des modèles est réactive et se concentre sur les « inconnues connues ». Elle implique le suivi de mesures prédéfinies telles que latence d'inférence, CPU ou les taux d'erreur par rapport à des seuils établis. La surveillance répond à la question suivante : « Le système est-il en bon état ? »
  • L'observabilité est proactive et traite les « inconnues inconnues ». Elle fournit les données granulaires (journaux, traces et événements à cardinalité élevée) nécessaires pour enquêter sur les nouveaux problèmes qui n'avaient pas été anticipés lors de la formation des données d'entraînement données d'entraînement . Comme décrit dans le Google Book, un système observable vous permet de comprendre de nouveaux comportements sans avoir à déployer de nouveau code. Il répond à la question : « Pourquoi le système agit-il de cette manière ? »

Les trois piliers de l'observabilité

Pour parvenir à une véritable observabilité dans le domaine de la pipelines de vision par ordinateur (CV) , les systèmes s'appuient généralement sur trois types principaux de données télémétriques :

  1. Journaux: enregistrements horodatés et immuables d' événements discrets. Dans un pipeline de détection, un journal peut enregistrer la résolution de l'image d'entrée ou les réglage des hyperparamètres utilisé pendant une exécution. Journalisation structurée, souvent au format format JSON , permet des requêtes et des analyses
  2. Mesures : données numériques agrégées mesurées au fil du temps, telles que la précision moyenne précision, la consommation de mémoire ou la GPU . Des outils tels que Prometheus et Grafana sont couramment utilisés pour stocker ces données chronologiques afin de visualiser les tendances.
  3. Traces : le traçage suit le cycle de vie d'une requête à mesure qu'elle circule à travers divers microservices. Pour les applications d'IA distribuées, des normes telles que OpenTelemetry aident à cartographier le cheminement d'une requête, en mettant en évidence les goulots d'étranglement dans le moteur d'inférence ou les retards du réseau. Des outils spécialisés tels que Jaeger aident à visualiser ces transactions distribuées.

Mise en œuvre de l'observabilité en Python

Vous pouvez améliorer l'observabilité de vos pipelines de formation en utilisant des rappels pour enregistrer des états internes spécifiques. L' exemple suivant montre comment ajouter un rappel personnalisé à un session de formation YOLO26 pour surveiller les mesures de performance en temps réel.

from ultralytics import YOLO

# Load the YOLO26 model
model = YOLO("yolo26n.pt")


# Define a custom callback for observability
def on_train_epoch_end(trainer):
    # Access and print specific metrics at the end of each epoch
    map50 = trainer.metrics.get("metrics/mAP50(B)", 0)
    print(f"Observability Log - Epoch {trainer.epoch + 1}: mAP50 is {map50:.4f}")


# Register the callback and start training
model.add_callback("on_train_epoch_end", on_train_epoch_end)
model.train(data="coco8.yaml", epochs=3)

Applications concrètes

L'observabilité est essentielle pour déployer des modèles haute performance dans des environnements dynamiques où les données de test ne correspondent pas parfaitement aux conditions réelles.

  • Véhicules autonomes : Dans le développement des véhicules autonomes, l'observabilité permet aux ingénieurs de reconstituer l'état exact du système lors d'un événement de désengagement. En corrélant la 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 freinage a été causée par un bruit du capteur, une erreur de prédiction du modèle ou une erreur logique dans le module de planification.
  • Diagnostic médical : dans le IA dans le domaine de la santé, il est essentiel de garantir des performances constantes pour la sécurité des patients. Les outils d'observabilité permettent de detect la dérive des données si les performances d'un modèle se dégradent lorsqu'il est appliqué à des images provenant d'un nouveau type de scanner IRM. Les traces peuvent révéler si le problème provient d'un changement dans le pré-traitement des données d'image ou d'un changement dans la distribution des entrées, ce qui permet une correction rapide sans compromettre la sécurité de l'IA.

Intégration avec des outils modernes

Les flux de travail modernes intègrent souvent l'observabilité directement dans la plateforme de formation. Les utilisateurs de la Ultralytics bénéficient d'une visualisation intégrée des courbes de perte, des performances du système et de l'analyse des ensembles de données. De plus, des intégrations standard avec des outils tels que TensorBoard et MLflow permettent aux scientifiques des données de maintenir un suivi rigoureux des expériences et une observabilité tout au long du cycle de vie du modèle.

Rejoindre la communauté Ultralytics

Rejoignez le futur de l'IA. Connectez-vous, collaborez et évoluez avec des innovateurs mondiaux.

Rejoindre maintenant