Ultralytics YOLO27 : Rejoins la liste d'attente.
Licence YOLO
Retour au glossaire Ultralytics

Observability

L’observabilité est la capacité d’expliquer l’état interne d’un système à partir des journaux, des métriques et des traces qu’il émet. Présentation d’OpenTelemetry et de l’observabilité du ML.

L’observabilité est la capacité à comprendre ce qui se passe à l’intérieur d’un système logiciel à partir des données de télémétrie qu’il émet, principalement les journaux, les métriques et les traces, afin de répondre à de nouvelles questions sur son comportement sans déployer de nouveau code. Le terme vient de la théorie du contrôle : en 1960, Rudolf Kálmán a défini un système comme observable si son état interne peut être déterminé à partir de ses sorties. Les équipes logicielles ont adopté ce terme dans les années 2010, lorsque les systèmes se sont répartis entre de nombreux services et que les pannes ne correspondaient plus aux tableaux de bord prévus. Pour les systèmes d’apprentissage automatique, l’observabilité couvre aussi les données et les prédictions : les entrées reçues par un modèle, ses sorties, son niveau de confiance et l’évolution de ces éléments dans le temps.

Journaux, métriques et traces#

Trois types de données de télémétrie, souvent appelés les piliers de l’observabilité, répondent à des questions différentes :

  • Métriques : Séries temporelles numériques, comme le taux de requêtes, le taux d’erreurs, les centiles de latence, la mémoire et l’utilisation du GPU, peu coûteuses à stocker et adaptées aux tableaux de bord et aux alertes. Le livre de Google sur l’ingénierie de la fiabilité des sites définit quatre signaux clés à mesurer pour chaque service : la latence, le trafic, les erreurs et la saturation.
  • Journaux : Enregistrements horodatés d’événements individuels, particulièrement utiles lorsqu’ils sont structurés en JSON avec des champs comme l’identifiant de requête, la version du modèle et la taille de l’entrée, afin de pouvoir les filtrer et les compter.
  • Traces : Parcours d’une requête dans chaque service qu’elle traverse, enregistré sous forme d’arborescence de segments, chacun doté d’un nom, d’une heure de début, d’une durée et d’attributs, qui indique où la requête a passé son temps.

OpenTelemetry, créé en 2019 par la fusion des projets OpenTracing et OpenCensus, fournit des API, des SDK et un protocole de transmission (OTLP) indépendants des fournisseurs pour ces trois signaux. Des systèmes comme Prometheus, Grafana et Jaeger les stockent et les affichent. Cet exemple trace une requête de classification d’image avec le SDK Python OpenTelemetry, en enregistrant un segment parent pour la requête et un segment enfant pour chaque étape :

import torch
import torchvision
from opentelemetry.sdk.trace import TracerProvider
from opentelemetry.sdk.trace.export import SimpleSpanProcessor
from opentelemetry.sdk.trace.export.in_memory_span_exporter import InMemorySpanExporter

# Keep finished spans in memory; a production service exports them over OTLP instead
exporter = InMemorySpanExporter()
provider = TracerProvider()
provider.add_span_processor(SimpleSpanProcessor(exporter))
tracer = provider.get_tracer("classifier")
model = torchvision.models.resnet18().eval()
frame = torch.rand(3, 1080, 1920)

# Trace one request as a parent span with a child span for each stage
with tracer.start_as_current_span("predict", attributes={"model.name": "resnet18", "image.height": 1080}):
    with tracer.start_as_current_span("preprocess"):
        batch = torchvision.transforms.functional.resize(frame, [224, 224]).unsqueeze(0)
    with tracer.start_as_current_span("inference"), torch.inference_mode():
        logits = model(batch)

spans = exporter.get_finished_spans()
names = {span.context.span_id: span.name for span in spans}
for span in spans:
    parent = names[span.parent.span_id] if span.parent else "-"
    print(f"{span.name:<11} {(span.end_time - span.start_time) / 1e6:5.1f} ms  parent: {parent}")

Sur un CPU Apple M5 Pro, l’exécution affiche un segment preprocess de 1,0 à 1,4 ms et un segment inference de 7 à 9 ms, tous deux ayant predict comme parent, ainsi qu’un segment predict de 8 à 10 ms. La trace attribue donc au modèle la majeure partie du temps de la requête. Lorsque les segments sont exportés via OTLP, chaque service qui traite une requête ajoute des segments sous le même identifiant de trace, et un système comme Jaeger les affiche sur une même chronologie.

Observabilité et surveillance#

La surveillance des modèles suit les modes de défaillance connus à l’aide de métriques, de tableaux de bord et de seuils d’alerte prédéfinis, par exemple un taux d’erreurs supérieur à 1 % ou une latence d’inférence qui dépasse la cible. L’observabilité est une propriété plus générale qui permet d’enquêter sur des défaillances imprévues en segmentant après coup les données de télémétrie détaillées par client, version de modèle, caméra ou tout autre attribut. Le livre de Google sur l’ingénierie de la fiabilité des sites (SRE) demande à la surveillance de répondre à deux questions — qu’est-ce qui ne fonctionne pas et pourquoi — et l’enquête passe de la première à la seconde en s’appuyant sur les trois signaux :

L’IA explicable est un domaine distinct qui explique pourquoi un modèle a produit une sortie particulière à partir de ses caractéristiques d’entrée ou de ses activations internes ; ses attributions peuvent être enregistrées comme un signal supplémentaire.

Observabilité pour l’apprentissage automatique#

