愛奇藝除了在音視頻、推薦等深度學(xué)習(xí)的AI應(yīng)用以外,也有不少數(shù)據(jù)挖掘、數(shù)據(jù)分析的傳統(tǒng)機(jī)器學(xué)習(xí)應(yīng)用場(chǎng)景,例如用戶預(yù)測(cè)、風(fēng)控等。傳統(tǒng)的研發(fā)模式的痛點(diǎn),就是會(huì)給算法人員和業(yè)務(wù)人員一些不便利,具體如下:
創(chuàng)新互聯(lián)是一家集網(wǎng)站建設(shè),雄縣企業(yè)網(wǎng)站建設(shè),雄縣品牌網(wǎng)站建設(shè),網(wǎng)站定制,雄縣網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營(yíng)銷,網(wǎng)絡(luò)優(yōu)化,雄縣網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競(jìng)爭(zhēng)力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶成長(zhǎng)自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。
1. 用戶代碼基于單機(jī)腳本實(shí)現(xiàn),處理環(huán)節(jié)長(zhǎng)、耦合高,難以修改和擴(kuò)展,長(zhǎng)久以來可讀性降低;
2. 同一業(yè)務(wù)下多個(gè)場(chǎng)景、同一場(chǎng)景下多個(gè)模型,在數(shù)據(jù)處理、模型訓(xùn)練等技術(shù)流程上類似,場(chǎng)景重復(fù)步驟和數(shù)據(jù)結(jié)果難以重復(fù)利用;
3. 場(chǎng)景不同導(dǎo)致存在周期訓(xùn)練、定時(shí)預(yù)估、實(shí)時(shí)預(yù)估等需求,對(duì)業(yè)務(wù)人員和算法人員的代碼要求高,維護(hù)成本高;
4. 算法人員和業(yè)務(wù)人員對(duì)分布式機(jī)器學(xué)習(xí)的開發(fā)存在技術(shù)壁壘,導(dǎo)致數(shù)據(jù)量和模型復(fù)雜度受單機(jī)資源限制;
基于以上痛點(diǎn),愛奇藝開發(fā)了面向通用的機(jī)器學(xué)習(xí)場(chǎng)景的一站式機(jī)器學(xué)習(xí)平臺(tái)Deepthought,可實(shí)現(xiàn)可視化交互,能更加直觀便捷的搭建適合業(yè)務(wù)場(chǎng)景需要的架構(gòu),以及實(shí)時(shí)預(yù)估服務(wù),是算法模型部署至實(shí)際業(yè)務(wù)的重要環(huán)節(jié)。
Deepthought在開發(fā)之初即考慮了以下基本業(yè)務(wù)需求:
1. 核心算法基于分布式機(jī)器學(xué)習(xí)框架封裝,以開源封裝為主、自研實(shí)現(xiàn)為輔,滿足快速上線基本算法需求;
2. 對(duì)于機(jī)器學(xué)習(xí)和數(shù)據(jù)挖掘各個(gè)環(huán)節(jié)解耦,滿足不同環(huán)節(jié)的輸出結(jié)果可復(fù)用;
3. 與大數(shù)據(jù)平臺(tái)通天塔深度融合,利用通天塔管理的項(xiàng)目、數(shù)據(jù)、調(diào)度實(shí)現(xiàn)機(jī)器學(xué)習(xí)任務(wù)的在線、離線場(chǎng)景的執(zhí)行;
4. 減輕用戶代碼開發(fā)壓力,通過可視化交互和配置方式,實(shí)現(xiàn)機(jī)器學(xué)習(xí)任務(wù)的編排,提升算法模型搭建效率。
屬于反作弊業(yè)務(wù)使用的機(jī)器學(xué)習(xí)平臺(tái),主要將反作弊業(yè)務(wù)中的機(jī)器學(xué)習(xí)流程各個(gè)階段解耦合,同時(shí)管理反作弊業(yè)務(wù)中的業(yè)務(wù)數(shù)據(jù),例如黑名單、樣本、特征管理。Deepthought v1架構(gòu)如下圖所示。
Deepthought基于Spark ML/MLLib封裝了業(yè)務(wù)常用二分類模型,以及常用數(shù)據(jù)預(yù)處理過程,例如缺失值填充、歸一化等。
所有數(shù)據(jù)處理和算法執(zhí)行通過組件的方式管理和調(diào)度。算法的擴(kuò)展除了核心邏輯和調(diào)度腳本外,所有組件信息和配置項(xiàng)都可通過后臺(tái)配置管理完成,前端交互時(shí)動(dòng)態(tài)渲染組件的所有配置信息。
算法擴(kuò)充
在v2我們持續(xù)增加了多個(gè)機(jī)器學(xué)習(xí)算法,其中包括監(jiān)督學(xué)習(xí)二分類、多分類、回歸算法,非監(jiān)督學(xué)習(xí)的聚類、圖類算法,多種數(shù)據(jù)預(yù)處理算法以及多種算法評(píng)估和數(shù)據(jù)分析可視化組件,基本滿足傳統(tǒng)機(jī)器學(xué)習(xí)所有場(chǎng)景的需要。
可視化交互
每一個(gè)機(jī)器學(xué)習(xí)的步驟,以組件的方式管理和使用。用戶通過對(duì)組件的拖拉拽方式的交互操作,能更加直觀便捷的搭建適合業(yè)務(wù)場(chǎng)景需要的架構(gòu),可實(shí)現(xiàn)的業(yè)務(wù)場(chǎng)景也更加靈活開放。另外,前端也提供了一系列標(biāo)注化的報(bào)表控件,系統(tǒng)即時(shí)讀取的報(bào)表數(shù)據(jù)可動(dòng)態(tài)渲染成可視化報(bào)表。
離線定時(shí)調(diào)度任務(wù)
與大數(shù)據(jù)平臺(tái)通天塔權(quán)限打通,通過大數(shù)據(jù)平臺(tái)通天塔讀取Deepthought任務(wù)信息并進(jìn)行調(diào)度,實(shí)現(xiàn)任務(wù)的定時(shí)預(yù)測(cè)的場(chǎng)景。
Deepthought v2架構(gòu)如下圖所示。
Deepthoughtv3.0版,支持實(shí)時(shí)預(yù)估服務(wù)
自動(dòng)調(diào)參
v2實(shí)現(xiàn)了自動(dòng)調(diào)參的功能,可通過多種調(diào)參算法,對(duì)多個(gè)參數(shù)進(jìn)行優(yōu)化組合、并行訓(xùn)練,最終找出最優(yōu)評(píng)估效果的參數(shù)組合和最優(yōu)模型。通過自動(dòng)執(zhí)行重復(fù)性任務(wù)提高用戶工作效率,使得用戶更多關(guān)注問題,而不是模型。
實(shí)時(shí)預(yù)估
參數(shù)服務(wù)器
由于一些內(nèi)在原因,在基于Spark的機(jī)器學(xué)習(xí)無法支撐百萬級(jí)以上維度、億級(jí)以上行數(shù)的超大規(guī)模數(shù)據(jù)訓(xùn)練。業(yè)界通過參數(shù)服務(wù)器解決了超大規(guī)模數(shù)據(jù)訓(xùn)練的問題。v3集成了開源參數(shù)服務(wù)器,并在此基礎(chǔ)上實(shí)現(xiàn)了部分常用模型的參數(shù)服務(wù)器版本。
Deepthought v3架構(gòu)如下圖所示。
部分核心實(shí)現(xiàn)與封裝
下文將對(duì)平臺(tái)部分核心功能的實(shí)現(xiàn)和封裝簡(jiǎn)要介紹。
Spark ML/MLLib封裝
Deepthought中算法組件基于spark原生ml/mllib包進(jìn)行封裝和改進(jìn),在繼承了其并行計(jì)算、通道流式處理等優(yōu)點(diǎn)之外,還加入一系列提供用戶易用性的功能,同時(shí)增加了一些原生包中不存在的算法。
Deepthought不僅僅是對(duì)Spark ML/MLLib做了封裝,也有很多基于實(shí)際業(yè)務(wù)和平臺(tái)化的開發(fā)。為了擴(kuò)展和優(yōu)化Deepthought的功能,Deepthought增加了數(shù)據(jù)預(yù)處理組件以及訓(xùn)練組件中的標(biāo)簽自動(dòng)轉(zhuǎn)換功能。
loss實(shí)時(shí)輸出原理
一個(gè)良好的可用的機(jī)器學(xué)習(xí)模型,需要經(jīng)過算法工程師不斷的調(diào)優(yōu)、嘗試;而模型的調(diào)優(yōu)需要花費(fèi)大量的時(shí)間和精力。
用戶在線上使用模型實(shí)時(shí)預(yù)估的過程中,需要定期使用新訓(xùn)練的模型替換舊模型。在實(shí)時(shí)預(yù)估服務(wù)的早期版本中,預(yù)估服務(wù)代碼在加載到QAE后,通過初始化一次性加載模型到內(nèi)存里。
這就導(dǎo)致如果需要更新模型時(shí),我們需要通過kill QAE實(shí)例,逐漸替換QAE達(dá)到新模型替換舊模型的效果。這種方式存在缺陷是:
1. 用戶對(duì)切換過程不可知,無法追蹤某次響應(yīng)具體是舊模型或新模型的預(yù)測(cè)結(jié)果;
2. 由于RPC是長(zhǎng)連接,KILL一個(gè)QAE實(shí)例后會(huì)導(dǎo)致當(dāng)前實(shí)例中的所有鏈接中斷。過程雖然短暫,但仍然會(huì)造成一定的請(qǐng)求抖動(dòng)。
目前應(yīng)用和后續(xù)工作
目前Deepthought已被流量反作弊、用戶行為分析、愛奇藝號(hào)、文學(xué)等多個(gè)團(tuán)隊(duì)使用。下文簡(jiǎn)要介紹目前已在Deepthought開展業(yè)務(wù)的一些典型場(chǎng)景。
目前流量反作弊業(yè)務(wù)已全線使用Deepthought進(jìn)行模型訓(xùn)練和離線預(yù)測(cè)。
Deepthought在推薦業(yè)務(wù)中也受到的廣泛的應(yīng)用和好評(píng)。
在整個(gè)推薦業(yè)務(wù)中,Deepthought專注于模型的訓(xùn)練,通過將大數(shù)據(jù)平臺(tái)通天塔準(zhǔn)備好的數(shù)據(jù)給入到Deepthought平臺(tái),用戶通過拉取組件的形式,構(gòu)建一系列數(shù)據(jù)預(yù)處理,數(shù)據(jù)拆分,模型訓(xùn)練、評(píng)估的流程,并在模型訓(xùn)練完備之后部署到線上,從而進(jìn)行實(shí)時(shí)的預(yù)估附。當(dāng)整套流程第一次構(gòu)建完成之后,用戶往后僅僅需要定時(shí)運(yùn)行流程,實(shí)現(xiàn)模型的更新即可。
其中g(shù)bdt編碼+fm訓(xùn)練的組合模型,是使用頻率最高的模型之一。推薦業(yè)務(wù)通過gbdt編碼將連續(xù)型數(shù)據(jù)轉(zhuǎn)換為離散型數(shù)據(jù),在與已有離散型數(shù)據(jù)進(jìn)行拼接,從而得到可用于fm模型訓(xùn)練的數(shù)據(jù)。
當(dāng)模型訓(xùn)練完成,Deepthought通過公眾號(hào)和郵件的方式通知用戶模型的準(zhǔn)確率、召回等詳情。當(dāng)模型確認(rèn)可用后,可通過Deepthought平臺(tái)將模型進(jìn)行實(shí)時(shí)部署,從而滿足推薦業(yè)務(wù)的實(shí)時(shí)預(yù)測(cè)需求。
Deepthought對(duì)大量機(jī)器學(xué)習(xí)封裝和平臺(tái)化開發(fā),使用戶可通過簡(jiǎn)單配置和拖動(dòng)方式完成機(jī)器學(xué)習(xí)操作,協(xié)助非算法業(yè)務(wù)同學(xué)能夠輕松使用機(jī)器學(xué)習(xí),同時(shí)規(guī)范使用,大大減輕用戶在重復(fù)代碼和算法、模型管理上的工作量。同時(shí),與大數(shù)據(jù)平臺(tái)通天塔深度合作,實(shí)現(xiàn)數(shù)據(jù)開發(fā)到模型訓(xùn)練、離線、在線預(yù)測(cè)全流程閉環(huán),是大數(shù)據(jù)團(tuán)隊(duì)數(shù)據(jù)中臺(tái)重要組成部分。
分享題目:一站式機(jī)器學(xué)習(xí)平臺(tái)Deepthought的建設(shè)與初探
分享URL:http://aaarwkj.com/article30/gdigpo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計(jì)公司、網(wǎng)站內(nèi)鏈、電子商務(wù)、定制開發(fā)、網(wǎng)站維護(hù)、微信小程序
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)