使用 Fairness Indicators 儀表板評估模型 [Beta]

Fairness Indicators

TensorBoard 的 Fairness Indicators 可輕鬆計算二元多類別分類器的常用公平性指標。透過此外掛程式,您可以視覺化執行作業的公平性評估,並輕鬆比較各群組的效能。

尤其是,TensorBoard 的 Fairness Indicators 可讓您評估和視覺化依定義使用者群組劃分的模型效能。透過信賴區間和多個閾值的評估,對您的結果充滿信心。

許多現有的公平性問題評估工具在大型資料集和模型上效果不佳。在 Google,對我們而言,擁有可在數十億使用者系統上運作的工具非常重要。Fairness Indicators 可讓您在任何規模的使用案例中進行評估,無論是在 TensorBoard 環境中還是在 Colab 中。

需求條件

若要安裝 TensorBoard 的 Fairness Indicators,請執行

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 中測試 Fairness Indicators,您可以從 Google Cloud Platform 下載範例 TensorFlow Model Analysis 評估結果 (eval_config.json、指標和繪圖檔案) 和 demo.py 公用程式,按這裡使用下列指令。

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

瀏覽至包含已下載檔案的目錄。

cd tensorboard_plugin_fairness_indicators

此評估資料是以 Civil Comments 資料集為基礎,使用 Tensorflow Model Analysis 的 model_eval_lib 程式庫計算得出。其中也包含範例 TensorBoard 摘要資料檔案以供參考。

demo.py 公用程式會寫入 TensorBoard 摘要資料檔案,TensorBoard 會讀取該檔案以呈現 Fairness Indicators 儀表板 (如需摘要資料檔案的詳細資訊,請參閱 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 儀表板。

示範 Colab

Fairness_Indicators_TensorBoard_Plugin_Example_Colab.ipynb 包含端對端示範,可訓練和評估模型,並在 TensorBoard 中視覺化公平性評估結果。

用法

若要將 Fairness Indicators 與您自己的資料和評估搭配使用

  1. model_eval_lib 中,使用 tensorflow_model_analysis.run_model_analysistensorflow_model_analysis.ExtractEvaluateAndWriteResult API 訓練新模型並進行評估。如需如何執行此操作的程式碼片段,請參閱此處的 Fairness Indicators Colab here

  2. 使用 tensorboard_plugin_fairness_indicators.summary_v2 API 寫入 Fairness Indicators 摘要。

    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>
    • 使用儀表板左側的下拉式選單選取新的評估執行作業,以視覺化結果。