Uber開源Manifold,用於調試AI模型的可視工具
- 2020 年 2 月 12 日
- 筆記
為了減輕工作量,Uber在內部開發了Manifold,這是一種與模型無關的視覺工具,它可以顯示特徵分布的差異(即所觀察到的現象的可測量屬性)。它已幫助各種產品團隊分析了無數的AI模型。截止到今天,它已在GitHub上以開源形式提供。
Uber機器學習軟體工程師李樂之在部落格中寫道:「自從今年早些時候創建Manifold以來,我們已經收到了很多關於其在通用ML模型調試場景中潛力的回饋。在開源獨立版本的Manifold時,我們相信該工具將通過為ML工作流提供可解釋性和可調試性,同樣使ML社區受益。」
Manifold利用所謂的聚類演算法(k-Means)將預測數據根據其性能相似性分成多個段。該演算法通過其KL散度對特徵進行排名,KL散度是兩個對比分布之間差異的度量。一般而言,在歧管中,較高的發散度表示給定的特徵與區分兩個片段組的因子相關。
Manifold包括對多種演算法類型的支援,包括常規的二進位分類和回歸模型。在可視化方面,它可以提取數字和分類以及地理空間要素類型。它與Jupyter Notebook集成在一起,Jupyter Notebook是為數據科學家和ML工程師使用最廣泛的數據科學平台之一,並且具有互動式數據切片和基於每個實例的預測損失和其他特徵值的性能比較。
Manifold方便的性能比較視圖可比較模型和數據子集的預測性能。功能歸因視圖通過用戶定義的細分匯總了具有各種性能級別的數據子集的功能分布。兩者都提供了模型性能的概述和地理空間特徵的地圖視圖,有助於識別表現不佳的數據子集以進行進一步檢查。
歧管包裝為獨立安裝或打包安裝。安裝後,有兩種向其中輸入數據的方式:通過逗號分隔的文件或以編程方式進行的轉換。
版本1發行版中的功能包括:
- 與模型無關的通用二進位分類和回歸模型調試支援。用戶將能夠分析和比較各種演算法類型的模型,從而使他們能夠區分各種數據片的性能差異。
- 對表格化要素輸入的可視化支援,包括數字,分類和地理空間要素類型。使用每個數據切片的特徵值分布資訊,用戶可以更好地了解某些性能問題的潛在原因,例如,模型的預測損失與其數據點的地理位置和分布之間是否存在任何關聯。

集成塊的新升級包括對地理空間特徵的可視化支援。
- 與Jupyter Notebook集成。通過這種集成,Manifold將數據輸入作為Pandas DataFrame對象接受,並在Jupyter中呈現此數據的可視化。由於Jupyter Notebook是數據科學家和ML工程師使用最廣泛的數據科學平台之一,因此該集成使用戶能夠在不中斷正常工作流程的情況下分析其模型。

Manifold的Jupyter Notebook集成接受數據輸入作為Pandas DataFrame對象,並在Jupyter Notebook UI中呈現可視化效果。
- 基於每個實例的預測損失和其他特徵值的互動式數據切片和性能比較。用戶將能夠基於預測損失,地面真實性或其他感興趣的特徵對數據進行切片和查詢。該功能將使用戶能夠通過通用的數據切片邏輯快速驗證或拒絕其假設。

基於每個實例的預測損失和特徵值的互動式數據切片使Manifold練習者可以更好地理解ML模型性能問題。