Lo strumento What-If (WIT) fornisce un'interfaccia facile da usare per ampliare la comprensione dei modelli ML di classificazione e regressione black-box. Con il plugin puoi eseguire inferenze su un'ampia serie di esempi e visualizzare immediatamente i risultati in vari modi. Inoltre, gli esempi possono essere modificati manualmente o a livello di codice ed rieseguiti nel modello per vedere i risultati delle modifiche. Contiene strumenti per analizzare le prestazioni e l'equità del modello su sottoinsiemi di un set di dati.
Lo scopo dello strumento è offrire agli utenti un modo semplice, intuitivo e potente per esplorare e analizzare modelli ML addestrati attraverso un'interfaccia visiva che non richiede assolutamente codice.
È 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, consultare il sito Web dello strumento What-If .
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 dettagli sulle diverse funzionalità di WIT e su come possono aiutare nella comprensione del modello e nelle indagini sull'equità, consultare la procedura dettagliata sul sito Web What-If Tool .
Modello dimostrativo 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. Questo set di dati e l'attività di previsione vengono spesso utilizzati nella modellazione dell'apprendimento automatico e nella ricerca sull'equità.
Imposta la variabile di ambiente MODEL_PATH sulla posizione della directory del modello risultante sul tuo computer.
Installa docker e TensorFlow Serving seguendo la documentazione ufficiale .
Servire 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
Tieni presente che potrebbe essere necessario eseguire il comando con sudo
a seconda della configurazione della finestra mobile.
Ora avvia tensorboard e utilizza il menu a discesa della 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 del cambiamento risultante nell'inferenza.
- Esplorare la relazione tra le singole caratteristiche del set di dati e i risultati dell'inferenza del modello attraverso grafici di dipendenza parziale.
- Suddivisione 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 .
Tieni presente che la caratteristica di verità nel set di dati che questo modello sta cercando di prevedere è denominata "Target", quindi quando utilizzi la scheda "Prestazioni ed equità", "Target" è ciò che vorrai specificare nel menu a discesa della caratteristica di verità.