
Lo strumento What-If (WIT) fornisce un'interfaccia di facile utilizzo per ampliare la comprensione della classificazione black-box e dei modelli ML di regressione. Con il plug-in, puoi eseguire l'inferenza su un ampio set di esempi e visualizzare immediatamente i risultati in vari modi. Inoltre, gli esempi possono essere modificati manualmente o in modo programmatico e rieseguiti nel modello per vedere i risultati delle modifiche. Contiene strumenti per studiare le prestazioni e l'equità del modello su sottoinsiemi di un set di dati.
Lo scopo dello strumento è offrire alle persone un modo semplice, intuitivo e potente per esplorare e indagare su modelli ML addestrati attraverso un'interfaccia visiva senza alcun codice richiesto.
È possibile accedere allo strumento tramite TensorBoard o direttamente in un notebook Jupyter o Colab. Per dettagli più approfonditi, demo, procedure dettagliate e informazioni specifiche sull'utilizzo di WIT in modalità notebook, vedere il sito Web What-If Tool .
Requisiti
Per utilizzare WIT in TensorBoard, sono necessarie due cose:
- I modelli che desideri esplorare devono essere serviti utilizzando TensorFlow Serving utilizzando l'API di classificazione, regressione o previsione.
- Il set di dati da dedurre dai modelli deve trovarsi in un file TFRecord accessibile dal server Web TensorBoard.
Utilizzo
Quando apri la dashboard dello strumento What-If in TensorBoard, vedrai una schermata di configurazione in cui fornisci l'host e la porta del server modello, il nome del modello servito, il tipo di modello e il percorso del file TFRecords a cui carico. Dopo aver compilato queste informazioni e fatto clic su "Accetta", WIT caricherà il set di dati ed eseguirà l'inferenza con il modello, visualizzando i risultati.
Per i dettagli sulle diverse funzionalità di WIT e su come possono aiutare nella comprensione del modello e nelle indagini sull'equità, vedere la procedura dettagliata sul sito Web What-If Tool .
Modello demo e set di dati
Se desideri testare WIT in TensorBoard con un modello pre-addestrato, puoi scaricare e decomprimere un modello e un set di dati pre-addestrati da https://storage.googleapis.com/what-if-tool-resources/uci-census -demo/uci-census-demo.zip Il modello è un modello di classificazione binaria che utilizza il set di dati UCI Census per prevedere se una persona guadagna più di $ 50.000 all'anno. Questa attività di set di dati e previsione viene spesso utilizzata nella modellazione dell'apprendimento automatico e nella ricerca sull'equità.
Imposta la variabile di ambiente MODEL_PATH sulla posizione della directory del modello risultante sulla tua macchina.
Installa docker e TensorFlow Serving seguendo la documentazione ufficiale .
Fornisci il modello utilizzando docker tramite docker run -p 8500:8500 --mount type=bind,source=${MODEL_PATH},target=/models/uci_income -e MODEL_NAME=uci_income -t tensorflow/serving Nota che potrebbe essere necessario eseguire il comando con sudo a seconda della configurazione della finestra mobile.
Ora avvia tensorboard e utilizza l'elenco a discesa del dashboard per accedere allo strumento What-If.
Nella schermata di configurazione, imposta l'indirizzo di inferenza su "localhost:8500", il nome del modello su "uci_income" e il percorso degli esempi sul percorso completo del file adult.tfrecord scaricato, quindi premi "Accetta".

Alcune cose da provare con lo strumento What-If in questa demo includono:
- Modifica di un singolo punto dati e visualizzazione della modifica risultante nell'inferenza.
- Esplorazione della relazione tra le singole funzionalità nel set di dati e i risultati dell'inferenza del modello tramite grafici di dipendenza parziali.
- Sezionamento del set di dati in sottoinsiemi e confronto delle prestazioni tra le sezioni.
Per uno sguardo approfondito alle funzionalità dello strumento, consulta la procedura dettagliata dello strumento What-If .
Si noti che la funzione di verità fondamentale nel set di dati che questo modello sta tentando di prevedere è denominata "Target", quindi quando si utilizza la scheda "Performance & Fairness", "Target" è ciò che si desidera specificare nel menu a discesa della funzione di verità fondamentale.