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

Ferramenta hipotética

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 plugin, você pode realizar inferências em um grande conjunto de exemplos e visualizar imediatamente os resultados de diversas maneiras. Além disso, os exemplos podem ser editados manualmente ou programaticamente e reexecutados no modelo para ver os resultados das alterações. Ele contém ferramentas para investigar o desempenho do modelo e a imparcialidade em subconjuntos de um conjunto de dados.

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

A ferramenta pode ser acessada através 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 veiculados 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 TensorBoard.

Uso

Ao abrir o painel da ferramenta What-If no TensorBoard, você verá uma tela de configuração onde fornece o host e a porta do servidor do modelo, o nome do modelo que está sendo servido, 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 fará 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 do Censo UCI para prever se uma pessoa ganha mais de US$ 50 mil por ano. Esse conjunto de dados e tarefa de previsão são frequentemente usados ​​em modelagem de aprendizado de máquina e pesquisa de justiça.

Configure 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 seu 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 dos exemplos para o caminho completo do 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 características individuais no conjunto de dados e os resultados de inferência do modelo por meio de gráficos de dependência parcial.
  • Dividir 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 verdade no conjunto de dados que este modelo está tentando prever é denominado "Alvo". Portanto, ao usar a guia "Desempenho e justiça", "Alvo" é o que você deseja especificar no menu suspenso do recurso de verdade.