機(jī)器學(xué)習(xí)在領(lǐng)英的規(guī)模化應(yīng)用

人工智能和機(jī)器學(xué)習(xí)仍然是全球持續(xù)增長的領(lǐng)域之一,近年來涌現(xiàn)出越來越多本科生或者非人工智能專業(yè)出身的工程師,他們努力學(xué)習(xí)和使用技術(shù)來改進(jìn)產(chǎn)品,幾乎每天都有新的機(jī)器學(xué)習(xí)技術(shù)和框架發(fā)布。這篇文章將討論領(lǐng)英如何規(guī)模化利用技術(shù),幫助更多工程師提升機(jī)器學(xué)習(xí)的效率。近日,領(lǐng)英中國機(jī)器學(xué)習(xí)研發(fā)經(jīng)理李子在IEEE數(shù)據(jù)挖掘國際會議(ICDM)上分享了領(lǐng)英是如何規(guī)模化開展機(jī)器學(xué)習(xí),介紹領(lǐng)英的核心產(chǎn)品以及如何利用技術(shù)幫助更多工程師提升機(jī)器學(xué)習(xí)的效率。

Pro-ML提升機(jī)器學(xué)習(xí)效率

機(jī)器學(xué)習(xí)在領(lǐng)英的規(guī)模化應(yīng)用

過去10年,領(lǐng)英把人工智能技術(shù)應(yīng)用于各個(gè)方面來提升用戶和客戶體驗(yàn),比如你可能認(rèn)識的人(People You May Know),可以為你推薦能夠給你的職業(yè)發(fā)展帶來價(jià)值的人;Feed可以幫你找到最相關(guān)的行業(yè)信息,比如最新的文章或聯(lián)系人的最新動態(tài);Recruiter Search可以幫助企業(yè)了解趨勢,更好地進(jìn)行招聘;職位推薦系統(tǒng)(Job Recommendations System)可以幫你找到工作或者跳槽到更好的企業(yè)。機(jī)器學(xué)習(xí)推動著領(lǐng)英的核心產(chǎn)品。

但領(lǐng)英發(fā)現(xiàn),過去每個(gè)團(tuán)隊(duì)用自己的AI技術(shù)堆棧開發(fā)各自的產(chǎn)品。,這種做法無法有效實(shí)現(xiàn)規(guī)?;?,因?yàn)槊總€(gè)團(tuán)隊(duì)使用的技術(shù)不同,從邏輯回歸到深度學(xué)習(xí),從Pig 、 Hive、Spark到Scalding等等,團(tuán)隊(duì)之間的AI技術(shù)堆棧很難共享協(xié)作。所以領(lǐng)英希望在招入新的工程師或是開發(fā)新功能、使用新技術(shù)時(shí),盡可能減少大家的負(fù)擔(dān)。此外,近年來很多人工智能領(lǐng)域的從業(yè)者其實(shí)并不是人工智能專業(yè)出身,領(lǐng)英的AI基礎(chǔ)架構(gòu)對他們來說過于復(fù)雜,難以用來構(gòu)建、迭代模型。

為了高效地促進(jìn)機(jī)器學(xué)習(xí)規(guī)?;I(lǐng)英構(gòu)建了名為“Productive Machine Learning”(高效機(jī)器學(xué)習(xí))的項(xiàng)目,簡稱Pro-ML。Pro-ML的目標(biāo)是將AI工程師的工作效率翻一番,讓他們能更輕松、更高效地構(gòu)建模型。在過去十年里領(lǐng)英發(fā)現(xiàn),模型性能與模型更新速度直接相關(guān)。因此,如果能讓工程師加快模型迭代速度,那么模型性能也會提高。

具體來說Pro-ML采用分層解決方案,目標(biāo)是提高整個(gè)模型開發(fā)周期的效率,從模型探索和構(gòu)建(Exploring and Authoring),到模型訓(xùn)練(Training)、模型部署(Deploying)、模型運(yùn)行(Running),再到持續(xù)監(jiān)控模型狀態(tài)。領(lǐng)英希望把所有常規(guī)工作自動化,這樣算法工程師就能更加聚焦于創(chuàng)新。

機(jī)器學(xué)習(xí)在領(lǐng)英的規(guī)模化應(yīng)用

Pro-ML中有兩個(gè)工具貫穿剛剛提到的所有階段:一個(gè)是Feature Marketplace,另一個(gè)是Health Assurance Layer。在Feature Marketplace,領(lǐng)英使用先進(jìn)的技術(shù)來生成、共享和管理新特征。AI建模的核心是特征工程(Feature Engineering),領(lǐng)英有數(shù)百名工程師和數(shù)萬種正在研究的特征。提高工程師生成、共享和管理特征的效率,對于提高他們的工作效率至關(guān)重要。

而Health Assurance Layer可以在整個(gè)開發(fā)周期中持續(xù)監(jiān)控模型狀態(tài)。比如,它確保用于模型訓(xùn)練的離線特征和用于在線推理的在線特征在統(tǒng)計(jì)意義上一致或近似,同時(shí)確保在線模型的良好性能。比如在預(yù)測分?jǐn)?shù)的時(shí)候,工程師希望在線打的分與離線訓(xùn)練的分?jǐn)?shù)精度一致。一旦Health Assurance Layer檢測到異常,會自動提醒工程師,然后工程師可以介入,進(jìn)行調(diào)試。Health Assurance Layer還提供了很多有用的工具,幫助工程師進(jìn)一步確認(rèn)問題所在。是代碼出錯(cuò)?還是數(shù)據(jù)缺失?還是僅僅因?yàn)槟P屠吓f,需要重新訓(xùn)練?

Pro-ML提升效率的第一步——探索與授權(quán)

建模過程實(shí)際上始于對問題的探索。目標(biāo)是什么?目標(biāo)函數(shù)是什么?有什么特征?數(shù)據(jù)有哪些?對于這些問題,工程師需要做無數(shù)個(gè)實(shí)驗(yàn)來探索數(shù)據(jù),進(jìn)行特征工程,調(diào)整模型和超參數(shù)。為了提高這一階段的工作效率,領(lǐng)英構(gòu)建了集成了 Pro-ML內(nèi)核的Jupyter Notebook。在Jupyter Notebook的幫助下,工程師可以一步一步地進(jìn)行數(shù)據(jù)探索、特征選擇和模型繪制,并以交互的方式做實(shí)驗(yàn)。Jupyter Notebook由領(lǐng)英的Spark集群提供計(jì)算資源,這樣工程師就可以在線完成工作而不需要把數(shù)據(jù)下載到本地,不僅提高了他們的工作效率,同時(shí)也保護(hù)了用戶隱私。

機(jī)器學(xué)習(xí)在領(lǐng)英的規(guī)模化應(yīng)用

為了定義模型,除了Jupyter Notebook,領(lǐng)英還構(gòu)建了一種領(lǐng)域特定語言(Domain-specific Language, DSL)叫做Quasar。本質(zhì)上來說,機(jī)器學(xué)習(xí)模型就是有向無環(huán)圖(DAG),它定義了輸入特征和在這些特征上的轉(zhuǎn)換。Quasar DSL是領(lǐng)英用來定義模型的語言,它為建模者提供了幾乎所有常見的特征轉(zhuǎn)換函數(shù)。因此AI工程師們可以專注于新特征或者特征組合實(shí)驗(yàn),而不需要書寫大量重復(fù)代碼來做特征轉(zhuǎn)換。Quasar的另一個(gè)優(yōu)勢是離線訓(xùn)練出來的模型可以直接部署到線上,大大簡化了模型從離線到在線的過渡。

機(jī)器學(xué)習(xí)在領(lǐng)英的規(guī)?;瘧?yīng)用

多種工具高效協(xié)助模型訓(xùn)練

眾所周知,一個(gè)模型實(shí)際上有兩個(gè)關(guān)鍵組成部分,一個(gè)是特征,另一個(gè)是算法。首先來看一下特征。如前所述,特征工程是AI建模的核心所在。在領(lǐng)英,為了提高學(xué)習(xí)效率,領(lǐng)英構(gòu)建的框架Feature Marketplace可以讓工程師可以有效地生成、發(fā)現(xiàn)、共享和管理特征。工程師可以將特征共享到Feature Marketplace上以便其他人使用,也可以按名稱搜索特征,發(fā)現(xiàn)該特征并獲取關(guān)于該特征的所有信息,例如特征的創(chuàng)建者、特征是如何生成的、特征應(yīng)用在哪些領(lǐng)英的模型中以特征的統(tǒng)計(jì)分布等等,所有這些問題都可以在Feature Marketplace找到答案。Feature Marketplace還為工程師提供了諸多切實(shí)有用的工具,幫助工程師選擇特征以及持續(xù)監(jiān)控和驗(yàn)證特征。通過Feature Marketplace,工程師可以快速找到建模所需的特征。

