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".
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.