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 世界人工智慧大會購票二維碼: