使用 TensorFlow Extended (TFX) 在生產環境中部署機器學習 丨 Google 開發者大會 2018

Google 開發者大會 (Google Developer Days,簡稱 GDD) 是展現 Google 最新開發者產品和平臺的全球盛會,旨在幫助你快速開發優質應用,發展和留住活躍用戶羣,充分利用各類工具得到更多收益。2018 Google 開發者大會於 9 月 20 日和 21 日於上海舉辦。👉Google 開發者大會 2018 掘金專題git

2018 年 9 月 21 日 丘天豪(Google Brain 軟件工程師)帶來一場《使用 TensorFlow Extended (TFX) 在生產環境中部署機器學習》的演講,本文將對演講作一個回顧。github

TensorFlow Extended

如上圖所示,在實際生產環境中部署機器學習是一件讓工程師很是頭痛的事情,除了完成機器學習代碼以外,工程師們還要考慮茫茫多的生產環境適配。換句話說,工程師們在生產環境中部署機器學習的難點並不在於機器學習的代碼,而是在處理各類環境適配上,這些問題消耗了大量的時間,因此 TensorFlow Extended 平臺就是爲了解決這個難題而誕生。目前 Google 只是開源了一些庫,而不是平臺自己,因此須要引用一些庫文件來使用部分功能。

TensorFlow Extended 平臺的組成結構如上圖所示,下面將根據 Google 開源的 四個部分進行介紹。機器學習

數據轉換 (TensorFlow Trainsform)

在使用數據集以前,每每須要對數據進行轉換,TFT 容許將數據轉換成 TF 計算圖,同時也能夠定義一些特殊的轉換來表達特殊的特徵。生成的 TF 計算圖是完成密封的,包含全部的特徵值信息,這也就意味着能夠應用於訓練和部署中。這個是十分重要的一點,在生產環境中,有可能咱們訓練和部署所使用的語言和路徑是不相同的,而 TF 計算圖是完成密封的,很好的解決了這個問題。工具

示例:學習

出租車給小費實例 3d

GitHub:github.com/tensorflow/…code

模型訓練 (Estimators or Keras)

使用 TensorFlow Estimators 進行模型訓練

訓練好的模型會以 SavedModel 形式輸出。orm

使用 tf.Keras 進行模型訓練

模型評估和驗證(TensorFlow Model Analysis)

在完成模型訓練以後,每每須要從新編寫代碼對模型進行評估和驗證。TFMA 就是爲了解決這個問題出現。cdn

在運行上圖所示代碼後,會出現以下圖這樣的圖形界面,更加直觀的對模型就行評估。blog

GitHub:github.com/tensorflow/…

模型部署 (TensorFlow Serving)

在使用 TensorFlow Serving 部署模型以後,使用 Serving 接口便可進行訪問。

GitHub:github.com/tensorflow/…

數據分析和驗證 (TensorFlow Data Validation)

在機器學習過程當中,數據是十分重要的,錯誤的數據將對模型產生或多或少的影響。垃圾數據對存在迴路的機器學習模型來講影響因子更大,可能原始數據中不多的垃圾數據會被無限放大,所以數據的分析和驗證顯得尤其重要。

Data Validation 模塊組成以下:

計算統計數據與統計數據可視化

推導初始 Schema

數據驗證

訓練/線上數據誤差檢測

GitHub:github.com/tensorflow/…

總結

實際生產環境中使用 TFX 流程以下:

論文:TFX: A TensorFlow-Based Production-Scale Machine Learning Platform,KDD(2017)

以上就是本次演講的所有內容,但願對你們有所幫助。 閱讀更多 Google 開發者大會 2018 技術乾貨

相關文章
相關標籤/搜索