機(jī)器學(xué)習(xí)在領(lǐng)英的規(guī)?;瘧?yīng)用

不過,F(xiàn)eature Marketplace也面臨著挑戰(zhàn):如何確保工程師能夠得到他們所需要的么,比如在線和離線特征是一致的。如果做了大量離線實(shí)驗(yàn),收集好的特征用于建模,那么這個(gè)模型可能會表現(xiàn)得很好,但不能保證在線的時(shí)候這個(gè)特征是穩(wěn)定的,如果不穩(wěn)定,那模型性能可能會下降。事實(shí)上,這種事故在過去幾年屢見不鮮。為了解決這個(gè)問題,領(lǐng)英構(gòu)建了一個(gè)工具稱為Frame。Frame是一個(gè)基于相同配置和相同公共庫離線和在線生成特征的平臺,保證了離線和在線的一致性。領(lǐng)英向工程師提供操作細(xì)節(jié),工程師只需要在Quasar模型中指定特征的名稱,就可以保證在線和離線獲取特征的一致性。

特征集齊后就需要算法。領(lǐng)英支持深度學(xué)習(xí)、決策樹算法、Generalized Linear Mixed Model (GLMix)等多種算法。在深度學(xué)習(xí)的場景中,領(lǐng)英使用Tensorflow;在決策樹算法的場景中使用XGBoost,兩者都是第三方庫。對于GLMix,領(lǐng)英研發(fā)并開源了一個(gè)機(jī)器學(xué)習(xí)庫叫做Photon。GLMix模型大大提高了職位推薦系統(tǒng)的性能,成功使職位申請數(shù)量增加了20%。

根據(jù)特征和算法,領(lǐng)英構(gòu)建了Photon Connect訓(xùn)練引擎,把上述所有組件連接起來。Photon Connect用Frame來訪問特征,并將特征與標(biāo)簽數(shù)據(jù)連接起來,然后將數(shù)據(jù)傳輸至Quasar模型進(jìn)行特征轉(zhuǎn)換。在這個(gè)階段,Quasar模型的參數(shù)是未知的,領(lǐng)英利用Quasar模型進(jìn)行特征轉(zhuǎn)換,然后使用算法來學(xué)習(xí)這些參數(shù)。學(xué)習(xí)到的參數(shù)會插入到Quasar模型中。這樣,一個(gè)Quasar模型建模就完成了,它可以直接部署到線上服務(wù)中。

機(jī)器學(xué)習(xí)在領(lǐng)英的規(guī)?;瘧?yīng)用

Health Assurance Layer保證算法順利運(yùn)行

模型訓(xùn)練和部署完成后,最后一個(gè)問題是:當(dāng)模型實(shí)際運(yùn)行的時(shí)候,如何保持它能夠正常運(yùn)行呢?根據(jù)過去的經(jīng)驗(yàn)教訓(xùn),在開發(fā)的早期階段越重視這個(gè)問題,越容易在實(shí)際運(yùn)行時(shí)保證模型正常運(yùn)行。因此,在模型探索和訓(xùn)練等早期階段,領(lǐng)英的Health Assurance Layer提供了一系列工具,用于持續(xù)監(jiān)控和驗(yàn)證。有人可能會問,在實(shí)際運(yùn)行中,所有在線特征都可用嗎?特征更新的速度是否足夠快?實(shí)際上,如果出現(xiàn)任何異樣, Health Assurance Layer 將通知相應(yīng)的工程師,他們會介入進(jìn)行調(diào)試。Health Assurance Layer為工程師提供了一系列工具,幫助他們快速鎖定問題。

機(jī)器學(xué)習(xí)在領(lǐng)英的規(guī)?;瘧?yīng)用

領(lǐng)英的機(jī)器學(xué)習(xí)與Pro-ML團(tuán)隊(duì)

經(jīng)過十年的快速發(fā)展和實(shí)驗(yàn)后,領(lǐng)英將人工智能團(tuán)隊(duì)與產(chǎn)品團(tuán)隊(duì)緊密地聯(lián)系在一起,使機(jī)器學(xué)習(xí)團(tuán)隊(duì)能夠與致力于解決類似難題的同行專家合作并分享最佳實(shí)踐。

