TensorFlow 資料驗證:能夠大規模理解、驗證和監控資料
文 / Clemens Mewald (產品經理) and Neoklis Polyzotis (研究科學家)
來源 | TensorFlow 公眾號
我們推出了 TensorFlow 資料驗證(TFDV),這是一個可以幫助您大規模地理解、驗證和監控 ML 資料的開源庫。 學術界和工業界都非常關注 ML 演算法及其效能,一旦輸入資料有誤,所有這些為了優化而做的努力都將成為泡影。能夠自動化和擴充套件資料分析,驗證和監視任務就變得尤其重要。
TFDV 是 TFX Platform 平臺的一部分,用於每天分析和驗證若干 PB 的 Google 資料。 它在早期捕獲資料錯誤方面具有良好的記錄,因此有助於 TFX 客戶維護其 ML 流程的健康狀況。
圖1:TFDV 用於 TFX 中的資料分析和驗證
Notebook 中的 TensorFlow 資料驗證
在設計 TFDV 的早期,我們決定在 notebook 環境中使用它。 我們發現,讓資料科學家和工程師儘可能早地在他們的工作流程中使用 TFDV 庫非常重要,以確保他們即便是隻用一小部分資料進行探索時,也可以檢查和驗證他們的資料。 這將使後續過渡到大規模生產部署變得更容易。
對描述性統計進行計算和視覺化
在 TFDV 的基礎上有一個功能強大的庫,用於計算訓練資料中的那些描述性統計資料。 這些統計資訊用於幫助開發人員調查和了解他們的資料,以及推斷架構(稍後將詳細介紹)
- 推斷架構:根據統計資料,TFDV 推斷出一種模式(由 schema.proto 描述),旨在反映資料的穩定特徵。
- 驗證新資料:給定一個模式,TFDV 可以根據模式中表達的期望驗證一組新資料。
生產流程中的 TensorFlow 資料驗證
在 notebook 環境之外,可以使用相同的 TFDV 庫來大規模分析和驗證資料。 TFX 流程中 TFDV 的兩個常見用例是連續到達資料和訓練 / 服務偏斜檢測的驗證。 此外,對於 TensorFlow Transform 的使用者,可以使用推斷的模式將資料解析為 preprocessing_fn。
- 驗證持續到達資料 Validation of Continuously Arriving Data:在資料連續到達的情況下,需要根據模式中編碼的期望來驗證新資料。
- 訓練 / 服務偏斜檢測 Training/Serving Skew Detection:訓練 / 服務偏斜是指用於訓練模型的資料與服務系統觀察到的資料之間的特徵值或分佈的差異。
TFDV 和 TensorFlow 變換
TensorFlow Transform (TFT) 是一個開源庫,允許開發人員表達預處理功能,自動建立資料流程以計算所需的統計資料,並將結果轉換匯出為 TensorFlow 圖,可用於在培訓和服務中連貫地應用轉換。
如何開始使用 TensorFlow 資料驗證
我們已經開源 TFDV,並在 GitHub 上通過 Apache 2.0 許可證在 github.com/tensorflow/data-validation 上釋出。 此版本包括一個如何在 iPython 中使用 TFDV 庫的 example notebook。