Оценка моделей с помощью панели индикаторов справедливости [бета]

Индикаторы справедливости

Индикаторы справедливости для TensorBoard позволяют легко вычислять общеизвестные показатели справедливости для бинарных и многоклассовых классификаторов. С помощью плагина вы можете визуализировать оценки справедливости ваших пробежек и легко сравнивать производительность разных групп.

В частности, индикаторы справедливости для TensorBoard позволяют оценивать и визуализировать производительность модели по определенным группам пользователей. Будьте уверены в своих результатах благодаря доверительным интервалам и оценкам с несколькими пороговыми значениями.

Многие существующие инструменты для оценки вопросов справедливости не очень хорошо работают с крупномасштабными наборами данных и моделями. Нам в Google важно иметь инструменты, которые могут работать в системах с миллиардами пользователей. Индикаторы справедливости позволят вам оценить вариант использования любого размера, в среде TensorBoard или в Colab .

Требования

Чтобы установить индикаторы справедливости для TensorBoard, запустите:

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

Демо

Если вы хотите протестировать индикаторы справедливости в TensorBoard, вы можете загрузить образцы результатов оценки анализа модели TensorFlow (eval_config.json, файлы метрик и графиков) и утилиту demo.py с Google Cloud Platform, используя здесь следующую команду.

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

Перейдите в каталог, содержащий загруженные файлы.

cd tensorboard_plugin_fairness_indicators

Эти оценочные данные основаны на наборе данных Civil Comments , рассчитанном с использованием библиотеки model_eval_lib Tensorflow Model Analysis. Он также содержит образец файла сводных данных TensorBoard для справки.

Утилита demo.py записывает файл сводных данных TensorBoard, который будет прочитан TensorBoard для отображения панели индикаторов справедливости (дополнительную информацию о файлах сводных данных см. в руководстве по TensorBoard ).

Флаги, которые будут использоваться с утилитой demo.py :

  • --logdir : каталог, куда TensorBoard будет писать сводку.
  • --eval_result_output_dir : каталог, содержащий результаты оценки, оцененные TFMA (загруженные на последнем этапе)

Запустите утилиту demo.py , чтобы записать сводные результаты в каталог журнала:

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

Запустите TensorBoard:

tensorboard --logdir=.

Это запустит локальный экземпляр. После запуска локального экземпляра будет отображена ссылка на терминал. Откройте ссылку в браузере, чтобы просмотреть панель индикаторов справедливости.

Демо Колаб

Fairness_Indicators_TensorBoard_Plugin_Example_Colab.ipynb содержит комплексную демонстрацию для обучения и оценки модели, а также визуализации результатов оценки справедливости в TensorBoard.

Применение

Чтобы использовать Показатели справедливости с вашими собственными данными и оценками:

  1. Обучите новую модель и оцените ее с помощью API tensorflow_model_analysis.run_model_analysis или tensorflow_model_analysis.ExtractEvaluateAndWriteResult в model_eval_lib . Фрагменты кода о том, как это сделать, можно найти в совместной работе «Индикаторы справедливости» здесь .

  2. Напишите сводку индикаторов справедливости, используя 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. Запустите TensorBoard

    • tensorboard --logdir=<logdir>
    • Выберите новый прогон оценки, используя раскрывающийся список в левой части панели мониторинга, чтобы визуализировать результаты.