【解讀谷歌TFX】基於TensorFlow可大規模擴展的機器學習平臺

2021-12-23 新智元

2017 年 11 月 8 日,在北京國家會議中心舉辦的 AI WORLD 2017 世界人工智慧大會開放售票!早鳥票 5 折 搶票倒計時 4 天開搶。還記得去年一票難求的AI WORLD 2016盛況嗎?今年,我們邀請了冷撲大師」之父 Tuomas 親臨現場,且谷歌、微軟、亞馬遜、BAT、訊飛、京東和華為等企業重量級嘉賓均已確認出席。

AI WORLD 2017 世界人工智慧大會「AI 奧斯卡」AI Top 10 年度人物、 AI Top10 巨星企業、AI Top10 新星企業、AI Top 10 創投機構、AI 創新產品五個獎項全部開放投票。誰能問鼎?你來決定。

關於大會,請關注新智元微信公眾號或訪問活動行頁面:http://www.huodongxing.com/event/2405852054900?td=4231978320026了解更多

來源:blog.acolyer.org

編譯:常佩琦  弗格森

【新智元導讀】 作者詳細分析了Google通用機器學習平臺和其實現過程。通過將上述組件集成到一個平臺中,能夠對組件進行標準化,簡化平臺配置,並將生產時間從數月縮短到數周,同時提供平臺穩定性,最大程度地減少服務中斷。 



