Categories
程式開發

Uber 開源 Manifold:機器學習可視化調試工具


Uber 是一家交通網絡公司,總部位於美國加利福尼亞州舊金山,以開發移動應用程序連結乘客和司機,提供載客車輛租賃及實時共乘的分享型經濟服務。 Uber 與同是交通網絡公司 Lyft 一樣,在人工智能和機器學習的領域也有所建樹。今天,Uber 帶來了 Uber 機器學習平台軟件工程師 Lezhi Li 分享的 Manifold 文章,這是 Uber 開源的機器學習可視化調試工具。

Uber 開源 Manifold:機器學習可視化調試工具 1

在 2019 年 1 月,Uber 推出了 Manifold,這是一種與模型無關的機器學習可視化調試工具,Uber 用來識別機器學習模型中的問題。為了讓其他機器學習從業者能夠享受到這個工具帶來的好處,日前,Uber 宣布,他們將 Manifold 作為開源項目發布。

Manifold 幫助工程師和科學家識別機器學習數據切片和模型的性能問題,並通過顯示數據子集之間的特徵分佈差異來診斷問題的根本原因。在 Uber,Manifold 已經成為 Uber 的機器學習平台 Michelangelo 的一部分,並幫助 Uber 的各個產品團隊分析和調試機器學習模型的性能。

自從去年早些時候在 Uber Eng Blog 上重點介紹這個項目以來,Uber 已經收到了很多來自社區的反饋,這些反饋都是關於這個項目在通用機器學習模型調試場景中的潛力。在開源 Manifold 的獨立版本中,Uber 認為,這個工具通過為機器學習工作流提供可解釋性和可調試性,同樣也會使機器學習社區受益。

版本 1 中的新特性

在 Manifold 的第一個開源版本中,Uber 添加了各種特性,使模型調試比內部迭代更容易。

版本 1 的特性包括:

  • 通用二進制分類和回歸模型調試的模型無關性支持。用戶將能夠分析並比較各種算法類型的模型,使他們能夠辨別不同數據切片的性能差異。
  • 對錶格特徵輸入的可視化支持,包括數字、類別和地理空間特徵類型。 利用每個數據切片的特徵值分佈信息,用戶可以更好地了解某些性能問題的潛在原因,例如,模型的預測損失與其數據點的地理位置和分佈之間是否存在相關性。

Uber 開源 Manifold:機器學習可視化調試工具 2

圖 1. Manifold 新的升級包括對地理空間特徵的可視化支持

  • 與 Jupyter Notebook 集成。Manifold 接受作為 Pandas DataFrame 對象的數據輸入,並在 Jupyter 中呈現該數據的可視化效果。由於 Jupyter Notebook 是數據科學家和機器學習工程師使用最廣泛的數據科學平台之一,因此這種集成讓用戶得以能夠在不中斷正常工作流的情況下分析他們的模型。

Uber 開源 Manifold:機器學習可視化調試工具 3

圖 2. Manifold 的 Jupyter Notebook 集成接受作為 Pandas DataFrame 對象的數據輸入,並在 Jupyter Notebook UI 中呈現可視化效果

  • 基於每個實例預測損失和其他特徵值的交互式數據切片和性能比較。 用戶將能夠根據預測損失、基準真相(Ground Truth)或其他感興趣的特徵對數據進行切片和查詢。這個特性將使用戶能夠通過通用的數據切片邏輯快速驗證或拒絕其假設。

譯註:基準真相(Ground Truth,又稱:地面實況、上帝真相)是一個相對概念;它是指相對於新的測量方式得到的測量值,作為基準的,由已有的、可靠的測量方式得到的測量值(即經驗證據)。人們往往會利用基準真相,對新的測量方式進行校準,以降低新測量方式的誤差和提高新測量方式的準確性。機器學習領域借用了這一概念。使用訓練所得模型對樣本進行推理的過程,可以當做是一種廣義上的測量行為。因此,在有監督學習中,Ground Truth 通常指代樣本集中的標籤。

Uber 開源 Manifold:機器學習可視化調試工具 4

圖 3. 基於每個實例預測損失和特徵值的交互式數據切片允許 Manifold 用戶更好地理解機器學習模型的性能問題

下一步

Manifold 的開源版本提供了 npm 軟件包版本,而對於 Jupyter Notebook 的綁定,則提供了一個 Python 包版本。要開始使用 Manifold,請按照 GitHub Repo 中的文檔進行操作並在本地安裝,或者查看 Uber 的演示網站

作者簡介:

Lezhi Li,Uber 機器學習平台團隊的軟件工程師。

原文鏈接:

https://eng.uber.com/manifold-open-source/