Monitora la deviazione dell'attribuzione delle funzionalità nei modelli in produzione - Amazon SageMaker

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Monitora la deviazione dell'attribuzione delle funzionalità nei modelli in produzione

Una deviazione nella distribuzione dei dati in tempo reale nei modelli in produzione può comportare una corrispondente deviazione dei valori di attribuzione delle funzionalità, così come potrebbe causare una deviazione del bias durante il monitoraggio dei parametri di bias. Il monitoraggio dell'attribuzione delle funzionalità di Amazon SageMaker Clarify aiuta i data scientist e gli ingegneri del machine learning a monitorare regolarmente le previsioni relative alle variazioni nell'attribuzione delle funzionalità. Man mano che il modello viene monitorato, i clienti possono visualizzare report e grafici esportabili che descrivono in dettaglio le attribuzioni delle funzionalità in SageMaker Studio e configurare avvisi in Amazon CloudWatch per ricevere notifiche se viene rilevato che i valori di attribuzione superano una determinata soglia.

Per capire con un esempio più concreto, considera uno scenario ipotetico di ammissione all'università. Supponiamo di osservare i seguenti valori (aggregati) di attribuzione delle funzionalità nei dati di addestramento e nei dati in tempo reale:

Scenario ipotetico di ammissione all'università
Funzionalità Attribuzione nei dati di addestramento Attribuzione nei dati in tempo reale
Punteggio SAT 0,70 0.10
GPA 0.50 0.20
Class rank 0,05 0,70

Il passaggio dai dati di addestramento ai dati in tempo reale sembra significativo. La classificazione delle funzionalità si è completamente invertita. Analogamente alla deviazione del bias, le deviazioni nell'attribuzione delle funzionalità potrebbero essere causate da una modifica nella distribuzione dei dati in tempo reale e giustificare un'analisi più approfondita del comportamento del modello sui dati in tempo reale. Ancora una volta, il primo passo in questi scenari consiste nel lanciare l'allarme che si è verificata una deviazione.

Possiamo rilevare la deviazione confrontando il modo in cui la classificazione delle singole funzionalità è cambiata dai dati di addestramento ai dati in tempo reale. Oltre a essere sensibili ai cambiamenti nell'ordine di classificazione, vogliamo essere sensibili anche al punteggio di attribuzione non elaborato delle funzionalità. Ad esempio, considerando che due funzionalità rientrano nella classifica per lo stesso numero di posizioni, passando dall'addestramento ai dati in tempo reale, vogliamo essere più sensibili alla funzionalità che ha un punteggio di attribuzione più elevato nei dati di addestramento. Tenendo conto di queste proprietà, utilizziamo il punteggio Normalized Discounted Cumulative Gain (NDCG) per confrontare le classificazioni delle attribuzioni di funzionalità relative all'addestramento e ai dati in tempo reale.

In particolare, supponiamo di avere quanto segue:

  • F=[f1,..., fm] è l'elenco delle funzionalità ordinate in base ai rispettivi punteggi di attribuzione nei dati di addestramento dove m è il numero totale di funzionalità. Ad esempio, nel nostro caso, F=[punteggio SAT, GPA, Class Rank].

  • a(f) è una funzione che restituisce il punteggio di attribuzione delle funzionalità sui dati di addestramento forniti da una funzionalità f. Ad esempio, a(punteggio SAT)=0,70.

  • F′= [f′1,..., f′m] è l'elenco delle funzionalità ordinate in base ai punteggi di attribuzione nei dati in tempo reale. Ad esempio, F′= [Class Rank, GPA, punteggio SAT].

Quindi, possiamo calcolare l'NDCG come:

        NDCG =DCG/IDCG

con

  • DCG = ∑1ma(f'i)/log2​(i+1)

  • iDCG = ∑1ma(fi)/log2​(i+1)

La quantità DCG determina se le funzionalità con un'attribuzione elevata nei dati di addestramento sono classificate più in alto anche nell'attribuzione delle funzionalità calcolata sui dati in tempo reale. La quantità iDCG misura il punteggio ideale ed è solo un fattore di normalizzazione per garantire che la quantità finale rientri nell'intervallo [0, 1], dove 1 è il miglior valore possibile. Un valore NDCG pari a 1 significa che la classificazione di attribuzione delle funzionalità nei dati in tempo reale è la stessa di quella nei dati di addestramento. In questo esempio particolare, poiché la classificazione è cambiata, il valore NDCG è 0,69.

In SageMaker Clarify, se il valore NDCG è inferiore a 0,90, generiamo automaticamente un avviso.

Notebook di esempio per il monitoraggio del modello

SageMaker Clarify fornisce il seguente taccuino di esempio che mostra come acquisire dati di inferenza per un endpoint in tempo reale, creare una linea di base per monitorare l'evoluzione dei pregiudizi e ispezionare i risultati:

È stato verificato che questo notebook funzioni solo in Studio. SageMaker Se hai bisogno di istruzioni su come aprire un notebook in SageMaker Studio, consultaCrea o apri un notebook Amazon SageMaker Studio Classic. Se ti viene richiesto di scegliere un kernel, scegli Python 3 (Data Science). I seguenti argomenti contengono i punti salienti delle ultime due fasi e contengono esempi di codice tratti dal notebook di esempio.