L'outil What-If (WIT) fournit une interface facile à utiliser pour approfondir la compréhension des modèles ML de classification et de régression par boîte noire. Avec le plugin, vous pouvez effectuer des inférences sur un large éventail d'exemples et visualiser immédiatement les résultats de différentes manières. De plus, les exemples peuvent être modifiés manuellement ou par programme et réexécutés dans le modèle afin de voir les résultats des modifications. Il contient des outils permettant d'étudier les performances et l'équité du modèle sur des sous-ensembles d'un ensemble de données.
Le but de l'outil est de donner aux utilisateurs un moyen simple, intuitif et puissant d'explorer et d'étudier les modèles ML formés via une interface visuelle sans aucun code requis.
L'outil est accessible via TensorBoard ou directement dans un notebook Jupyter ou Colab. Pour plus de détails, des démonstrations, des procédures pas à pas et des informations spécifiques à l'utilisation de WIT en mode ordinateur portable, consultez le site Web What-If Tool .
Exigences
Pour utiliser WIT dans TensorBoard, deux choses sont nécessaires :
- Le ou les modèles que vous souhaitez explorer doivent être servis à l'aide de TensorFlow Serving à l'aide de l'API de classification, de régression ou de prédiction.
- L'ensemble de données à déduire par les modèles doit se trouver dans un fichier TFRecord accessible par le serveur Web TensorBoard.
Usage
Lors de l'ouverture du tableau de bord What-If Tool dans TensorBoard, vous verrez un écran de configuration dans lequel vous fournissez l'hôte et le port du serveur de modèles, le nom du modèle servi, le type de modèle et le chemin d'accès au fichier TFRecords. charger. Après avoir rempli ces informations et cliqué sur « Accepter », WIT chargera l'ensemble de données et exécutera l'inférence avec le modèle, affichant les résultats.
Pour plus de détails sur les différentes fonctionnalités de WIT et sur la manière dont elles peuvent faciliter la compréhension du modèle et les enquêtes d'équité, consultez la procédure pas à pas sur le site Web What-If Tool .
Modèle de démonstration et ensemble de données
Si vous souhaitez tester WIT dans TensorBoard avec un modèle pré-entraîné, vous pouvez télécharger et décompresser un modèle et un ensemble de données pré-entraînés à partir de https://storage.googleapis.com/what-if-tool-resources/uci-census -demo/uci-census-demo.zip Le modèle est un modèle de classification binaire qui utilise l'ensemble de données du recensement UCI pour prédire si une personne gagne plus de 50 000 $ par an. Cet ensemble de données et cette tâche de prédiction sont souvent utilisés dans la modélisation de l’apprentissage automatique et la recherche sur l’équité.
Définissez la variable d'environnement MODEL_PATH sur l'emplacement du répertoire de modèle résultant sur votre ordinateur.
Installez Docker et TensorFlow Serving en suivant la documentation officielle .
Servez le modèle à l'aide de docker via docker run -p 8500:8500 --mount type=bind,source=${MODEL_PATH},target=/models/uci_income -e MODEL_NAME=uci_income -t tensorflow/serving
Notez que vous devrez peut-être exécuter la commande avec sudo
en fonction de la configuration de votre docker.
Lancez maintenant Tensorboard et utilisez la liste déroulante du tableau de bord pour accéder à l'outil What-If.
Sur l'écran de configuration, définissez l'adresse d'inférence sur « localhost:8500 », le nom du modèle sur « uci_ Income » et le chemin d'accès aux exemples jusqu'au chemin complet du fichier adult.tfrecord
téléchargé, puis appuyez sur « Accepter ».
Certaines choses à essayer avec l'outil What-If dans cette démo incluent :
- Modification d'un seul point de données et visualisation du changement d'inférence qui en résulte.
- Explorer la relation entre les caractéristiques individuelles de l'ensemble de données et les résultats d'inférence du modèle via des tracés de dépendance partielle.
- Découper l'ensemble de données en sous-ensembles et comparer les performances entre les tranches.
Pour un aperçu approfondi des fonctionnalités de l'outil, consultez la procédure pas à pas de l'outil What-If .
Notez que la fonctionnalité de vérité terrain dans l'ensemble de données que ce modèle tente de prédire est nommée « Cible ». Ainsi, lorsque vous utilisez l'onglet « Performances et équité », « Cible » est ce que vous souhaiterez spécifier dans la liste déroulante des fonctionnalités de vérité terrain.