What-If Tool (WIT) 提供易於使用的介面,可擴展對黑箱分類和迴歸 ML 模型的理解。透過此外掛程式,您可以對大量範例執行推論,並立即以各種方式視覺化結果。此外,可以手動或以程式方式編輯範例,然後重新執行模型,以查看變更的結果。它包含用於調查資料集子集中模型效能和公平性的工具。
此工具的目的是為使用者提供一種簡單、直覺且強大的方式,透過視覺化介面探索和調查已訓練的 ML 模型,而且完全不需要程式碼。
此工具可以透過 TensorBoard 存取,或直接在 Jupyter 或 Colab Notebook 中存取。如需更深入的詳細資訊、示範、逐步解說,以及特定於在 Notebook 模式下使用 WIT 的資訊,請參閱 What-If Tool 網站。
需求條件
若要在 TensorBoard 中使用 WIT,必須符合兩個條件:
- 您希望探索的模型必須使用 TensorFlow Serving,並透過 classify、regress 或 predict API 提供服務。
- 模型要推論的資料集必須位於 TensorBoard 網路伺服器可存取的 TFRecord 檔案中。
用法
在 TensorBoard 中開啟 What-If Tool 儀表板時,您會看到設定畫面,您可以在其中提供模型伺服器的主機和連接埠、要服務的模型名稱、模型類型,以及要載入的 TFRecords 檔案路徑。填寫完此資訊並按一下「接受」後,WIT 將載入資料集並使用模型執行推論,顯示結果。
如需 WIT 各種功能及其如何協助模型理解和公平性調查的詳細資訊,請參閱 What-If Tool 網站上的逐步解說。
示範模型和資料集
如果您想在 TensorBoard 中使用預先訓練模型測試 WIT,您可以從 https://storage.googleapis.com/what-if-tool-resources/uci-census-demo/uci-census-demo.zip 下載並解壓縮預先訓練模型和資料集。此模型是二元分類模型,使用 UCI Census 資料集來預測個人年收入是否超過 5 萬美元。此資料集和預測任務經常在機器學習模型建立和公平性研究中使用。
將環境變數 MODEL_PATH 設定為您機器上產生的模型目錄位置。
依照官方文件安裝 Docker 和 TensorFlow Serving。
透過 docker run -p 8500:8500 --mount type=bind,source=${MODEL_PATH},target=/models/uci_income -e MODEL_NAME=uci_income -t tensorflow/serving
使用 Docker 提供模型服務。請注意,您可能需要使用 sudo
執行命令,具體取決於您的 Docker 設定。
現在啟動 TensorBoard 並使用儀表板下拉式選單導覽至 What-If Tool。
在設定畫面上,將推論位址設定為「localhost:8500」,模型名稱設定為「uci_income」,範例路徑設定為已下載 adult.tfrecord
檔案的完整路徑,然後按下「接受」。
以下是一些可以在此示範中透過 What-If Tool 嘗試執行的操作:
- 編輯單一資料點,並查看推論結果的變更。
- 透過局部依賴圖探索資料集中個別特徵與模型推論結果之間的關係。
- 將資料集分割成子集,並比較切片之間的效能。
如需深入瞭解工具的功能,請查看 What-If Tool 逐步解說。
請注意,此模型嘗試預測的資料集中的基本事實特徵名為「Target」,因此在使用「效能與公平性」分頁時,「Target」是您要在基本事實特徵下拉式選單中指定的內容。