Ocena modeli za pomocą panelu wskaźników rzetelności [Beta]

Wskaźniki sprawiedliwości

Wskaźniki uczciwości dla TensorBoard umożliwiają łatwe obliczanie powszechnie identyfikowanych wskaźników uczciwości dla klasyfikatorów binarnych i wieloklasowych . Dzięki wtyczce możesz wizualizować oceny uczciwości swoich biegów i łatwo porównywać wyniki w różnych grupach.

W szczególności Fairness Indicators dla TensorBoard umożliwia ocenę i wizualizację wydajności modelu w podziale na określone grupy użytkowników. Możesz mieć pewność co do swoich wyników dzięki przedziałom ufności i ocenom na wielu progach.

Wiele istniejących narzędzi do oceny obaw dotyczących uczciwości nie działa dobrze w przypadku zbiorów danych i modeli na dużą skalę. W Google ważne jest dla nas posiadanie narzędzi, które mogą działać na systemach miliardów użytkowników. Wskaźniki uczciwości pozwolą Ci ocenić przypadek użycia dowolnej wielkości, w środowisku TensorBoard lub w Colab .

Wymagania

Aby zainstalować wskaźniki Fairness dla TensorBoard, uruchom:

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

Demonstracja

Jeśli chcesz przetestować wskaźniki Fairness w TensorBoard, możesz pobrać przykładowe wyniki oceny analizy modelu TensorFlow (eval_config.json, pliki metryk i wykresów) oraz narzędzie demo.py z Google Cloud Platform, tutaj za pomocą następującego polecenia.

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

Przejdź do katalogu zawierającego pobrane pliki.

cd tensorboard_plugin_fairness_indicators

Te dane oceny są oparte na zestawie danych Civil Comments , obliczonym przy użyciu biblioteki model_eval_lib analizy modelu Tensorflow. Zawiera także przykładowy plik danych podsumowujących TensorBoard w celach informacyjnych.

Narzędzie demo.py zapisuje plik danych podsumowujących TensorBoard, który zostanie odczytany przez TensorBoard w celu wyrenderowania pulpitu nawigacyjnego wskaźników uczciwości (więcej informacji na temat plików danych podsumowujących można znaleźć w samouczku TensorBoard ).

Flagi, których można używać z narzędziem demo.py :

  • --logdir : Katalog, w którym TensorBoard zapisze podsumowanie
  • --eval_result_output_dir : Katalog zawierający wyniki oceny ocenione przez TFMA (pobrane w ostatnim kroku)

Uruchom narzędzie demo.py , aby zapisać wyniki podsumowania w katalogu dziennika:

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

Uruchom TensorBoard:

tensorboard --logdir=.

Spowoduje to uruchomienie instancji lokalnej. Po uruchomieniu instancji lokalnej zostanie wyświetlony link do terminala. Otwórz link w przeglądarce, aby wyświetlić panel wskaźników uczciwości.

Demo Colab

Fairness_Indicators_TensorBoard_Plugin_Example_Colab.ipynb zawiera kompleksowe demo umożliwiające szkolenie i ocenę modelu oraz wizualizację wyników oceny uczciwości w TensorBoard.

Stosowanie

Aby korzystać ze Wskaźników Uczciwości w oparciu o własne dane i oceny:

  1. Wytrenuj nowy model i oceń go za pomocą interfejsu API tensorflow_model_analysis.run_model_analysis lub tensorflow_model_analysis.ExtractEvaluateAndWriteResult w model_eval_lib . Fragmenty kodu pokazujące, jak to zrobić, można znaleźć w artykule dotyczącym wskaźników uczciwości, dostępnym tutaj .

  2. Napisz podsumowanie wskaźników uczciwości przy użyciu interfejsu 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. Uruchom TensorBoard

    • tensorboard --logdir=<logdir>
    • Wybierz nowy przebieg oceny, korzystając z listy rozwijanej po lewej stronie pulpitu nawigacyjnego, aby wizualizować wyniki.