Scopri come l'osservabilità migliora i sistemi AI/ML come Ultralytics YOLO . Ottieni informazioni, ottimizza le prestazioni e garantisci l'affidabilità delle applicazioni reali.
L'osservabilità fornisce approfondimenti critici sul comportamento e sulle prestazioni di sistemi complessi, particolarmente importanti nel campo dinamico dell'Intelligenza Artificiale (AI) e del Machine Learning (ML). Per gli utenti che lavorano con modelli sofisticati come Ultralytics YOLOla comprensione dello stato interno delle applicazioni implementate attraverso i loro output esterni è fondamentale per mantenere l'affidabilità, ottimizzare le prestazioni e garantire l'affidabilità delle applicazioni reali. Aiuta a colmare il divario tra lo sviluppo del modello e il successo operativo.
L'osservabilità è la capacità di misurare e comprendere gli stati interni di un sistema esaminando i suoi output, come log, metriche e tracce. A differenza del monitoraggio tradizionale, che in genere si concentra su cruscotti predefiniti e modalità di guasto note (es, CPU utilizzo della CPU, tassi di errore), l'osservabilità consente ai team di esplorare in modo proattivo il comportamento del sistema e di diagnosticare nuovi problemi, anche quelli non previsti durante lo sviluppo. Nel contesto delle MLOps (Machine Learning Operations), consente di porre domande più profonde sul perché un sistema si comporta in un certo modo, il che è fondamentale per la natura iterativa dello sviluppo e dell'implementazione dei modelli di ML. Si tratta di ottenere visibilità su sistemi complessi, compresi i modelli di deep learning.
La complessità e la natura spesso "black box" dei modelli di deep learning rendono indispensabile l'osservabilità. I motivi principali sono:
Pur essendo correlate, l'osservabilità e il monitoraggio differiscono per ambito e scopo. Il monitoraggio prevede la raccolta e l'analisi dei dati relativi a metriche predefinite per monitorare lo stato di salute del sistema rispetto a parametri di riferimento noti (ad esempio, il monitoraggio del punteggio mAP di un modello di rilevamento degli oggetti implementato). Risponde a domande come "Il sistema è attivo?" o "Il tasso di errore è inferiore a X?". Il monitoraggio dei modelli è un tipo specifico di monitoraggio incentrato sui modelli ML in produzione.
L'osservabilità, invece, utilizza i dati in uscita (log, metriche, tracce - spesso chiamati i"tre pilastri dell'osservabilità") per consentire un'analisi più profonda ed esplorativa. Ti permette di capire il "perché" degli stati del sistema, soprattutto quelli inaspettati. Pensa al monitoraggio come a un cruscotto che riporta i problemi noti, mentre l'osservabilità fornisce gli strumenti (come l'interrogazione dei log o il tracciamento delle richieste) per indagare su qualsiasi anomalia, nota o sconosciuta. Facilita il debug di sistemi complessi.
L'osservabilità si basa su tre tipi principali di dati telemetrici:
Le pratiche di osservabilità sono fondamentali nelle implementazioni sofisticate di AI/ML:
L'implementazione dell'osservabilità spesso richiede strumenti e piattaforme specializzate. Le soluzioni open-source come Prometheus (metriche), Grafana (visualizzazione), Loki (log) e Jaeger o Zipkin (tracciamento) sono molto diffuse. OpenTelemetry fornisce uno standard neutrale per la strumentazione. Piattaforme commerciali come Datadog, New Relic e Dynatrace offrono soluzioni integrate. Piattaforme MLOps come MLflow, Weights & Biasese ClearML spesso includono funzioni per il monitoraggio degli esperimenti e dei modelli, contribuendo all'osservabilità complessiva del sistema. Ultralytics HUB facilita la gestione dei cicli di formazione, dei dataset e dei modelli distribuiti, integrandosi con strumenti come TensorBoard per la visualizzazione delle metriche, un aspetto fondamentale dell'osservabilità durante la fase di formazione dei modelli.