Utilizzo dello strumento What-If

Puoi utilizzare lo strumento What-If (WIT) negli ambienti di notebook per ispezionare i modelli di previsione di AI Platform 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 notebook gestiti dall'utente di Vertex AI Workbench.

Questa pagina spiega come utilizzare lo strumento What-If con un modello addestrato già disegnato su AI Platform. Impara come eseguire il deployment dei modelli.

Installa lo strumento What-If

Questo mostra come installare witwidget in diversi blocchi note ambienti:

Blocchi note gestiti dall'utente

witwidget è già installato in blocchi note gestiti dall'utente di Compute Engine.

Puoi caricare i tutorial dello strumento What-If nell'istanza del tuo notebook eseguendo il cloning del repo dei tutorial WIT nell'istanza. Consulta: come clonare un repository GitHub in un blocco note gestito dall'utente in esecuzione.

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 la GPU:

pip install witwidget-gpu
jupyter nbextension install --py --symlink --sys-prefix witwidget
jupyter nbextension enable --py --sys-prefix witwidget

Devi eseguire questi comandi di installazione solo una volta nel file completamente gestito di Google Cloud. 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 notebook eseguendo una cella contenente:

!pip install witwidget

Per utilizzare TensorFlow con il supporto GPU (tensorflow-gpu), installa la versione di witwidget compatibile con la GPU:

!pip install witwidget-gpu

JupyterLab

Segui queste istruzioni per JupyterLab al di fuori di e gestire i 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 di 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 potresti dover eseguire i comandi !sudo jupyter labextension ... a seconda della configurazione del tuo notebook.

Regola gli output di previsione per lo strumento What-If

Per tutti 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 di punteggi delle classi
  • Modello di regressione: un 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, utilizza la seguente funzione di aggiustamento della previsione per ottenere un elenco con entrambi i punteggi negativi e positivi:

def adjust_prediction(pred):
  return [1 - pred, pred]

Definisci la funzione di aggiustamento della previsione all'interno di una cella di codice del notebook prima di configurare lo strumento What-If.

Configura lo strumento What-If

Puoi utilizzare lo strumento What-If per ispezionare un modello o per confrontare due modelli. Nella sezione WitConfigBuilder, inserisci i valori appropriati. per il tuo progetto Google Cloud, il tuo modello AI Platform Prediction e altri valori appropriati per il modello.

  1. Importa witwidget:

    import witwidget
    
  2. Crea un WitConfigBuilder per trasmettere allo strumento What-If vari parametri relativi al tuo modello e al tuo progetto AI Platform Prediction. Puoi usare lo strumento What-If per ispezionare o confrontare due modelli. Inserisci i valori appropriati per il tuo progetto Google Cloud, il modello e la versione di AI Platform Prediction e altri valori in base al tuo modello.

    Ispezionare un modello

    Questo generatore di configurazione mostra come utilizzare lo strumento What-If per ispezionarne uno un modello di machine learning. Consulta il notebook di esempio completo con un modello XGBoost di cui è stato eseguito il deployment.

    Per ulteriori dettagli su ciascun metodo, consulta il codice per WitConfigBuilder.

    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 configurazione mostra come utilizzare lo strumento What-If per esaminare e due modelli. Consulta il blocco note di esempio completo che confronta i modelli Keras e scikit-learn di cui è stato eseguito il deployment.

    Per ulteriori dettagli su ciascun metodo, consulta il codice per WitConfigBuilder.

    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))
    
  3. Passa il generatore di configurazione a WitWidget e imposta un'altezza di visualizzazione. Cosa succederebbe Lo strumento viene mostrato come visualizzazione interattiva all'interno del blocco note.

    WitWidget(config_builder, height=800)
    

Passaggi successivi