Compreensão do modelo com o painel da ferramenta What-If

Ferramenta What-If

A ferramenta What-If (WIT) fornece uma interface fácil de usar para expandir a compreensão da classificação de caixa preta e modelos de ML de regressão. Com o plug-in, você pode realizar inferência em um grande conjunto de exemplos e visualizar imediatamente os resultados de várias maneiras. Além disso, os exemplos podem ser editados manualmente ou programaticamente e executados novamente no modelo para ver os resultados das alterações. Ele contém ferramentas para investigar o desempenho e a imparcialidade do modelo em subconjuntos de um conjunto de dados.

O objetivo da ferramenta é oferecer às pessoas uma maneira simples, intuitiva e poderosa de explorar e investigar modelos de ML treinados por meio de uma interface visual sem absolutamente nenhum código necessário.

A ferramenta pode ser acessada por meio do TensorBoard ou diretamente em um notebook Jupyter ou Colab. Para obter detalhes mais detalhados, demonstrações, orientações e informações específicas sobre o uso do WIT no modo notebook, consulte o site da ferramenta What-If .

Requisitos

Para usar o WIT no TensorBoard, duas coisas são necessárias:

  • Os modelos que você deseja explorar devem ser exibidos usando o TensorFlow Serving usando a API de classificação, regressão ou previsão.
  • O conjunto de dados a ser inferido pelos modelos deve estar em um arquivo TFRecord acessível pelo servidor web do TensorBoard.

Uso

Ao abrir o painel da ferramenta What-If no TensorBoard, você verá uma tela de configuração na qual fornece o host e a porta do servidor modelo, o nome do modelo que está sendo atendido, o tipo de modelo e o caminho para o arquivo TFRecords para carregar. Após preencher essas informações e clicar em "Aceitar", o WIT carregará o conjunto de dados e executará a inferência com o modelo, exibindo os resultados.

Para obter detalhes sobre os diferentes recursos do WIT e como eles podem ajudar na compreensão do modelo e nas investigações de imparcialidade, consulte o passo a passo no site da ferramenta What-If .

Modelo de demonstração e conjunto de dados

Se quiser testar o WIT no TensorBoard com um modelo pré-treinado, você pode baixar e descompactar um modelo pré-treinado e um conjunto de dados em https://storage.googleapis.com/what-if-tool-resources/uci-census -demo/uci-census-demo.zip O modelo é um modelo de classificação binária que usa o conjunto de dados UCI Census para prever se uma pessoa ganha mais de $ 50.000 por ano. Esse conjunto de dados e tarefa de previsão é frequentemente usado em modelagem de aprendizado de máquina e pesquisa de imparcialidade.

Defina a variável de ambiente MODEL_PATH para o local do diretório do modelo resultante em sua máquina.

Instale o docker e o TensorFlow Serving seguindo a documentação oficial .

Sirva o modelo usando docker por meio docker run -p 8500:8500 --mount type=bind,source=${MODEL_PATH},target=/models/uci_income -e MODEL_NAME=uci_income -t tensorflow/serving Observe que pode ser necessário executar o comando com sudo dependendo da configuração do docker.

Agora inicie o tensorboard e use o menu suspenso do painel para navegar até a ferramenta What-If.

Na tela de configuração, defina o endereço de inferência como "localhost:8500", o nome do modelo como "uci_income" e o caminho para exemplos como o caminho completo para o arquivo adult.tfrecord baixado e pressione "Aceitar".

Tela de configuração para demonstração

Algumas coisas para tentar com a ferramenta What-If nesta demonstração incluem:

  • Editando um único ponto de dados e vendo a mudança resultante na inferência.
  • Explorar a relação entre recursos individuais no conjunto de dados e os resultados de inferência do modelo por meio de gráficos de dependência parcial.
  • Fatiar o conjunto de dados em subconjuntos e comparar o desempenho entre as fatias.

Para uma visão aprofundada dos recursos da ferramenta, confira o passo a passo da ferramenta What-If .

Observe que o recurso de base de dados no conjunto de dados que este modelo está tentando prever é denominado "Destino", portanto, ao usar a guia "Desempenho e imparcialidade", "Alvo" é o que você deseja especificar na lista suspensa de recursos de base de verdade.