Use a Ferramenta What-If (WIT, na sigla em inglês) [página em inglês] em ambientes de notebook para inspecionar modelos do AI Platform Prediction em um painel interativo. A ferramenta se integra ao TensorBoard, aos notebooks do Jupyter e do Colab e ao JupyterHub. Ela também vem pré-instalada nas instâncias do TensorFlow de notebooks do Vertex AI Workbench gerenciados pelo usuário.
Nesta página, você verá como usar a ferramenta What-If com um modelo treinado já implantado no AI Platform. Saiba como implantar modelos.
Instalar a Ferramenta What-If
Veja como instalar witwidget
(em inglês) em uma variedade de ambientes de notebook:
Notebooks gerenciados por usuários
O witwidget
já está instalado em
instâncias de notebooks gerenciados
pelo usuário.
Carregue os tutoriais da Ferramenta What-If na sua instância do notebook clonando o repositório do tutorial da WIT (em inglês) na sua instância. Veja como clonar um repositório do GitHub em uma instância de notebooks gerenciados pelo usuário.
Notebook do Jupyter
Instale e ative a WIT para Jupyter por meio dos seguintes comandos:
pip install witwidget
jupyter nbextension install --py --symlink --sys-prefix witwidget
jupyter nbextension enable --py --sys-prefix witwidget
Para usar o TensorFlow com suporte a GPUs (tensorflow-gpu
), instale a versão witwidget compatível:
pip install witwidget-gpu
jupyter nbextension install --py --symlink --sys-prefix witwidget
jupyter nbextension enable --py --sys-prefix witwidget
Basta executar esses comandos de instalação uma vez no ambiente do Jupyter. Posteriormente, sempre que você abrir um kernel do Jupyter, a Ferramenta What-If estará disponível.
Bloco do Colab
Instale o widget no ambiente de execução do notebook do kernel executando uma célula contendo:
!pip install witwidget
Para usar o TensorFlow com suporte a GPUs (tensorflow-gpu
), instale a versão witwidget compatível:
!pip install witwidget-gpu
JupyterLab
Siga estas instruções para o JupyterLab fora dos notebooks gerenciados pelo usuário.
Instale e ative a WIT para JupyterLab executando uma célula contendo:
!pip install witwidget
!jupyter labextension install wit-widget
!jupyter labextension install @jupyter-widgets/jupyterlab-manager
Para compatibilidade com GPUs do TensorFlow, use o pacote witwidget-gpu
:
!pip install witwidget-gpu
!jupyter labextension install wit-widget
!jupyter labextension install @jupyter-widgets/jupyterlab-manager
Talvez seja necessário executar comandos !sudo jupyter labextension ...
dependendo da configuração do notebook.
Ajustar saídas de previsão para a Ferramenta What-If
Para os modelos em que a saída não corresponde ao que a ferramenta exige, você precisa definir uma função de ajuste de previsão no código.
São necessários os seguintes formatos de entrada:
- Modelo de classificação: uma lista de pontuações de classe
- Modelo de regressão: uma pontuação de regressão
Por exemplo, um modelo de classificação binária XGBoost retorna pontuações somente para a classe positiva. Como a ferramenta espera pontuações para cada classe, use a seguinte função de ajuste de previsão para conseguir uma lista com as pontuações negativas e positivas:
def adjust_prediction(pred):
return [1 - pred, pred]
Defina a função de ajuste de previsão em uma célula de código do notebook antes de configurar a ferramenta What-If.
Configurar a ferramenta What-If
É possível usar a Ferramenta What-If para inspecionar um modelo ou comparar dois.
Em WitConfigBuilder
(em inglês), preencha os valores do projeto do Google Cloud, do modelo e versão do AI Platform Prediction e outros valores apropriados do seu modelo.
Importe
witwidget
:import witwidget
Crie um
WitConfigBuilder
(em inglês) para passar vários parâmetros sobre o modelo e o projeto do AI Platform Prediction para a Ferramenta What-If. É possível usar a Ferramenta What-If para inspecionar um modelo ou comparar modelos. Preencha os valores do projeto do Google Cloud, do modelo e versão do AI Platform Prediction e outros valores apropriados do modelo.Inspecionar um modelo
Com este criador de configurações, você verá como usar a Ferramenta What-If para inspecionar um modelo. Veja o exemplo completo de notebook com um modelo XGBoost implantado (em inglês).
Veja o código para
WitConfigBuilder
(em inglês) para mais detalhes sobre cada método.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))
Comparar modelos
Com este criador de configurações, você verá como usar a Ferramenta What-If para inspecionar e comparar dois modelos. Veja o exemplo completo de notebook que compara os modelos Keras e scikit-learn implantados (em inglês).
Veja o código para
WitConfigBuilder
(em inglês) para mais detalhes sobre cada método.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))
Passe o criador de configurações para o WitWidget e defina uma altura de exibição. A Ferramenta What-If mostra uma visualização interativa no notebook.
WitWidget(config_builder, height=800)
A seguir
- Veja as demonstrações da Ferramenta What-If e o passo a passo para explorar os modelos (links em inglês).
- Saiba como usar a Ferramenta What-If para aprimorar a imparcialidade da IA (em inglês) no modelo.