L'outil de simulation What-If (WIT) permet d'inspecter des modèles AI Platform Prediction dans les environnements notebook via un tableau de bord interactif. L'outil What-If s'intègre à TensorBoard, aux notebooks Jupyter et Colab, ainsi qu'à JupyterHub. Il est également préinstallé sur les instances TensorFlow de notebooks Vertex AI Workbench gérés par l'utilisateur.
Cette page explique comment utiliser l'outil What-If avec un modèle entraîné et déjà déployé sur AI Platform. Découvrez comment déployer des modèles.
Installer l'outil de simulation What-If
Cette section explique comment installer witwidget
dans différents environnements notebook :
Notebooks gérés par l'utilisateur
Le fichier witwidget
est déjà installé dans les instances de notebooks gérés par l'utilisateur.
Pour charger les tutoriels de l'outil What-If dans votre instance de notebook, il vous suffit de cloner le dépôt du tutoriel WIT (What-If Tool). Découvrez comment cloner un dépôt GitHub dans une instance de notebooks gérés par l'utilisateur.
Notebook Jupyter
Installez et activez WIT pour Jupyter à l'aide des commandes suivantes :
pip install witwidget
jupyter nbextension install --py --symlink --sys-prefix witwidget
jupyter nbextension enable --py --sys-prefix witwidget
Pour utiliser TensorFlow avec la compatibilité GPU (tensorflow-gpu
), installez la version GPU compatible du widget WIT :
pip install witwidget-gpu
jupyter nbextension install --py --symlink --sys-prefix witwidget
jupyter nbextension enable --py --sys-prefix witwidget
Vous n'avez besoin d'exécuter ces commandes d'installation qu'une seule fois dans votre environnement Jupyter. Par la suite, l'outil What-If est disponible chaque fois que vous affichez un noyau Jupyter.
Notebook Colab
Installez le widget dans l'environnement d'exécution du noyau notebook en exécutant une cellule contenant :
!pip install witwidget
Pour utiliser TensorFlow avec la compatibilité GPU (tensorflow-gpu
), installez la version GPU compatible du widget WIT :
!pip install witwidget-gpu
JupyterLab
Suivez ces instructions pour JupyterLab en dehors des notebooks gérés par l'utilisateur.
Installez et activez WIT pour JupyterLab en exécutant une cellule contenant :
!pip install witwidget
!jupyter labextension install wit-widget
!jupyter labextension install @jupyter-widgets/jupyterlab-manager
Pour la compatibilité du GPU TensorFlow, utilisez le package witwidget-gpu
:
!pip install witwidget-gpu
!jupyter labextension install wit-widget
!jupyter labextension install @jupyter-widgets/jupyterlab-manager
Selon la configuration de votre notebook, vous devrez peut-être exécuter des commandes !sudo jupyter labextension ...
.
Ajuster les résultats des prédictions pour l'outil What-If
Pour les modèles dont le résultat ne correspond pas aux exigences de l'outil What-If, vous devez définir une fonction d'ajustement des prédictions dans votre code.
L'outil What-If nécessite les formats d'entrée suivants :
- Modèle de classification : liste des scores de classe
- Modèle de régression : score de régression
Par exemple, un modèle de classification binaire XGBoost ne renvoie des scores que pour la classe positive. Comme l'outil What-If attend des scores pour chaque classe, vous devez utiliser la fonction d'ajustement des prédictions suivante pour obtenir une liste comportant les scores négatifs et positifs :
def adjust_prediction(pred):
return [1 - pred, pred]
Définissez la fonction d'ajustement des prédictions dans une cellule de code notebook avant de configurer l'outil What-If.
Configurer l'outil What-If
Vous pouvez utiliser l'outil What-If pour inspecter un modèle ou comparer deux modèles.
Dans le champ WitConfigBuilder
, renseignez les valeurs concernant votre projet Google Cloud, votre modèle et votre version AI Platform Prediction, ainsi que les autres valeurs appropriées pour votre modèle.
Importez
witwidget
:import witwidget
Créez un
WitConfigBuilder
pour transmettre divers paramètres de votre modèle et de votre projet AI Platform Prediction à l'outil What-If. Vous pouvez utiliser l'outil What-If pour inspecter un modèle ou comparer deux modèles. Renseignez les valeurs concernant votre projet Google Cloud, votre modèle et votre version AI Platform Prediction, ainsi que les autres valeurs appropriées pour votre modèle.Inspecter un modèle
Cet outil de configuration explique comment utiliser l'outil What-If pour inspecter un modèle. Consultez le notebook d'exemple complet avec un modèle XGBoost déployé.
Pour plus d'informations sur chaque méthode, reportez-vous au code du
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))
Comparer des modèles
Cet outil de configuration explique comment utiliser l'outil What-If pour inspecter et comparer deux modèles. Consultez le notebook d'exemple complet comparant les modèles Keras et scikit-learn déployés.
Pour plus d'informations sur chaque méthode, reportez-vous au code du
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))
Transmettez l'outil de configuration au widget WIT et définissez la hauteur d'affichage. L'outil What-If s'affiche sous forme de visualisation interactive dans votre notebook.
WitWidget(config_builder, height=800)
Étape suivante
- Regardez les démos et le tutoriel de l'outil What-If pour apprendre à explorer des modèles.
- Découvrez comment utiliser l'outil What-If pour optimiser l'équité de l'IA dans votre modèle.