類似地,Pro-ML團(tuán)隊(duì)圍繞五個(gè)主要支柱構(gòu)建,每個(gè)支柱都支持模型開發(fā)生命周期的一個(gè)階段。通常,每個(gè)支柱都有一個(gè)負(fù)責(zé)人(通常是一名工程師)、一個(gè)技術(shù)負(fù)責(zé)人和幾個(gè)工程師。這些工程師也來自各個(gè)組織,包括產(chǎn)品工程組織、基礎(chǔ)/工具組織和基礎(chǔ)架構(gòu)團(tuán)隊(duì)。Pro-ML團(tuán)隊(duì)分布在世界各地,包括班加羅爾、歐洲和美國多個(gè)地方。領(lǐng)英還擁有一個(gè)領(lǐng)導(dǎo)團(tuán)隊(duì),幫助制定項(xiàng)目愿景,并且最重要的是致力于消除摩擦,以便每一個(gè)支柱能夠獨(dú)立存在。

Pro-ML將增加能夠利用人工智能的產(chǎn)品數(shù)量,并擴(kuò)大能夠培訓(xùn)和部署模型的團(tuán)隊(duì)數(shù)量。此外,它將減少模型選擇、部署等所需的時(shí)間,并使Health Assurance等關(guān)鍵領(lǐng)域自動化。領(lǐng)英現(xiàn)在已經(jīng)花了一年多的時(shí)間來改造人工智能,使其能保持快速、高效和可操作性,擴(kuò)展到所有工程領(lǐng)域。它讓工程師有更多的時(shí)間去做他們最擅長的事情:利用領(lǐng)英獨(dú)特的高度結(jié)構(gòu)化的數(shù)據(jù)集,為棘手的技術(shù)問題找到創(chuàng)造性的解決方案。

從 2014 年進(jìn)入中國開始,領(lǐng)英不斷地探索著中國這片獨(dú)具特點(diǎn)的市場,在中國北京和美國硅谷從無到有,構(gòu)建了一支超過 100人的本土研發(fā)團(tuán)隊(duì),兩地團(tuán)隊(duì)以“One Team”的形式協(xié)作,利用總部的技術(shù)資源優(yōu)勢,希望推動中國市場完成本地化產(chǎn)品與技術(shù)創(chuàng)新。未來領(lǐng)英也將進(jìn)一步依靠 AI 和大數(shù)據(jù)技術(shù)升級優(yōu)化用戶體驗(yàn)。如果你也想加入領(lǐng)英中國這支強(qiáng)大的研發(fā)團(tuán)隊(duì),歡迎點(diǎn)擊下方鏈接/掃描二維碼,查看并申請職位吧!

極客網(wǎng)企業(yè)會員

免責(zé)聲明:本網(wǎng)站內(nèi)容主要來自原創(chuàng)、合作伙伴供稿和第三方自媒體作者投稿,凡在本網(wǎng)站出現(xiàn)的信息,均僅供參考。本網(wǎng)站將盡力確保所提供信息的準(zhǔn)確性及可靠性,但不保證有關(guān)資料的準(zhǔn)確性及可靠性,讀者在使用前請進(jìn)一步核實(shí),并對任何自主決定的行為負(fù)責(zé)。本網(wǎng)站對有關(guān)資料所引致的錯(cuò)誤、不確或遺漏,概不負(fù)任何法律責(zé)任。任何單位或個(gè)人認(rèn)為本網(wǎng)站中的網(wǎng)頁或鏈接內(nèi)容可能涉嫌侵犯其知識產(chǎn)權(quán)或存在不實(shí)內(nèi)容時(shí),應(yīng)及時(shí)向本網(wǎng)站提出書面權(quán)利通知或不實(shí)情況說明,并提供身份證明、權(quán)屬證明及詳細(xì)侵權(quán)或不實(shí)情況證明。本網(wǎng)站在收到上述法律文件后,將會依法盡快聯(lián)系相關(guān)文章源頭核實(shí),溝通刪除相關(guān)內(nèi)容或斷開相關(guān)鏈接。

2019-12-06
機(jī)器學(xué)習(xí)在領(lǐng)英的規(guī)?;瘧?yīng)用
人工智能和機(jī)器學(xué)習(xí)仍然是全球持續(xù)增長的領(lǐng)域之一,近年來涌現(xiàn)出越來越多本科生或者非人工智能專業(yè)出身的工程師,他們努力學(xué)習(xí)和使用技術(shù)來改進(jìn)產(chǎn)品,幾乎每天都有新的機(jī)器

長按掃碼 閱讀全文