La herramienta What-If (WIT) proporciona una interfaz fácil de usar para ampliar la comprensión de los modelos de aprendizaje automático de regresión y clasificación de caja negra. Con el complemento, puede realizar inferencias en un gran conjunto de ejemplos y visualizar inmediatamente los resultados de diversas maneras. Además, los ejemplos se pueden editar manual o mediante programación y volver a ejecutar el modelo para ver los resultados de los cambios. Contiene herramientas para investigar el rendimiento y la equidad del modelo en subconjuntos de un conjunto de datos.
El propósito de la herramienta es brindar a las personas una forma simple, intuitiva y poderosa de explorar e investigar modelos de ML entrenados a través de una interfaz visual sin necesidad de código.
Se puede acceder a la herramienta a través de TensorBoard o directamente en un cuaderno Jupyter o Colab. Para obtener detalles más detallados, demostraciones, tutoriales e información específica sobre el uso de WIT en modo portátil, consulte el sitio web de la herramienta What-If .
Requisitos
Para utilizar WIT en TensorBoard, son necesarias dos cosas:
- Los modelos que desea explorar deben entregarse mediante TensorFlow Serving mediante la API de clasificación, regresión o predicción.
- El conjunto de datos que los modelos deben inferir debe estar en un archivo TFRecord al que puede acceder el servidor web TensorBoard.
Uso
Al abrir el panel de la herramienta What-If en TensorBoard, verá una pantalla de configuración donde proporciona el host y el puerto del servidor de modelos, el nombre del modelo que se sirve, el tipo de modelo y la ruta al archivo TFRecords para carga. Después de completar esta información y hacer clic en "Aceptar", WIT cargará el conjunto de datos y ejecutará la inferencia con el modelo, mostrando los resultados.
Para obtener detalles sobre las diferentes características de WIT y cómo pueden ayudar en la comprensión del modelo y las investigaciones de equidad, consulte el tutorial en el sitio web de la herramienta What-If .
Modelo de demostración y conjunto de datos
Si desea probar WIT en TensorBoard con un modelo previamente entrenado, puede descargar y descomprimir un modelo y un conjunto de datos previamente entrenados desde https://storage.googleapis.com/what-if-tool-resources/uci-census -demo/uci-census-demo.zip El modelo es un modelo de clasificación binaria que utiliza el conjunto de datos del censo de la UCI para predecir si una persona gana más de 50.000 dólares al año. Este conjunto de datos y esta tarea de predicción se utilizan a menudo en el modelado de aprendizaje automático y en la investigación de equidad.
Establezca la variable de entorno MODEL_PATH en la ubicación del directorio del modelo resultante en su máquina.
Instale Docker y TensorFlow Serving siguiendo la documentación oficial .
Entregue el modelo usando Docker a través docker run -p 8500:8500 --mount type=bind,source=${MODEL_PATH},target=/models/uci_income -e MODEL_NAME=uci_income -t tensorflow/serving
. Tenga en cuenta que es posible que deba ejecutar el comando con sudo
según la configuración de su ventana acoplable.
Ahora inicie tensorboard y use el menú desplegable del panel para navegar hasta la herramienta What-If.
En la pantalla de configuración, establezca la dirección de inferencia en "localhost:8500", el nombre del modelo en "uci_ Income" y la ruta a los ejemplos para obtener la ruta completa al archivo adult.tfrecord
descargado, luego presione "Aceptar".
Algunas cosas que puede probar con la herramienta What-If de esta demostración incluyen:
- Editar un único punto de datos y ver el cambio resultante en la inferencia.
- Explorar la relación entre las características individuales en el conjunto de datos y los resultados de inferencia del modelo a través de gráficos de dependencia parcial.
- Dividir el conjunto de datos en subconjuntos y comparar el rendimiento entre sectores.
Para conocer en profundidad las funciones de la herramienta, consulte el tutorial de la herramienta What-If .
Tenga en cuenta que la característica de verdad sobre el terreno en el conjunto de datos que este modelo intenta predecir se denomina "Objetivo", por lo que cuando utilice la pestaña "Rendimiento y equidad", "Objetivo" es lo que querrá especificar en el menú desplegable de características de verdad sobre el terreno.