Monitoraggio delle prestazioni dei modelli in produzione
Rilevamento del data drift, segnali di degrado del modello, trigger per il retraining, libreria evidently
Monitoraggio delle prestazioni dei modelli in produzione è una lezione Learn AI with Python gratuita su CoddyKit. Questa è la lezione 4 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Learn AI with Python, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Learn AI with Python include 4 lezioni in totale.
Perché monitorare in produzione?
Un modello che ha funzionato bene al momento del rilascio può degradarsi silenziosamente quando il mondo cambia. Il monitoraggio rileva tempestivamente questo drift, prima che faccia crollare in modo silenzioso le metriche aziendali, permettendo di capire quando è necessario riaddestrare il modello.
Data drift e concept drift
- Data drift: cambia la distribuzione degli input, ad esempio la composizione della clientela.
- Concept drift: cambia la relazione tra gli input e il target, ad esempio ciò che permette di prevedere il churn.
Entrambi riducono l'accuratezza; il monitoraggio li rileva in modi diversi.
PSI per il data drift
Population Stability Index (PSI) confronta la distribuzione di una feature nel momento attuale con quella di riferimento. Divida entrambe in intervalli, quindi sommi (now% - base%) * ln(now% / base%) su tutti gli intervalli.
Interpretazione dei valori PSI
Regole pratiche: PSI < 0.1 indica nessuno spostamento significativo, 0.1-0.25 uno spostamento moderato (da analizzare), > 0.25 uno spostamento importante (probabilmente è necessario riaddestrare il modello). Il PSI viene calcolato per ogni feature.
import numpy as np
def psi(base, now, bins=10):
edges = np.percentile(base, np.linspace(0, 100, bins + 1))
b_pct = np.histogram(base, edges)[0] / len(base) + 1e-6
n_pct = np.histogram(now, edges)[0] / len(now) + 1e-6
return np.sum((n_pct - b_pct) * np.log(n_pct / b_pct))Test KS per le distribuzioni
Il test di Kolmogorov-Smirnov (KS) confronta due distribuzioni continue. Un p-value basso indica che la distribuzione in produzione differisce significativamente da quella di addestramento, segnalando un drift.
from scipy.stats import ks_2samp
stat, pvalue = ks_2samp(train_feature, prod_feature)
if pvalue < 0.05:
print("Distribution drift detected")PSI e KS
- PSI: un singolo numero interpretabile, ideale per dashboard e soglie.
- KS: un test statistico di ipotesi con un p-value, più rigoroso per le feature continue.
Molti team riportano entrambe le metriche affiancate.
Che cos'è Evidently?
Evidently è una libreria open source che automatizza i report sul drift e sulla qualità. Invece di scrivere manualmente il codice per ogni metrica, può assemblare controlli predefiniti e ottenere un report HTML/JSON.
# pip install evidently
from evidently.report import Report
from evidently.metric_preset import DataDriftPresetCreazione di un report DataDriftPreset
DataDriftPreset esegue una suite completa di test sul drift per tutte le colonne, confrontando un dataset di riferimento (di addestramento) con i dati attuali (di produzione).
report = Report(metrics=[DataDriftPreset()])
report.run(
reference_data=train_df,
current_data=prod_df
)
report.save_html("drift_report.html")Estrazione programmatica dei risultati
Esporti il report come dict per alimentare la logica degli avvisi, così il monitoraggio può essere eseguito senza supervisione secondo una pianificazione.
result = report.as_dict()
drift_share = result["metrics"][0]["result"]["dataset_drift"]
print("Dataset drift flag:", drift_share)Avvisi in caso di calo dell'accuratezza
Quando dispone di etichette reali, monitori l'accuratezza in tempo reale e generi un alert quando scende al di sotto di una soglia: è il segnale più diretto che il riaddestramento è ormai necessario.
THRESHOLD = 0.85
if live_accuracy < THRESHOLD:
send_alert(f"Accuracy dropped to {live_accuracy:.2f}")Chiusura del ciclo
Un buon monitoraggio deve portare all'azione: rilevare la deriva -> inviare un avviso -> attivare una pipeline di riaddestramento (il Makefile/registry delle lezioni precedenti) -> distribuire la nuova versione. Il monitoraggio senza un piano di risposta è solo rumore.
Verifica rapida
Verifichi le Sue conoscenze sul monitoraggio.
Riepilogo
Ha monitorato modelli in produzione: PSI e il test KS rilevano la deriva dei dati, Evidently automatizza i report tramite DataDriftPreset e viene inviato un avviso quando l'accuratezza scende sotto una soglia, attivando poi il riaddestramento. Con questo si conclude il corso di MLOps. Prossimo corso: distribuzione di modelli di IA con FastAPI.
Domande Frequenti
La lezione «Monitoraggio delle prestazioni dei modelli in produzione» è gratuita?
Sì — il testo completo di «Monitoraggio delle prestazioni dei modelli in produzione» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Learn AI with Python, passa a CoddyKit PRO. Il corso Learn AI with Python include 4 lezioni in totale.
Cosa imparerò in «Monitoraggio delle prestazioni dei modelli in produzione»?
Rilevamento del data drift, segnali di degrado del modello, trigger per il retraining, libreria evidently Eserciti Learn AI with Python con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare Learn AI with Python?
Non è richiesta alcuna esperienza precedente. Learn AI with Python su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 4 di 4.
Quanto tempo richiede la lezione «Monitoraggio delle prestazioni dei modelli in produzione»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione Learn AI with Python?
Sì. Ogni lezione Learn AI with Python include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- Tracciamento degli esperimenti con MLflow
- Registro dei modelli e versionamento
- Creazione di pipeline ML riproducibili
- Monitoraggio delle prestazioni dei modelli in produzione