LinkedIn已實(shí)現(xiàn)了非常先進(jìn)的體系結(jié)構(gòu),可大規(guī)模開發(fā)機(jī)器學(xué)習(xí)解決方案。
對于大多數(shù)組織而言,構(gòu)建基礎(chǔ)結(jié)構(gòu)來管理機(jī)器學(xué)習(xí)模型的生命周期仍然是一個挑戰(zhàn)。 盡管我們已經(jīng)看到了機(jī)器/深度學(xué)習(xí)框架的巨大進(jìn)步,但對于大多數(shù)開始機(jī)器學(xué)習(xí)之旅的團(tuán)隊來說,大規(guī)模開發(fā),部署和管理模型的架構(gòu)最佳實(shí)踐仍然有些障礙。 為了掌握其中的一些架構(gòu)最佳實(shí)踐,我們應(yīng)該看看機(jī)器學(xué)習(xí)創(chuàng)新正在發(fā)生什么。 那是在大型技術(shù)公司內(nèi)部。 微軟,谷歌,F(xiàn)acebook,優(yōu)步,LinkedIn和Netflix已經(jīng)開發(fā)了一些市場上最先進(jìn)的機(jī)器學(xué)習(xí)基礎(chǔ)設(shè)施。 今天,我想在LinkedIn上探索支持某些關(guān)鍵任務(wù)機(jī)器學(xué)習(xí)工作流程的架構(gòu)。
LinkedIn是將機(jī)器學(xué)習(xí)應(yīng)用于大規(guī)模場景多年的公司之一,但對該軟件巨頭使用的特定方法和技術(shù)知之甚少。 最近,LinkedIn工程團(tuán)隊發(fā)布了一系列博客文章,提供了有關(guān)其機(jī)器學(xué)習(xí)基礎(chǔ)結(jié)構(gòu)和實(shí)踐的一些非常有趣的見解。 盡管許多情況都是特定于LinkedIn的,但是這些技術(shù)和最佳實(shí)踐適用于許多大規(guī)模的機(jī)器學(xué)習(xí)解決方案。
人與人之間的機(jī)器學(xué)習(xí)
LinkedIn機(jī)器學(xué)習(xí)架構(gòu)最有趣的方面之一是他們?nèi)绾卫萌俗鳛闄C(jī)器學(xué)習(xí)工作流程的一部分。 例如,假設(shè)一個場景發(fā)現(xiàn)了不同標(biāo)題之間的關(guān)系,例如" 高級軟件工程師"或"首席開發(fā)人員"來改善搜索體驗。 LinkedIn使用人類分類學(xué)家來標(biāo)記標(biāo)題之間的關(guān)系,以便可以將它們用于機(jī)器學(xué)習(xí)模型(例如長時記憶網(wǎng)絡(luò))中,以幫助發(fā)現(xiàn)標(biāo)題之間的其他關(guān)系。 機(jī)器學(xué)習(xí)架構(gòu)是LinkedIn知識圖的基礎(chǔ)。
大規(guī)模的機(jī)器學(xué)習(xí)基礎(chǔ)架構(gòu)
LinkedIn機(jī)器學(xué)習(xí)基礎(chǔ)架構(gòu)的核心是一個稱為Pro-ML的專有系統(tǒng)。 從概念上講,Pro-ML控制著機(jī)器學(xué)習(xí)模型從訓(xùn)練到監(jiān)視的整個生命周期。 為了擴(kuò)展Pro-ML,LinkedIn建立了一個架構(gòu),該架構(gòu)將其一些開源技術(shù)(例如Kafka或Samza)與基礎(chǔ)結(jié)構(gòu)構(gòu)建塊(例如Spark或Hadoop YARN)相結(jié)合。
盡管LinkedIn機(jī)器學(xué)習(xí)堆棧中使用的大多數(shù)技術(shù)都是眾所周知的,但還有一些新的貢獻(xiàn)值得進(jìn)一步探索:
·Ambry:LinkedIn的Ambry是一個分布式的不可變blob存儲系統(tǒng),具有高可用性,易于擴(kuò)展,經(jīng)過優(yōu)化,可以以高吞吐量和低延遲為大小從幾個KB到多個GB的不可變對象提供服務(wù),并能夠從客戶端進(jìn)行端到端流傳輸?shù)酱鎯樱粗嗳弧?該系統(tǒng)旨在跨多個數(shù)據(jù)中心在主動-主動設(shè)置下工作,并提供非常便宜的存儲。
·TonY:YARN上的TensorFlow(TonY)是一個框架,可在Apache Hadoop上本地運(yùn)行TensorFlow。 TonY支持將單個節(jié)點(diǎn)或分布式TensorFlow訓(xùn)練作為Hadoop應(yīng)用程序運(yùn)行。
·PhotonML:PhotonML是基于Apache Spark的機(jī)器學(xué)習(xí)庫。 當(dāng)前,Photon ML支持訓(xùn)練不同類型的廣義線性模型(GLM)和廣義線性混合模型(GLMMs / GLMix模型):邏輯,線性和泊松。
Hadoop上的TensorFlow
上個月,LinkedIn工程團(tuán)隊在YARN(TonY)框架上開源了其TensorFlow的第一版。 該版本的目標(biāo)是使TensorFlow程序能夠在分布式Y(jié)ARN群集上運(yùn)行。 盡管TensorFlow工作流在諸如Apache Spark之類的基礎(chǔ)架構(gòu)上得到廣泛支持,但YARN在很大程度上仍被機(jī)器學(xué)習(xí)社區(qū)所忽略。 一流的支持,可通過處理諸如資源協(xié)商和容器環(huán)境設(shè)置之類的任務(wù)在Hadoop上運(yùn)行TensorFlow作業(yè)。
TonY的核心是使用TensorFlow程序并將其拆分為可以在YARN集群上執(zhí)行的多個并行任務(wù)。 這樣做是在完全支持TensorFlow的計算圖的同時,這意味著TensorBoard之類的工具可以在TonY上使用,而無需進(jìn)行任何修改。
TonY是對TensorFlow生態(tài)系統(tǒng)的有趣貢獻(xiàn),可以改善TensorFlow應(yīng)用程序大規(guī)模運(yùn)行的體驗。 此外,TonY可以從YARN生態(tài)系統(tǒng)中可用的大量工具和庫中受益,從而為訓(xùn)練和運(yùn)行TensorFlow應(yīng)用程序提供高度可擴(kuò)展的運(yùn)行時。
測試
LinkedIn運(yùn)行著數(shù)以千計的并發(fā)機(jī)器學(xué)習(xí)模型,這些模型正在不斷發(fā)展和版本化。 在這些情況下,開發(fā)健壯的測試方法對于優(yōu)化運(yùn)行時機(jī)器學(xué)習(xí)模型的性能至關(guān)重要。 就LinkedIn而言,工程團(tuán)隊已將A / B測試作為其Pro-ML架構(gòu)的一等公民,使機(jī)器學(xué)習(xí)工程師可以針對特定情況部署競爭算法并評估產(chǎn)生最佳結(jié)果的算法。
像LinkedIn這樣的互聯(lián)網(wǎng)巨頭站在大規(guī)模機(jī)器學(xué)習(xí)解決方案實(shí)施的最前沿,他們對這一主題的見解對于開始他們的機(jī)器學(xué)習(xí)之旅的公司來說具有不可思議的價值。 LinkedIn的工作清楚地表明,大規(guī)模開發(fā)機(jī)器學(xué)習(xí)是一項永無止境的練習(xí),它將流行的開源庫和平臺與專有框架和方法相結(jié)合。
-
機(jī)器學(xué)習(xí)
+關(guān)注
關(guān)注
66文章
8424瀏覽量
132765 -
LinkedIn
+關(guān)注
關(guān)注
0文章
18瀏覽量
14502
發(fā)布評論請先 登錄
相關(guān)推薦
評論