Puoi utilizzare lo strumento What-If (WIT) all'interno degli ambienti di blocchi note per ispezionare i modelli di AI Platform Prediction tramite una dashboard interattiva. Lo strumento What-If si integra con TensorBoard, blocchi note Jupyter, blocchi note Colab e JupyterHub. È inoltre preinstallato sulle istanze TensorFlow dei blocchi note gestiti dall'utente di Vertex AI Workbench.
Questa pagina spiega come utilizzare lo strumento What-If con un modello addestrato di cui è già stato eseguito il deployment su AI Platform. Scopri come eseguire il deployment dei modelli.
Installa lo strumento What-If
Questa immagine mostra come installare witwidget
in diversi ambienti
di blocco note:
Blocchi note gestiti dall'utente
witwidget
è già installato nelle istanze dei blocchi note gestiti dall'utente.
Puoi caricare i tutorial dello strumento What-If nella tua istanza di blocco note clonando il repository del tutorial WIT nell'istanza. Vedi come clonare un repository GitHub in un'istanza di blocchi note gestiti dall'utente.
Blocco note Jupyter
Installa e abilita WIT per Jupyter tramite i seguenti comandi:
pip install witwidget
jupyter nbextension install --py --symlink --sys-prefix witwidget
jupyter nbextension enable --py --sys-prefix witwidget
Per utilizzare TensorFlow con il supporto GPU (tensorflow-gpu
), installa la versione di witwidget compatibile con GPU:
pip install witwidget-gpu
jupyter nbextension install --py --symlink --sys-prefix witwidget
jupyter nbextension enable --py --sys-prefix witwidget
Questi comandi di installazione devono essere eseguiti solo una volta nell'ambiente Jupyter. In seguito, ogni volta che apri un kernel Jupyter, lo strumento What-If sarà disponibile.
blocco note di Colab
Installa il widget nel runtime del kernel del blocco note eseguendo una cella contenente:
!pip install witwidget
Per utilizzare TensorFlow con il supporto GPU (tensorflow-gpu
), installa la versione di witwidget compatibile con GPU:
!pip install witwidget-gpu
JupyterLab
Segui queste istruzioni per JupyterLab al di fuori dei blocchi note gestiti dall'utente.
Installa e abilita WIT per JupyterLab eseguendo una cella contenente:
!pip install witwidget
!jupyter labextension install wit-widget
!jupyter labextension install @jupyter-widgets/jupyterlab-manager
Per il supporto della GPU TensorFlow, utilizza il pacchetto witwidget-gpu
:
!pip install witwidget-gpu
!jupyter labextension install wit-widget
!jupyter labextension install @jupyter-widgets/jupyterlab-manager
Tieni presente che potrebbe essere necessario eseguire i comandi !sudo jupyter labextension ...
,
a seconda della configurazione del blocco note.
Modificare gli output delle previsioni per lo strumento What-If
Per i modelli in cui l'output non corrisponde a quanto richiesto dallo strumento What-If, devi definire una funzione di aggiustamento della previsione nel codice.
Lo strumento What-If richiede i seguenti formati di input:
- Modello di classificazione: un elenco dei punteggi delle classi
- Modello di regressione: punteggio di regressione
Ad esempio, un modello di classificazione binaria XGBoost restituisce punteggi solo per la classe positiva. Poiché lo strumento What-If prevede punteggi per ogni classe, devi utilizzare la seguente funzione di aggiustamento della previsione per ottenere un elenco con i punteggi positivi e negativi:
def adjust_prediction(pred):
return [1 - pred, pred]
Definisci la funzione di correzione della previsione all'interno di una cella di codice del blocco note prima di configurare lo strumento What-If.
Configurazione dello strumento What-If
Puoi utilizzare lo strumento What-If per ispezionare un solo modello o confrontare due modelli.
In WitConfigBuilder
, inserisci i valori appropriati per il tuo progetto Google Cloud, il modello e la versione di AI Platform Prediction e gli altri valori appropriati per il tuo modello.
Importa
witwidget
:import witwidget
Crea una
WitConfigBuilder
per passare vari parametri relativi al tuo modello e al tuo progetto di AI Platform Prediction allo strumento What-If. Puoi usare lo strumento What-If per esaminare un modello o confrontare due modelli. Inserisci i valori appropriati per il tuo progetto Google Cloud, il modello e la versione di AI Platform Prediction e gli altri valori appropriati per il tuo modello.Ispeziona un modello
Questo generatore di configurazioni mostra come utilizzare lo strumento What-If per ispezionare un modello. Consulta l'esempio completo di blocco note con un modello XGBoost di cui è stato eseguito il deployment.
Consulta il codice di
WitConfigBuilder
per ulteriori dettagli su ciascun metodo.PROJECT_ID = 'YOUR_PROJECT_ID' MODEL_NAME = 'YOUR_MODEL_NAME' VERSION_NAME = 'YOUR_VERSION_NAME' TARGET_FEATURE = 'mortgage_status' LABEL_VOCAB = ['denied', 'approved'] config_builder = (WitConfigBuilder(test_examples.tolist(), features.columns.tolist() + ['mortgage_status']) .set_ai_platform_model(PROJECT_ID, MODEL_NAME, VERSION_NAME, adjust_prediction=adjust_prediction) .set_target_feature(TARGET_FEATURE) .set_label_vocab(LABEL_VOCAB))
Confronta modelli
Questo generatore di configurazioni mostra come utilizzare lo strumento What-If per ispezionare e confrontare due modelli. Consulta l'esempio completo di blocco note che confronta i modelli Keras e scikit-learn di cui è stato eseguito il deployment.
Consulta il codice di
WitConfigBuilder
per ulteriori dettagli su ciascun metodo.PROJECT_ID = 'YOUR_PROJECT_ID' KERAS_MODEL_NAME = 'YOUR_KERAS_MODEL_NAME' KERAS_VERSION_NAME = 'VERSION_NAME_OF_YOUR_KERAS_MODEL' SKLEARN_MODEL_NAME = 'YOUR_SKLEARN_MODEL_NAME' SKLEARN_VERSION_NAME = 'VERSION_NAME_OF_YOUR_SKLEARN_MODEL' TARGET_FEATURE = 'quality' config_builder = (WitConfigBuilder(test_examples.tolist(), features.columns.tolist() + [TARGET_FEATURE]) .set_ai_platform_model(PROJECT_ID, KERAS_MODEL_NAME, KERAS_VERSION_NAME) .set_predict_output_tensor('sequential').set_uses_predict_api(True) .set_target_feature(TARGET_FEATURE) .set_model_type('regression') .set_compare_ai_platform_model(PROJECT_ID, SKLEARN_MODEL_NAME, SKLEARN_VERSION_NAME))
Passa il generatore di configurazioni a WitWidget e imposta un'altezza di visualizzazione. Lo strumento What-If viene visualizzato come una visualizzazione interattiva all'interno del tuo blocco note.
WitWidget(config_builder, height=800)
Passaggi successivi
- Guarda le demo e la procedura dettagliata dello strumento What-If per scoprire come esplorare i modelli.
- Scopri come puoi utilizzare lo strumento What-If per ottimizzare l'equità dell'IA nel tuo modello.