KDD2017上,谷歌發布了基於TensorFlow的可大規模擴展的產品級機器學習平臺TFX。(論文地址:http://www.kdd.org/kdd2017/papers/view/tfx-a-tensorflow-based-production-scale-machine-learning-platform)

創建和維護一個生成和部署機器學習模型的平臺需要在多個組成部分中細緻協調,包括一個基於訓練數據生成模型的學習器,用於分析和驗證數據及模型的模塊,以及用於為模型提供服務的設施。

當數據隨時間變化而需要連續生產新的模型時,這變得尤其具有挑戰性。不幸的是,這種編排通常是由使用個別團隊開發的特殊用途的膠合代碼和自定義腳本進行的,導致重複性工作和脆弱的高技術債務系統。

作者詳細分析了Google通用機器學習平臺和其實現過程。通過將上述組件集成到一個平臺中,能夠對組件進行標準化,簡化平臺配置,並將生產時間從數月縮短到數周,同時提供平臺穩定性,最大程度地減少服務中斷。

 

在論文中,作者介紹了在Google Play應用商店中平臺部署的案例研究,隨著新數據流入,機器學習模型將不斷更新。通過優化數據和模型分析,部署平臺促使自定義代碼減少,實驗周期更快,應用程式安裝增加了2%。

以下是博客acolyer上更為詳細的介紹:

TFX:基於TensorFlow的規模生產機器學習平臺

過去幾年中,世界一流的在線產品和服務開發發生了巨變。 我們最近一直在關注的一系列論文可以幫助您了解上限的位置。

*新基線:到目前為止,您已經接受了自動化測試,持續集成,持續交付,也許是持續部署,而且您已經熟練地逐步推陳出新,監控行為,並在發現問題時停及時停止。

*此外,您已經建立了一個複雜的指標系統和一個連續實驗平臺。

*由於系統複雜性的增加,您可能還需要將其擴展到通用黑箱優化平臺。

*但你還沒有完成! 您優化過的所有機器學習模型都需要接受訓練,驗證和服務。 你需要一個機器學習平臺。 這就是今天文章的主題,它介紹了Google TFX中的機器學習平臺。

我為什麼需要一個機器學習平臺?

實現機器學習模型的代碼只是在生產系統中使用機器學習的一小部分。 我們在「機器學習:技術債務的高息信用卡」一文中看到了大量部署機器學習的經驗教訓。數據需要轉換和驗證,模型驗證需要與數據驗證相結合,防止不良(尚未驗證的)模型進入生產。你還需要一個可擴展的服務基礎架構。 機器學習平臺(TFX)的關鍵組成部分如下圖所示:

圖1:機器學習平臺高級組件概覽

我們的平臺能夠實現這些組件,可將生產中的最佳實踐進行編碼...通過將上述組件集成到一個平臺中,我們能夠標準化組件,簡化平臺配置,並從生產時間從數月縮短到數周, 同時提供平臺穩定性,最大限度地減少中斷。

數據分析,轉換和驗證


你和你的數據一樣。在局勢惡化之前,發現數據異常,這將節省大量時間。

數據中的小錯誤可能會在一段時間內以難以檢測的方式顯著降低模型質量(一些災難性的錯誤會導致明顯的故障,因此易於追蹤),所以為了長遠考慮,都任何一個機器學習平臺應始終保持對數據的警惕性。

為了建立基準並監控更改,TFX會為每個數據集生成一組描述性統計信息。 這些包括功能存在和價值,跨功能統計信息和可配置切片。 這些統計數據需要大規模高效計算,並且在大型訓練數據上精確計算可能是昂貴的。 在這種情況下,可以使用提供近似結果的分布式流算法。

TFX還包括支持功能衝突的一套數據轉換。例如,TFX可以生成稱為「詞彙「的特徵到整數的映射。當數據轉換在訓練和服務之間微不可分時,很容易弄亂事情。 TFX自動導出任何數據轉換作為訓練模型的一部分,以避免這些問題。


要執行驗證,TFX依賴於提供模版化描述預期數據的模式。該模式描述功能及其預期類型,價和域。 TFX可以幫助用戶自動生成其模式的第一個版本。

 

圖2: 樣本驗證案例 

TFX給用戶提供有用的異常信息警告。

我們希望用戶能夠同樣嚴謹地處理數據錯誤和代碼錯誤。為了促進上述做法,我們允許用戶提交異常數據,就像任何能夠被記錄、追蹤和解決的軟體錯誤一樣。

訓練

 一旦你模型中的代碼(當然是在TensorFlow中寫的)被融入到TFX中,你就能輕鬆地轉換學習的算法。不斷的訓練和開發機器學習模型是一個常見的生產使用案例,但是在許多場景下,要每次都從頭開始再訓練模型,對於時間和資源的消耗都是巨大的。

對於許多生產用例,機器學習模型的新鮮度至關重要...很多這樣的用例也有巨大的訓練集(O(100B)數據點),這可能需要幾個小時(或幾天)的訓練…這需要在模型質量與模型新鮮度之間取捨。熱啟動是抵消這種取捨的實用技術,如果使用正確,它可以在更短的時間和更少的資源消耗下,獲得與此前需要幾個小時的訓練才能獲得的相同質量的模型。

TFX中內置了熱啟動,對網絡中的熱啟動特徵進行選擇的功能也被提供,且已經在TensorFlow中開源。當使用熱啟動訓練新版本的網絡時,對應於熱啟動特徵的參數從先前訓練的模型版本中初始化,並且從那裡開始微調。

評估和驗證

 

TFX包含了一個模型評估和驗證組件,旨在確保模型在向用戶提供服務之前是「好」的。

機器學習的模型通常是包含大量數據源和交互組件的複雜系統的一部分,這些組件通常被糾纏在一起。這會創建一個大的平面,在上面,bug的錯誤可以擴展,也可能會發展處意外的互動,最終會不得不對機器學習模型進行降維,進而損害終端的用戶體驗。

新模型如何推廣到生產中?當然通過A / B測試!模型首先通過持續的數據進行評估,以確定它們是否有足夠的前景開始實時測試,TFX提供可以近似業務指標的代理指標。對於通過此測試的模型,團隊進行到特定於產品的A / B實驗,以確定模型在實時流量和相關業務指標上的實際效果。

一旦將模型推出到產品並不斷更新,則使用自動驗證來確保更新的模型是好的。我們使用簡單的canary process驗證了一個模型是安全。我們通過將模型質量與固定閾值以及基線模型(例如當前生產模型)進行比較來評估預測質量。

如果模型更新驗證失敗,則不會將其推送到服務中,並為所屬產品團隊生成警報。 

服務

TensorFlow服務為將要部署到生產環境的機器學習型號提供完整的服務解決方案。生產為需求服務,其中包括低延遲和高效率。對於大多數模型,使用常見的TensorFlow數據格式,但對於數據密集型(對CPU CPU密集型)網絡,如線性模型,專門的協議緩衝區解析器是用惰性解析構建的。

在實施該系統時,要特別注意最小化數據複製。這對於稀疏數據配置來說尤其具有挑戰性。專用協議緩衝區解析器的應用導致基準數據集加速2-5倍。

TFX和Google Play

  

Google推出TFX平臺的第一支團隊之一是Google Play,他們將其用於推薦系統。該系統在訪問商店主頁時建議相關的Android應用程式播放應用用戶。培訓數據集具有數百億個示例,在生產過程中,系統必須以嚴格的延遲要求(幾十毫秒)每秒處理數千個查詢。

當我們將Google Play排名系統從之前的版本轉移到TFX時,我們看到對新實驗的迭代速度有所增加,減少了技術負債,提高了模型質量。

下一步

解釋性?

 

隨著機器學習變得越來越普遍,對於可理解性的強烈需求,模型可以向用戶解釋其決策和行為(以及在許多情況下使用諸如GDPR-AC等新立法的法律要求)。我們相信我們從部署TFX中學到的經驗教訓為構建交互式平臺提供了基礎,可為用戶提供更深入的見解。

【掃一掃或點擊閱讀原文搶購五折「早鳥票」】

AI WORLD 2017 世界人工智慧大會購票二維碼: 

相關焦點

  • 動態 | 谷歌開源 TF-Ranking:專用於排序學習的可擴展 TensorFlow 庫
    TF-Ranking 快速且易用,並能創建高質量的排序模型,對構建 web 搜索或新聞推薦等基於真實世界數據的排序系統感興趣的人,都可以將 TF-Ranking 作為強穩的、可擴展的解決方案。排序是一種以最大化整個列表效用為目的,對項目列表進行排序的過程,適用於搜尋引擎、推薦系統、機器翻譯、對話系統,甚至還能用於計算生物學等眾多領域。
  • Tensorflow 2.0到底好在哪裡?
    數十年來這一行業讓人們見識過無數承諾、騙局和失望,時至今日兩大技術終於帶來了眾多實際應用。機器學習或深度學習應用離充分完善還有很長的路要走,但現有的成果已經非常喜人了。在所有優秀的機器學習和深度學習框架中,TensorFlow 是最成熟的,在研究論文中被引用最多(就算排除谷歌員工的引用也是如此),也有著最出色的生產實踐案例。
  • tensorflow學習筆記
    深度學習技術一直在發展,但是caffe的更新跟不上進度,也許是維護團隊的關係:CAFFE團隊成員都是業餘時間在維護和更新。導致的結果就是很多新的技術在caffe裡用不了,比如RNN, LSTM,batch-norm等。當然這些現在也算是舊的東西了,也許caffe已經有了,我已經很久沒有關注caffe的新版本了。它的不靈活之處就是新的東西很難自己擴展,只能等版本更新,這就比較尷尬。
  • 資源 | 谷歌開源AdaNet:基於TensorFlow的AutoML框架
    >參與:路雪、李亞洲谷歌開源了基於 TensorFlow 的輕量級框架 AdaNet,該框架可以使用少量專家幹預來自動學習高質量模型。據介紹,AdaNet 在谷歌近期的強化學習和基於進化的 AutoML 的基礎上構建,快速靈活同時能夠提供學習保證(learning guarantee)。重要的是,AdaNet 提供通用框架,不僅能用於學習神經網絡架構,還能學習集成架構以獲取更好的模型。
  • 基於TensorFlow的深度學習實戰
    為了將環境建在 ~/tensorflow 目錄下, 執行:$ virtualenv --system-site-packages ~/tensorflow接下來激活virtualenv:$ source ~/tensorflow/bin/activate #  with bash $ source ~/tensorflow/bin/activate.csh
  • Tensorflow:谷歌的一種深度學習框架/丹爐 | 煉丹術 | 乾貨分享 | 解讀技術
    想要真正從事可部署產品研發的童鞋,TF可能是一個繞不開的存在。寫在前面:引用並發揮大神們關於機器學習/深度學習/人工智慧的話:       訓練AI模型就是煉丹,金丹就是訓練出來的模型,可以針對某種問題輸出極佳的結果;框架是丹爐;丹方就是模型的設計思路、結構和方法;煉丹的材料就是數據。
  • 【重磅】谷歌TensorFlow 1.0發布,智慧型手機也能玩轉深度學習
    來源:infoword,github編譯:弗格森   文強【新智元導讀】 近日,谷歌開源深度學習框架 TensorFlow 發布了完整的1.0版本,不僅改進了庫中的機器學習功能,而且對 Python 和 Java 用戶開放,提升了 debugging。
  • 帶你入門機器學習與TensorFlow2.x
    據領英近日發布的《全球AI領域人才報告》顯示,截至2017年一季度,基於領英平臺的全球AI(人工智慧)領域技術人才數量超過190萬,僅國內人工智慧人才缺口達到500多萬。人工智慧的研究領域也在不斷擴大,其中就包括本書重點要將的深度學習。那麼AI到底研究什麼呢?其實AI要研究的方向相當多,圖1描述了AI研究的主要方向。
  • 谷歌移動端深度學習框架TensorFlow Lite正式發布
    項目連結:https://github.com/tensorflow/tensorflow/tree/master/tensorflow/contrib/lite設計初衷:輕量級:允許小 binary size 和快速初始化/啟動的設備端機器學習模型進行推斷。跨平臺:運行時的設計使其可以在不同的平臺上運行,最先允許的平臺是安卓和 iOS。
  • 手把手教你搭建谷歌TensorFlow深度學習開發環境!
    TensorFlow是谷歌基於DistBelief進行研發的第二代人工智慧學習系統,其命名來源於本身的運行原理。Tensor(張量)意味著N維數組,Flow(流)意味著基於數據流圖的計算,TensorFlow為張量從流圖的一端流動到另一端計算過程。TensorFlow是將複雜的數據結構傳輸至人工智慧神經網中進行分析和處理過程的系統。
  • 谷歌TPU 訓練 TensorFlow 模型
    早在 2015 年,谷歌大腦團隊就成立了第一個 TPU 中心,為 Google Translation,Photos 和 Gmail 等產品提供支持。為了使所有數據科學家和開發人員能夠訪問此技術,不久之後就發布了易於使用,可擴展且功能強大的基於雲的 TPU,以便在 Google Cloud 上運行 TensorFlow 模型。
  • 機器學習tensorflow簡介
    按直覺運作的難度普遍比按規則運作的難度更大,一方面機器需要像人類經歷成長一樣,經過「漫長」的訓練以達到良好的狀態,另一方面直覺一旦出錯,可能需要付出慘重的代價,因此投入使用的壓力更大,而如何評估直覺的可靠度也是一個問題。機器學習的一個重要方向,是深度學習。深度學習,一方面需要健全的神經網絡,另一方面需要大量良好的數據樣本進行訓練。
  • 大數據下基於Tensorflow框架的深度學習示例教程
    近幾年,資訊時代的快速發展產生了海量數據,誕生了無數前沿的大數據技術與應用。在當今大數據時代的產業界,商業決策日益基於數據的分析作出。當數據膨脹到一定規模時,基於機器學習對海量複雜數據的分析更能產生較好的價值,而深度學習在大數據場景下更能揭示數據內部的邏輯關係。本文就以大數據作為場景,通過自底向上的教程詳述在大數據架構體系中如何應用深度學習這一技術。
  • TensorFlow與PyTorch之爭,哪個框架最適合深度學習
    谷歌的 Tensorflow 與 Facebook 的 PyTorch 一直是頗受社區歡迎的兩種深度學習框架。
  • TensorFlow的新生!
    網址:https://www.tensorflow.org/overview,你可以在該網頁隨意嘗試這些橙色按鈕。「我們認為你不需要在簡單的 API 和可擴展的 API 之間做出選擇。我們想要一個更高級的 API,帶你直接從 MNIST 到天上繁星。」
  • 深度學習與 Spark 和 TensorFlow
    TensorFlow 是谷歌發布的數值計算和神經網絡的新框架。本文中,我們將演示如何使用TensorFlow和Spark一起訓練和應用深度學習模型。你可能會困惑:在最高性能深度學習實現還是單節點的當下, Spark 的用處在哪裡?為了回答這個問題,我們將會演示兩個例子並解釋如何使用 Spark 和機器集群搭配 TensorFlow 來提高深度學習的管道數。
  • TensorFlow 資源大全中文版
    (點擊上方公眾號,可快速關注)編譯:伯樂在線 - Yalye,英文:jtoy如有好文章投稿,請點擊 → 這裡了解詳情
  • TensorFlow On Spark 開源項目分析
    p=423&utm_source=tuicool&utm_medium=referral作者:京東大數據技術保障團隊概述自Google發布TensorFlow並宣布開源,促使更多的開發者與學術研究者開始關注深度學習。各大公司也加入到深度學習的應用和開發中。
  • 谷歌發布企業版TensorFlow,或提供收費服務?
    谷歌雲 AI 平臺產品管理總監 Craig Wiley 在加州舉行的 O'Reilly TensorFlow World 會議上宣布,推出 TensorFlow Enterprise 是為了滿足那些需要擴展其機器學習項目企業 「更高的要求和期望」。
  • TensorFlow 與 PyTorch 之爭
    谷歌的 Tensorflow 與 Facebook 的 PyTorch 一直是頗受社區歡迎的兩種深度學習框架。那麼究竟哪種框架最適宜自己手邊的深度學習項目呢?本文作者從這兩種框架各自的功能效果、優缺點以及安裝、版本更新等諸多方面給出了自己的建議。如果你在讀這篇文章,那麼你可能已經開始了自己的深度學習之旅。