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à consente ai team di ingegneri di eseguire attivamente il debug e di comprendere gli stati interni di sistemi complessi sulla base dei loro output esterni.
sulla base dei loro output esterni. Nei campi in rapida evoluzione dell'intelligenza
Intelligenza Artificiale (AI) e
Machine Learning (ML), questo concetto è critico
per superare la "scatola nera" delle implementazioni. Mentre i test tradizionali del software possono verificare la logica, i modelli di ML operano in modo probabilistico.
operano in modo probabilistico, rendendo essenziale disporre di sistemi che permettano agli sviluppatori di indagare le cause alla radice di
previsioni inattese, degrado delle prestazioni o guasti dopo l'implementazione del modello.
l'implementazione del modello.
Osservabilità vs. Monitoraggio
Sebbene siano spesso usati in modo intercambiabile, questi termini rappresentano approcci distinti all'affidabilità del sistema.
-
Il monitoraggio si concentra sulle "incognite note". Comporta il monitoraggio di dashboard predefiniti
e avvisi per metriche come
latenza di inferenza o tassi di errore. Il monitoraggio
risponde alla domanda: "Il sistema è sano?".
-
L'osservabilità affronta le "incognite". Fornisce i dati granulari necessari
per porre nuove domande, non previste, sul perché si è verificato un determinato guasto. Come descritto nel
Google SRE Book, un sistema osservabile
consente di comprendere nuovi comportamenti senza dover inviare nuovo codice. Risponde alla domanda "Perché il
sistema si comporta in questo modo?".
I tre pilastri dell'osservabilità
Per ottenere approfondimenti, l'osservabilità si basa su tre tipi principali di dati telemetrici:
-
Registri: Sono registrazioni immutabili con data e ora di eventi discreti. In una
di visione computerizzata (CV), un registro potrebbe
catturare le dimensioni dell'immagine di ingresso o
configurazione della regolazione degli iperparametri.
La registrazione strutturata, spesso in formato JSON, facilita l'interrogazione da parte di strumenti di analisi dei dati come Splint.
interrogazione da parte di strumenti di analisi dei dati come Splunk.
-
Metriche: Dati numerici aggregati misurati nel tempo, come ad es.
precisione, consumo di memoria o
GPU GPU. Sistemi come
Prometheus sono ampiamente utilizzati per archiviare questi dati di serie temporali, consentendo ai team di visualizzare le tendenze.
visualizzare le tendenze.
-
Tracce: Il tracciamento segue il ciclo di vita di una richiesta mentre si propaga attraverso vari microservizi.
Per le applicazioni di intelligenza artificiale distribuite, gli strumenti conformi a OpenTelemetry possono mappare il percorso di una richiesta, evidenziando i colli di bottiglia nel sistema.
il percorso di una richiesta, evidenziando i colli di bottiglia del motore di
motore di inferenza o i ritardi della rete.
Perché l'osservabilità è importante nell'IA
L'impiego di modelli nel mondo reale introduce sfide che non esistono negli ambienti di addestramento controllati.
L'osservabilità è essenziale per:
-
Rilevare la deriva dei dati: Nel corso del tempo, i dati in tempo reale possono divergere dai dati di
dati di addestramento, un fenomeno noto come
deriva dei dati. Gli strumenti di osservabilità visualizzano le
di input per avvisare gli ingegneri quando è necessario riqualificare i dati.
-
Garantire la sicurezza dell'IA: Per i settori ad alto rischio, la comprensione delle decisioni del modello è fondamentale per la sicurezza dell'IA.
sicurezza dell'IA. Gli approfondimenti granulari aiutano a verificare le decisioni per
garantire l'allineamento con i protocolli di sicurezza e l'equità dell'IA.
sicurezza e l'equità dell'IA.
-
Ottimizzazione delle prestazioni: Analizzando tracce dettagliate,
MLOps possono identificare le
calcoli ridondanti o vincoli di risorse, ottimizzando i costi e la velocità.
-
Debug delle "scatole nere": I modelli di apprendimento profondo sono spesso opachi. Le piattaforme di osservabilità
come Honeycomb permettono agli ingegneri di tagliare e tagliare i dati ad alta dimensionalità per
per individuare il motivo per cui un modello ha fallito in un caso specifico.
Applicazioni nel mondo reale
L'osservabilità svolge un ruolo fondamentale nel garantire l'affidabilità delle moderne soluzioni di IA in tutti i settori.
-
Veicoli autonomi: Nello sviluppo di
veicoli autonomi, l'osservabilità consente
di ricostruire lo stato esatto del sistema durante un evento di disinnesto. Correlando le uscite di rilevamento
di rilevamento degli oggetti con i registri dei sensori e i comandi di controllo, i team possono determinare
comandi di controllo, i team possono determinare se un errore di frenata è stato causato dal rumore del sensore o da un errore di previsione del modello.
-
Diagnostica sanitaria: In
IA in ambito sanitario, l'affidabilità delle operazioni è
fondamentale. L'osservabilità garantisce che i modelli di imaging medico funzionino in modo coerente su diverse macchine ospedaliere.
macchine ospedaliere. Se le prestazioni di un modello calano, le tracce possono rivelare se il problema deriva da una modifica della risoluzione dell'immagine o da un ritardo nella pipeline di preelaborazione dei dati.
un ritardo nella pipeline di preelaborazione dei dati, consentendo una rapida correzione senza compromettere l'assistenza ai pazienti.
Implementazione dell'osservabilità con Ultralytics
L'osservabilità efficace inizia con un'adeguata registrazione e tracciabilità degli esperimenti. I modelli di Ultralytics si integrano perfettamente
con strumenti come MLflow,
Weights & Biasese
TensorBoard per registrare automaticamente metriche, parametri e
artefatti in modo automatico.
L'esempio seguente mostra come addestrare un
YOLO11 organizzando i log in una specifica struttura di progetto, che è alla base dell'osservabilità basata sui file.
che è alla base dell'osservabilità basata sui file:
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")
Per gli ambienti di produzione, i team spesso aggregano questi log in piattaforme centralizzate come
Datadog, New Relic o
Elastic Stack per mantenere una visione unificata dell'intera infrastruttura di AI
AI. La visualizzazione avanzata può essere ottenuta anche utilizzando dashboard open-source come
Grafana.