Les systèmes d’apprentissage automatique échouent souvent sans bruit : un modèle de vision par ordinateur peut répondre à chaque requête avec le code HTTP 200 alors que ses prédictions se dégradent parce que la caméra a bougé, que l’éclairage a changé ou qu’un nouveau produit est apparu. L’observabilité du ML ajoute donc aux signaux habituels du service des données de télémétrie sur les données et les prédictions. Les équipes enregistrent des statistiques d’entrée, comme la taille et la luminosité des images, pour détecter la dérive des données, suivent la distribution des prédictions, notamment le nombre de classes, les résultats vides et la confiance moyenne, et calculent la précision par segment lorsque les étiquettes de vérité terrain arrivent, souvent plusieurs jours plus tard. Pendant l’entraînement, des rappels envoient les courbes de perte, les métriques et l’utilisation des ressources système de chaque exécution aux outils de suivi des expériences, comme TensorBoard et MLflow. Pour les applications d’agents d’IA et de grands modèles de langage, les traces enregistrent chaque invite, étape de récupération, appel d’outil et réponse. Les conventions sémantiques GenAI d’OpenTelemetry normalisent des attributs comme gen_ai.usage.input_tokens, afin que le décompte de jetons et les coûts soient cohérents entre les outils.

Chaque point de terminaison dédié sur l’Ultralytics Platform intègre la surveillance du déploiement : cartes du nombre de requêtes, du taux d’erreurs et de la latence p95, onglet Journaux avec niveaux de gravité et filtre Erreurs pour les entrées d’erreur et d’avertissement, et statistiques de prédiction présentant les principales classes, la confiance moyenne au fil du temps, le nombre de prédictions par image et le temps d’inférence du modèle, distinct de la latence des requêtes. Une baisse de la confiance ou une évolution des principales classes apparaît dans ces graphiques, même si toutes les requêtes aboutissent.

Découvre les solutions

La vision par ordinateur dans le sport

La vision par ordinateur dans le sport

Découvre comment Ultralytics YOLO propulse la vision par ordinateur dans le sport grâce au suivi des joueurs et du ballon, aux analyses de performance, aux conseils d’entraînement et à la rééducation des athlètes.
En savoir plus
Vision par ordinateur pour les images aériennes

Vision par ordinateur pour les images aériennes

Transforme les images de drones et les images aériennes en informations exploitables en temps réel pour l’agriculture, l’aquaculture, la conservation et l’analyse géospatiale avec Ultralytics YOLO.
En savoir plus
Vision par ordinateur dans l’aérospatiale

Vision par ordinateur dans l’aérospatiale

Applique la vision par ordinateur dans l’aérospatiale avec Ultralytics YOLO pour l’inspection des aéronefs, la détection des corps étrangers sur les pistes, les opérations au sol des aéroports et la détection des défauts des matériaux composites.
En savoir plus
La vision par ordinateur dans la sécurité

La vision par ordinateur dans la sécurité

Protège chaque site avec les modèles Ultralytics YOLO. L’IA visuelle permet la surveillance des périmètres, la détection des menaces, la reconnaissance des plaques d’immatriculation et la sécurité au travail.
En savoir plus
La vision par ordinateur en robotique

La vision par ordinateur en robotique

Donne plus de capacités à tes machines grâce aux modèles Ultralytics YOLO. Dans la robotique, l’IA visuelle permet la navigation autonome, la perception, le suivi des objets et le contrôle en temps réel.
En savoir plus
La vision par ordinateur dans la logistique

La vision par ordinateur dans la logistique

Optimise la logistique avec les modèles Ultralytics YOLO. La vision par IA permet d’inspecter les colis, de les trier, de suivre les véhicules et de surveiller la sécurité des entrepôts en temps réel.
En savoir plus
La vision par ordinateur dans le commerce de détail

La vision par ordinateur dans le commerce de détail

Réinvente le commerce de détail avec les modèles Ultralytics YOLO. La vision par IA permet de suivre les stocks, de surveiller les rayons, de gérer les files d’attente et de mieux comprendre les clients.
En savoir plus
La vision par ordinateur dans le secteur de la santé

La vision par ordinateur dans le secteur de la santé

Crée des solutions de santé avec les modèles Ultralytics YOLO. La vision par IA dans le secteur de la santé accélère l’imagerie médicale, améliore les diagnostics et facilite la surveillance des patients.
En savoir plus
La vision par ordinateur dans l’industrie manufacturière

La vision par ordinateur dans l’industrie manufacturière

Optimise la fabrication avec les modèles Ultralytics YOLO. La vision par IA améliore le contrôle qualité, la détection des défauts, le respect des règles concernant les EPI et l’automatisation des chaînes de montage.
En savoir plus
La vision par ordinateur dans l’automobile

La vision par ordinateur dans l’automobile

Mets la vision par ordinateur au service de l’automobile avec les modèles Ultralytics YOLO. La vision par IA renforce la sécurité routière, l’aide à la conduite et l’automatisation des véhicules pour des routes plus intelligentes.
En savoir plus
Vision par ordinateur dans l’agriculture

Vision par ordinateur dans l’agriculture

Fais entrer l’IA de vision dans l’agriculture intelligente avec les modèles Ultralytics YOLO. Optimise le suivi des cultures et du bétail ainsi que l’agriculture de précision pour obtenir des rendements plus élevés et plus intelligents.
En savoir plus

Construisons ensemble l’avenir de l’IA !

Commence ton parcours vers l’avenir de l’apprentissage automatique