Evaluación de modelos con el panel de indicadores de equidad [Beta]

Indicadores de equidad

Los indicadores de equidad para TensorBoard permiten un cálculo sencillo de métricas de equidad comúnmente identificadas para clasificadores binarios y multiclase . Con el complemento, puede visualizar evaluaciones de equidad para sus carreras y comparar fácilmente el rendimiento entre grupos.

En particular, Fairness Indicators for TensorBoard le permite evaluar y visualizar el rendimiento del modelo, dividido en grupos definidos de usuarios. Siéntase seguro de sus resultados con intervalos de confianza y evaluaciones en múltiples umbrales.

Muchas herramientas existentes para evaluar cuestiones de equidad no funcionan bien en conjuntos de datos y modelos a gran escala. En Google, es importante para nosotros tener herramientas que puedan funcionar en sistemas de mil millones de usuarios. Los indicadores de equidad le permitirán evaluar casos de uso de cualquier tamaño, en el entorno de TensorBoard o en Colab .

Requisitos

Para instalar indicadores de equidad para TensorBoard, ejecute:

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

Manifestación

Si desea probar los indicadores de equidad en TensorBoard, puede descargar resultados de evaluación de muestra del análisis del modelo TensorFlow (eval_config.json, archivos de métricas y gráficos) y una utilidad demo.py de Google Cloud Platform, aquí usando el siguiente comando.

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

Navegue al directorio que contiene los archivos descargados.

cd tensorboard_plugin_fairness_indicators

Estos datos de evaluación se basan en el conjunto de datos de Civil Comments , calculado utilizando la biblioteca model_eval_lib de Tensorflow Model Analysis. También contiene un archivo de datos de resumen de TensorBoard de muestra como referencia.

La utilidad demo.py escribe un archivo de datos de resumen de TensorBoard, que TensorBoard leerá para representar el panel de indicadores de equidad (consulte el tutorial de TensorBoard para obtener más información sobre los archivos de datos de resumen).

Banderas que se utilizarán con la utilidad demo.py :

  • --logdir : Directorio donde TensorBoard escribirá el resumen
  • --eval_result_output_dir : Directorio que contiene los resultados de la evaluación evaluados por TFMA (descargado en el último paso)

Ejecute la utilidad demo.py para escribir los resultados resumidos en el directorio de registro:

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

Ejecute TensorBoard:

tensorboard --logdir=.

Esto iniciará una instancia local. Una vez iniciada la instancia local, se mostrará un enlace al terminal. Abra el enlace en su navegador para ver el panel de Indicadores de equidad.

Colaboración de demostración

Fairness_Indicators_TensorBoard_Plugin_Example_Colab.ipynb contiene una demostración de un extremo a otro para entrenar y evaluar un modelo y visualizar los resultados de la evaluación de equidad en TensorBoard.

Uso

Para utilizar los Indicadores de Equidad con sus propios datos y evaluaciones:

  1. Entrene un nuevo modelo y evalúelo usando la API tensorflow_model_analysis.run_model_analysis o tensorflow_model_analysis.ExtractEvaluateAndWriteResult en model_eval_lib . Para obtener fragmentos de código sobre cómo hacer esto, consulte la colaboración de Indicadores de equidad aquí .

  2. Escriba un resumen de indicadores de equidad utilizando la 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. Ejecutar TensorBoard

    • tensorboard --logdir=<logdir>
    • Seleccione la nueva ejecución de evaluación usando el menú desplegable en el lado izquierdo del panel para visualizar los resultados.