È possibile rilevare la polarizzazione diretta e indiretta con il debiasing attivo e passivo. L'annullamento della distorsione passivo rivela la distorsione, mentre l'annullamento della distorsione attivo evita la distorsione modificando il modello in tempo reale.
L'algoritmo applica un metodo denominato perturbazione per valutare le differenze nei risultati previsti nei dati. Per ulteriori informazioni su come viene calcolata la distorsione, consultare Calcolo della correttezza.
Quando si valutano le distribuzioni per la correttezza, vengono rilevate le transazioni dirette e pregiudizio indiretto della tabella di registrazione dei payload.
Annullamento distorsione passivo
Il debiasing passivo avviene automaticamente, ogni ora. È considerato passivo perché si verifica senza l'intervento dell'utente. Quando si analizzano i pregiudizi, si sminuiscono anche i dati. Analizza il comportamento del modello e identifica i dati in cui il modello agisce in modo distorto.
Un modello di apprendimento automatico viene costruito per prevedere se è probabile che il modello agisca in modo distorto su un nuovo dato. I dati ricevuti dal modello vengono analizzati, su base oraria, per individuare i punti di dati che causano distorsioni. Per tali punti dati, l'attributo di correttezza è perturbato dalla minoranza alla maggioranza e la maggioranza alla minoranza e i dati perturbati vengono inviati al modello originale per la previsione. La previsione del record perturbato, insieme alla previsione originale viene utilizzata per calcolare la distorsione.
Le registrazioni distorte identificate che il modello riceve nell'ultima ora vengono debiased. Viene calcolata anche la correttezza dell'output debiased, che viene visualizzata nella scheda Modello debiased.
Annullamento distorsione attivo
L'annullamento della distorsione attivo è un modo per richiedere e portare risultati senza distorsione nella tua applicazione tramite l'endpoint API REST. È possibile invocare attivamente le valutazioni del modello per conoscere le previsioni distorte del modello, in modo da poter eseguire l'applicazione senza pregiudizi. Nell'annullamento della distorsione attivo, puoi utilizzare un endpoint API REST di annullamento della distorsione dalla tua applicazione. Questo endpoint API REST richiama internamente il modello e ne controlla il comportamento.
Se il modello agisce in modo distorto, i dati vengono perturbati e rinviati al modello originale. Dopo l'analisi interna del punto di dati perturbato, se il modello si comporta in modo distorto sul punto di dati, l'output del modello originale sui dati perturbati viene restituito come predizione distorta.
Se il modello originale non agisce in modo distorto, la previsione del modello originale viene restituita come previsione distorta. Pertanto, utilizzando questo endpoint API REST, puoi garantire che la tua applicazione non basi le decisioni sull'output distorto.
Revisione dei dati per i valori non distorti
Quando viene eseguita la valutazione della correttezza, i valori debiased vengono memorizzati nella tabella di registrazione del payload dell'implementazione del modello. Tutte le transazioni di calcolo del punteggio eseguite tramite questo endpoint vengono automaticamente annullate, come applicabile. È possibile accedere all'endpoint di calcolo del punteggio senza distorsione proprio come si farebbe con il normale endpoint di calcolo del punteggio per il modello distribuito. Oltre a restituire la risposta del modello distribuito, restituisce anche le colonne debiased_prediction
e debiased_probability
.
La colonna
debiased_prediction
contiene il valore di previsione senza distorsione.La colonna
debiased_probability
, rappresenta la probabilità della previsione senza distorsione. Questo array di valori doppi rappresenta la probabilità della previsione senza distorsione che appartiene a una delle classi di previsione.
Abilitazione del parametro di annullamento distorsione
Il debiasing è disabilitato per impostazione predefinita quando si configurano nuove distribuzioni. Si può anche impostare il parametro perform_debias
a true
nella sezione parametri dell'SDK Python o specificare l'etichetta dell'ambiente a livello di pod per abilitare debiasingm PERFORM_DEBIASING
come mostrato nell'esempio seguente:
wos_client.monitor_instances.update(
monitor_instance_id=<FAIRNESS_MONITOR_INSTANCE_ID>,
patch_document=[JsonPatchOperation(
op=OperationTypes.ADD,
path='/parameters/perform_debias',
value=True
)],update_metadata_only=True
)
Quando si applica la patch all'istanza di controllo, il controllo della correttezza esegue l'annullamento della distorsione durante la valutazione successiva.
Per ulteriori informazioni, vedi la documentazione diWatson OpenScale Python SDK.
Revisione delle transazioni non distorte
È possibile utilizzare l'endpoint delle transazioni con distorsione annullata per esaminare le transazioni con distorsione annullata per le valutazioni di correttezza. Per ulteriori informazioni, vedi Sending model transactions in Watson OpenScale.
Poiché l'endpoint di annullamento della distorsione si occupa della distorsione di runtime, continua a eseguire i controlli in background per i dati di calcolo del punteggio dalla tabella di registrazione del payload. Inoltre, continua ad aggiornare il modello di mitigazione della distorsione, che annulla la distorsione delle richieste di calcolo del punteggio.
È possibile configurare una soglia di equità per indicare quando i dati sono accettabili e imparziali.
Mitiga la distorsione con una nuova versione del modello:
- È necessario creare una nuova versione del modello che risolva il problema. I record distorti vengono memorizzati nella tabella di etichettatura manuale. Questi record distorti devono essere etichettati manualmente e quindi il modello viene riaddestrato attraverso i dati aggiuntivi per creare una nuova versione del modello non distorta.
Estrarre un elenco di singoli record distorti:
- Collegarsi alla tabella di etichettatura manuale e leggere i record utilizzando query SQL standard.
Argomento principale Revisione delle transazioni del modello