摘要:自從年月開源以來,我們做了一些重大改進?,F(xiàn)在,讓我們再回到這個項目開始的地方,回顧我們的進展過程,并分享我們下一步的方向。
自從2016年2月 TensorFlow Serving 開源以來,我們做了一些重大改進?,F(xiàn)在,讓我們再回到這個項目開始的地方,回顧我們的進展過程,并分享我們下一步的方向。
在 TensorFlow Serving 啟動之前,谷歌公司內(nèi)的 TensorFlow 用戶也必須從頭開始創(chuàng)建自己的服務(wù)系統(tǒng)。雖然一開始服務(wù)看起來很容易,但一次性服務(wù)解決方案很快就會變得更復(fù)雜。機器學(xué)習(xí)(ML)服務(wù)系統(tǒng)需要支持模型版本控制(對于具有回滾選項的模型更新)和多個模型(通過A/B測試進行試驗),同時確保并發(fā)模型在硬件加速器(GPU和TPU)上實現(xiàn)高吞吐量和低延遲。因此,我們開始創(chuàng)建一個獨立、通用的 TensorFlow Serving 軟件棧。
我們從一開始據(jù)決定將其開源,開發(fā)工作是從2015年9月開始。幾個月后,我們創(chuàng)建了最初的端到端工作系統(tǒng),并在2016年2月釋出第一個開源版本。
在過去一年半的時間里,在我們的用戶和公司內(nèi)外的合作伙伴的幫助下,TensorFlow Serving 得以提供先進的性能、較佳的實踐和標(biāo)準(zhǔn):
開箱即用的優(yōu)化服務(wù)和可定制性:我們現(xiàn)在提供一個預(yù)構(gòu)建的規(guī)范服務(wù)二進制文件,針對帶 AVX 的現(xiàn)代CPU進行了優(yōu)化,因此開發(fā)人員不需要從我們的庫中自己組裝二進制文件,除非他們有特殊需求。同時,我們添加了一個基于注冊表的框架,允許我們的庫被用于定制(甚至是非TensorFlow)的服務(wù)場景。
多模型服務(wù):從一個模型擴展到多個并行服務(wù)的模型,會出現(xiàn)一些性能上的阻礙。我們通過(1)在隔離的線程池中加載多個模型,以避免在其他模型中出現(xiàn)延遲峰值;(2)在服務(wù)器啟動時,并行加速所有模型的初始加載;(3)多模型批交錯以復(fù)用硬件加速器(GPU/TPU)。
標(biāo)準(zhǔn)化模型格式:我們將 SavedModel 添加到 TensorFlow 1.0,為社區(qū)提供了一種單一標(biāo)準(zhǔn)的模型格式,可以跨訓(xùn)練和服務(wù)工作。
易于使用的推理API:我們?yōu)槌R姷耐评砣蝿?wù)(分類、回歸)發(fā)布了易于使用的API,這些API適用于廣泛的應(yīng)用程序。為了支持更高級的用例,我們支持一個較低級的基于 tensor 的API(預(yù)測)和一個允許多任務(wù)建模的新的多重推理API。
我們的所有工作都通過與以下各方的密切合作實現(xiàn)的:(a)谷歌的 ML SRE 團隊確保了我們團隊的強壯并滿足內(nèi)部SLA; (b)谷歌其他機器學(xué)習(xí)基礎(chǔ)架構(gòu)團隊,包括廣告服務(wù)和TFX; (c)Google Play等應(yīng)用程序的團隊;(d)我們在加州大學(xué)伯克利分校RISE實驗室的合作伙伴,他們研究與Clipper服務(wù)系統(tǒng)互補的問題; (e)我們的開源用戶群和貢獻者。
TensorFlow Serving 目前正在為1100多個我們自己的項目,包括谷歌云的ML預(yù)測,每秒處理數(shù)千萬次的推理任務(wù)。核心服務(wù)代碼可以通過開源版本獲得:https://github.com/tensorflow/serving/releases
展望未來,我們的工作還遠未完成,我們正在探索一些創(chuàng)新的途徑。今天,我們很高興在兩個實驗領(lǐng)域分享早期進展:
Granular batching:我們在專用硬件(GPU和TPU)上實現(xiàn)高吞吐量的關(guān)鍵技術(shù)是“批處理”(batching):聯(lián)合處理多個樣本以實現(xiàn)高效。我們正在開發(fā)技術(shù)和較佳實踐來改進批處理:(a)使批處理能夠僅針對計算的GPU / TPU部分,以獲得較高效率; (b)允許在遞歸神經(jīng)網(wǎng)絡(luò)進行batching,用于處理序列數(shù)據(jù),例如文本和事件序列。我們正在嘗試使用Batch/Unbatch對任意子圖進行batching。
分布式模型服務(wù):我們將模型分片(model sharding)技術(shù)作為處理模型的一種方法,這些模型由于太大而無法適應(yīng)一個服務(wù)器節(jié)點,或者不能以節(jié)省內(nèi)存的方式共享子模型。我們最近在生產(chǎn)中推出了一個1TB+的模型,并取得了良好的效果,希望很快開源。
再次感謝我們所有的用戶和合作伙伴,他們提供了反饋、代碼和想法。參加項目:github.com/tensorflow/serving
歡迎加入本站公開興趣群商業(yè)智能與數(shù)據(jù)分析群
興趣范圍包括各種讓數(shù)據(jù)產(chǎn)生價值的辦法,實際應(yīng)用案例分享與討論,分析工具,ETL工具,數(shù)據(jù)倉庫,數(shù)據(jù)挖掘工具,報表系統(tǒng)等全方位知識
QQ群:81035754
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://m.hztianpu.com/yun/4657.html
摘要:而道器相融,在我看來,那煉丹就需要一個好的丹爐了,也就是一個優(yōu)秀的機器學(xué)習(xí)平臺。因此,一個機器學(xué)習(xí)平臺要取得成功,最好具備如下五個特點精辟的核心抽象一個機器學(xué)習(xí)平臺,必須有其靈魂,也就是它的核心抽象。 *本文首發(fā)于 AI前線 ,歡迎轉(zhuǎn)載,并請注明出處。 摘要 2017年6月,騰訊正式開源面向機器學(xué)習(xí)的第三代高性能計算平臺 Angel,在GitHub上備受關(guān)注;2017年10月19日,騰...
摘要:本文內(nèi)容節(jié)選自由主辦的第七屆,北京一流科技有限公司首席科學(xué)家袁進輝老師木分享的讓簡單且強大深度學(xué)習(xí)引擎背后的技術(shù)實踐實錄。年創(chuàng)立北京一流科技有限公司,致力于打造分布式深度學(xué)習(xí)平臺的事實工業(yè)標(biāo)準(zhǔn)。 本文內(nèi)容節(jié)選自由msup主辦的第七屆TOP100summit,北京一流科技有限公司首席科學(xué)家袁進輝(老師木)分享的《讓AI簡單且強大:深度學(xué)習(xí)引擎OneFlow背后的技術(shù)實踐》實錄。 北京一流...
閱讀 2694·2021-11-18 10:02
閱讀 2688·2021-11-15 11:38
閱讀 3796·2021-11-12 10:36
閱讀 767·2021-11-12 10:34
閱讀 2998·2021-10-21 09:38
閱讀 1600·2021-09-29 09:48
閱讀 1708·2021-09-29 09:34
閱讀 1187·2021-09-22 10:02