Osservabilità
Scoprite come l'osservabilità migliora i sistemi AI/ML come Ultralytics YOLO. Ottenete informazioni, ottimizzate le prestazioni e garantite l'affidabilità delle applicazioni reali.
L'osservabilità è la pratica di progettare e strumentare i sistemi per fornire dati ad alta fedeltà sul loro stato interno, consentendo ai team di esplorare, eseguire il debug e comprendere efficacemente il loro comportamento. Nel contesto dell'Intelligenza Artificiale (AI) e dell'Apprendimento Automatico (ML), va oltre il semplice monitoraggio per consentire approfondimenti su modelli complessi e pipeline di dati. Invece di limitarsi a tracciare metriche di performance predefinite, un sistema osservabile fornisce dati ricchi ed esplorabili che consentono di porre nuove domande e diagnosticare problemi sconosciuti dopo l'implementazione del modello.
Osservabilità vs. Monitoraggio
Anche se spesso vengono utilizzati insieme, l'osservabilità e il monitoraggio del modello sono concetti distinti.
- Il monitoraggio è il processo di raccolta e analisi dei dati per individuare le modalità di guasto note. Si impostano avvisi per soglie specifiche e predefinite, come un tasso di errore superiore al 5% o una latenza di inferenza superiore a 200ms. Questo vi dice se c'è qualcosa che non va.
- L'osservabilità è una proprietà del sistema che consente di capire perché qualcosa non va, anche se non si è mai visto il problema prima. Utilizza log, metriche e tracce dettagliate per consentire l'analisi esplorativa e l'identificazione della causa principale. Un sistema osservabile è un sistema che può essere sottoposto a debug senza dover inviare nuovo codice per raccogliere ulteriori informazioni. Questa capacità è fondamentale per gestire la natura imprevedibile dei sistemi di intelligenza artificiale in produzione.
I tre pilastri dell'osservabilità
L'osservabilità si basa in genere su tre tipi principali di dati telemetrici:
- Registri: Si tratta di registrazioni immutabili e con data e ora degli eventi. Nei sistemi di ML, i log possono catturare singole richieste di predizione, errori di convalida dei dati o modifiche alla configurazione del sistema. Mentre i log tradizionali possono essere costituiti da semplice testo, i log strutturati (ad esempio, in formato JSON ) rendono i log molto più facili da interrogare e analizzare su scala.
- Metriche: Sono rappresentazioni numeriche dei dati misurati nel tempo. Le metriche chiave nei sistemi di ML includono l'accuratezza del modello, il throughput di predizione, l'utilizzo della CPU/GPU e l'uso della memoria. I database di serie temporali come Prometheus sono comunemente utilizzati per archiviare e interrogare questi dati.
- Tracce: Le tracce forniscono una visione dettagliata di una singola richiesta o transazione mentre si muove attraverso tutti i componenti di un sistema. In una pipeline di computer vision, una traccia potrebbe seguire una singola immagine dall'ingestione e dalla preelaborazione all'inferenza del modello e alla postelaborazione, mostrando il tempo impiegato in ogni fase. Si tratta di un'informazione preziosa per individuare i colli di bottiglia e gli errori nei sistemi distribuiti.
Perché l'osservabilità è cruciale per i sistemi di intelligenza artificiale
I modelli di apprendimento profondo possono essere molto complessi e opachi, rendendo difficile la comprensione del loro comportamento nel mondo reale. L'osservabilità è essenziale per:
- Debug e risoluzione dei problemi: Quando un modello come Ultralytics YOLO11 fa una previsione errata, gli strumenti di osservabilità possono aiutare a tracciare i dati di input e le attivazioni del modello per comprenderne la causa.
- Rilevare la deriva: I modelli di intelligenza artificiale possono degradarsi nel tempo a causa della deriva dei dati (quando la distribuzione dei dati di produzione cambia rispetto ai dati di formazione) o della deriva dei concetti. Observability aiuta a rilevare questi cambiamenti monitorando le distribuzioni dei dati e le prestazioni del modello.
- Garantire fiducia e correttezza: In applicazioni sensibili come l'IA nel settore sanitario, l'osservabilità supporta l'IA spiegabile (XAI) e la trasparenza nell'IA, fornendo una chiara traccia di controllo delle decisioni del modello. Questo aspetto è fondamentale per la conformità alle normative e la creazione di un rapporto di fiducia con le parti interessate.
- Ottimizzazione delle prestazioni: Tracciando l'utilizzo delle risorse e la latenza, i team possono ottimizzare l'efficienza del modello e ridurre i costi operativi, uno degli obiettivi principali di MLOps.
Applicazioni del mondo reale
- Veicoli autonomi: Un veicolo autonomo utilizza un modello di percezione per il rilevamento degli oggetti in tempo reale. Lo strumento Observability traccia un fotogramma della telecamera attraverso l'intero sistema, dal sensore alla decisione. Se il veicolo non riesce a rilevare un pedone all'imbrunire, gli ingegneri possono utilizzare le tracce per verificare se la causa è la latenza nella fase di preelaborazione delle immagini. Possono anche analizzare le metriche sui punteggi di confidenza del rilevamento nelle diverse ore del giorno per identificare i problemi sistemici.
- Gestione dell'inventario al dettaglio: Un sistema di vendita al dettaglio intelligente utilizza telecamere per monitorare le scorte a scaffale. Una piattaforma di osservabilità tiene traccia del numero di prodotti rilevati per scaffale, della frequenza delle chiamate API e della latenza delle previsioni. Se il sistema segnala livelli di scorte errati per un particolare prodotto, gli sviluppatori possono filtrare le tracce per la SKU di quel prodotto, ispezionare le immagini registrate e i punteggi di previsione e determinare se il problema è causato da una scarsa illuminazione o da un imballaggio insolito. Ciò consente una diagnosi rapida e una riqualificazione con un migliore incremento dei dati.
Strumenti e piattaforme
L'implementazione dell'osservabilità spesso richiede strumenti e piattaforme specializzate. Soluzioni open-source come Grafana (visualizzazione), Loki (log) e Jaeger (tracciamento) sono molto diffuse. OpenTelemetry fornisce uno standard neutrale per la strumentazione. Piattaforme commerciali come Datadog, New Relic e Dynatrace offrono soluzioni integrate. Le piattaforme MLOps come MLflow, Weights & Biases e ClearML spesso includono funzioni per il monitoraggio degli esperimenti e dei modelli. Ultralytics HUB facilita la gestione dei cicli di formazione 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.