Évaluation des modèles avec le tableau de bord des indicateurs d'équité [bêta]

Indicateurs d'équité

Les indicateurs d'équité pour TensorBoard permettent de calculer facilement des métriques d'équité communément identifiées pour les classificateurs binaires et multiclasses . Avec le plugin, vous pouvez visualiser les évaluations d'équité de vos exécutions et comparer facilement les performances des groupes.

En particulier, les indicateurs d'équité pour TensorBoard vous permettent d'évaluer et de visualiser les performances du modèle, réparties sur des groupes d'utilisateurs définis. Ayez confiance en vos résultats grâce à des intervalles de confiance et des évaluations à plusieurs seuils.

De nombreux outils existants pour évaluer les problèmes d’équité ne fonctionnent pas bien sur des ensembles de données et des modèles à grande échelle. Chez Google, il est important pour nous de disposer d'outils capables de fonctionner sur des systèmes comptant des milliards d'utilisateurs. Les indicateurs d'équité vous permettront d'évaluer n'importe quelle taille de cas d'utilisation, dans l'environnement TensorBoard ou dans Colab .

Exigences

Pour installer les indicateurs d'équité pour TensorBoard, exécutez :

python3 -m virtualenv ~/tensorboard_demo
source ~/tensorboard_demo/bin/activate
pip install --upgrade pip
pip install fairness_indicators
pip install tensorboard-plugin-fairness-indicators

Démo

Si vous souhaitez tester les indicateurs d'équité dans TensorBoard, vous pouvez télécharger des exemples de résultats d'évaluation de TensorFlow Model Analysis (eval_config.json, fichiers de métriques et de tracés) et un utilitaire demo.py à partir de Google Cloud Platform, ici à l'aide de la commande suivante.

pip install gsutil
gsutil cp -r gs://tensorboard_plugin_fairness_indicators/ .

Accédez au répertoire contenant les fichiers téléchargés.

cd tensorboard_plugin_fairness_indicators

Ces données d'évaluation sont basées sur l' ensemble de données Civil Comments , calculé à l'aide de la bibliothèque model_eval_lib de Tensorflow Model Analysis. Il contient également un exemple de fichier de données récapitulatives TensorBoard pour référence.

L'utilitaire demo.py écrit un fichier de données récapitulatives TensorBoard, qui sera lu par TensorBoard pour afficher le tableau de bord des indicateurs d'équité (voir le didacticiel TensorBoard pour plus d'informations sur les fichiers de données récapitulatives).

Indicateurs à utiliser avec l'utilitaire demo.py :

  • --logdir : Répertoire où TensorBoard écrira le résumé
  • --eval_result_output_dir : Répertoire contenant les résultats d'évaluation évalués par TFMA (téléchargé à la dernière étape)

Exécutez l'utilitaire demo.py pour écrire le résumé des résultats dans le répertoire des journaux :

python demo.py --logdir=. --eval_result_output_dir=.

Exécutez TensorBoard :

tensorboard --logdir=.

Cela démarrera une instance locale. Une fois l'instance locale démarrée, un lien sera affiché vers le terminal. Ouvrez le lien dans votre navigateur pour afficher le tableau de bord des indicateurs d'équité.

Colab de démonstration

Fairness_Indicators_TensorBoard_Plugin_Example_Colab.ipynb contient une démo de bout en bout pour entraîner et évaluer un modèle et visualiser les résultats de l'évaluation de l'équité dans TensorBoard.

Usage

Pour utiliser les indicateurs d’équité avec vos propres données et évaluations :

  1. Entraînez un nouveau modèle et évaluez-le à l'aide de l'API tensorflow_model_analysis.run_model_analysis ou tensorflow_model_analysis.ExtractEvaluateAndWriteResult dans model_eval_lib . Pour obtenir des extraits de code expliquant comment procéder, consultez la collaboration Fairness Indicators ici .

  2. Rédigez un résumé des indicateurs d'équité à l'aide de l'API tensorboard_plugin_fairness_indicators.summary_v2 .

    writer = tf.summary.create_file_writer(<logdir>)
    with writer.as_default():
        summary_v2.FairnessIndicators(<eval_result_dir>, step=1)
    writer.close()
    
  3. Exécuter TensorBoard

    • tensorboard --logdir=<logdir>
    • Sélectionnez la nouvelle exécution d'évaluation à l'aide de la liste déroulante sur le côté gauche du tableau de bord pour visualiser les résultats.