Avaliando modelos com o painel de indicadores de justiça [Beta]

Indicadores de Justiça

Os indicadores de imparcialidade para TensorBoard permitem o cálculo fácil de métricas de imparcialidade comumente identificadas para classificadores binários e multiclasse . Com o plug-in, você pode visualizar avaliações de imparcialidade para suas corridas e comparar facilmente o desempenho entre grupos.

Em particular, os Indicadores de Justiça para TensorBoard permitem avaliar e visualizar o desempenho do modelo, dividido em grupos definidos de usuários. Sinta-se confiante em relação aos seus resultados com intervalos de confiança e avaliações em vários limites.

Muitas ferramentas existentes para avaliar questões de justiça não funcionam bem em conjuntos de dados e modelos de grande escala. No Google, é importante que tenhamos ferramentas que possam funcionar em sistemas com bilhões de usuários. Os indicadores de justiça permitirão que você avalie casos de uso de qualquer tamanho, no ambiente TensorBoard ou no Colab .

Requisitos

Para instalar indicadores de justiça para TensorBoard, execute:

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

Demonstração

Se quiser testar indicadores de justiça no TensorBoard, você pode baixar exemplos de resultados de avaliação da análise de modelo do TensorFlow (eval_config.json, arquivos de métricas e gráficos) e um utilitário demo.py do Google Cloud Platform, aqui usando o comando a seguir.

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

Navegue até o diretório que contém os arquivos baixados.

cd tensorboard_plugin_fairness_indicators

Esses dados de avaliação são baseados no conjunto de dados Civil Comments , calculado usando a biblioteca model_eval_lib do Tensorflow Model Analysis. Ele também contém um arquivo de dados de resumo do TensorBoard de amostra para referência.

O utilitário demo.py grava um arquivo de dados de resumo do TensorBoard, que será lido pelo TensorBoard para renderizar o painel Indicadores de Justiça (consulte o tutorial do TensorBoard para obter mais informações sobre arquivos de dados de resumo).

Sinalizadores a serem usados ​​com o utilitário demo.py :

  • --logdir : diretório onde o TensorBoard escreverá o resumo
  • --eval_result_output_dir : Diretório contendo os resultados da avaliação avaliados pelo TFMA (baixado na última etapa)

Execute o utilitário demo.py para gravar os resultados resumidos no diretório de log:

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

Execute o TensorBoard:

tensorboard --logdir=.

Isso iniciará uma instância local. Depois que a instância local for iniciada, um link será exibido para o terminal. Abra o link em seu navegador para visualizar o painel Indicadores de Justiça.

Colaboração de demonstração

Fairness_Indicators_TensorBoard_Plugin_Example_Colab.ipynb contém uma demonstração completa para treinar e avaliar um modelo e visualizar os resultados da avaliação de justiça no TensorBoard.

Uso

Para usar os Indicadores de Justiça com seus próprios dados e avaliações:

  1. Treine um novo modelo e avalie usando a API tensorflow_model_analysis.run_model_analysis ou tensorflow_model_analysis.ExtractEvaluateAndWriteResult em model_eval_lib . Para obter trechos de código sobre como fazer isso, consulte a colaboração Indicadores de Justiça aqui .

  2. Escreva o resumo dos indicadores de justiça usando a 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. Execute o TensorBoard

    • tensorboard --logdir=<logdir>
    • Selecione a nova execução de avaliação usando o menu suspenso no lado esquerdo do painel para visualizar os resultados.