A ferramenta What-If (WIT) fornece uma interface fácil de usar para expandir a compreensão da classificação caixa preta e modelos de regressão de ML. Com o plugin, você pode realizar inferências sobre 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 é fornecer à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, demonstrações, orientações e informações mais detalhadas 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 da 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 sendo servido, o tipo de modelo e o caminho para o arquivo TFRecords carga. 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 de variações hipotéticas.
Modelo de demonstração e conjunto de dados
Se você deseja testar o WIT no TensorBoard com um modelo pré-treinado, pode baixar e descompactar um modelo pré-treinado e conjunto de dados emhttps://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 $ 50 mil por ano. Este conjunto de dados e tarefa de previsão é frequentemente usado em modelagem de aprendizado de máquina e pesquisa de justiça.
Defina a variável de ambiente MODEL_PATH para a localização do diretório de modelo resultante em sua máquina.
Instale o docker e o TensorFlow Serving de acordo com a documentação oficial .
Sirva o modelo usando docker por meio de 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 a lista suspensa 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 de variações hipotéticas nesta demonstração incluem:
- Editar um único ponto de dados e ver 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.
- Dividir o conjunto de dados em subconjuntos e comparar o desempenho entre as fatias.
Para uma análise aprofundada dos recursos da ferramenta, consulte 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 na lista suspensa do recurso de verdade.