中文字幕在线观看,亚洲а∨天堂久久精品9966,亚洲成a人片在线观看你懂的,亚洲av成人片无码网站,亚洲国产精品无码久久久五月天

騰訊QQ大數(shù)據(jù):Quicksilver快數(shù)據(jù)處理系統(tǒng)

2018-09-04    來(lái)源:raincent

容器云強(qiáng)勢(shì)上線!快速搭建集群,上萬(wàn)Linux鏡像隨意使用

Quicksilver為神盾推出的一款推薦場(chǎng)景下數(shù)據(jù)快速處理系統(tǒng),旨在解決數(shù)據(jù)如何在分鐘級(jí)、秒級(jí)更新并對(duì)接線上。

背景

隨著神盾推薦業(yè)務(wù)場(chǎng)景的不斷深入,傳統(tǒng)的離線訓(xùn)練+線上計(jì)算的模式可以說(shuō)是推薦系統(tǒng)1代框架,已經(jīng)不能完全滿(mǎn)足部分業(yè)務(wù)場(chǎng)景的需求,如短視頻、文本等快消費(fèi)場(chǎng)景。下面先簡(jiǎn)單介紹下傳統(tǒng)模式以及其在不斷變化的場(chǎng)景需求中的不足點(diǎn)。

傳統(tǒng)模式簡(jiǎn)單介紹

傳統(tǒng)模式下,整個(gè)推薦流程粗略可分為,數(shù)據(jù)上報(bào)、樣本及特征構(gòu)造,離線訓(xùn)練評(píng)測(cè),線上實(shí)時(shí)計(jì)算,abtest等。

• 優(yōu)點(diǎn):

系統(tǒng)架構(gòu)簡(jiǎn)單
普適性較強(qiáng),能滿(mǎn)足大多數(shù)業(yè)務(wù)場(chǎng)景。

• 缺點(diǎn):

數(shù)據(jù)及時(shí)性不夠。
模型實(shí)時(shí)性不強(qiáng)。

下面舉一個(gè)簡(jiǎn)單例子,來(lái)說(shuō)明這樣的問(wèn)題:

 

 

小明同學(xué)在微視上看了一個(gè)視頻,那么在推薦場(chǎng)景下,可能會(huì)遇到以上四類(lèi)需求,并且每種需求對(duì)于數(shù)據(jù)的實(shí)時(shí)性要求并不一樣。從推薦系統(tǒng)功能來(lái)看,可以概括為已閱實(shí)時(shí)過(guò)濾、用戶(hù)行為實(shí)時(shí)反饋、物品池子更新等。所以如果要滿(mǎn)足業(yè)務(wù)需求,從代碼層面來(lái)看,這樣的需求并不復(fù)雜,但是從架構(gòu)層面或者可擴(kuò)展性來(lái)說(shuō),神盾作為一個(gè)面向不同業(yè)務(wù)的通用推薦平臺(tái),就需要提供一個(gè)能滿(mǎn)足大多數(shù)業(yè)務(wù),對(duì)于快速據(jù)消費(fèi)的通用平臺(tái)。

針對(duì)不同業(yè)務(wù)、不同場(chǎng)景需求,神盾希望構(gòu)建一個(gè)快數(shù)據(jù)處理系統(tǒng),旨在滿(mǎn)足更多業(yè)務(wù)場(chǎng)景的快速據(jù)消費(fèi)場(chǎng)景。

需求調(diào)研

任何系統(tǒng)的搭建及開(kāi)發(fā)離不開(kāi)特定的業(yè)務(wù)場(chǎng)景需求調(diào)查,神盾根據(jù)多年業(yè)務(wù)經(jīng)驗(yàn),收集歸納了相關(guān)快數(shù)據(jù)處理的相關(guān)需求,具體如下:

 

 

我們深入調(diào)研、討論,結(jié)合業(yè)界實(shí)踐以及神盾的實(shí)際情況,總結(jié)為兩類(lèi)系統(tǒng)需求:

• 1、 近線系統(tǒng)。滿(mǎn)足業(yè)務(wù)對(duì)于物品、特征、及其他數(shù)據(jù)類(lèi)服務(wù)的準(zhǔn)實(shí)時(shí)更新。

• 2、 在線學(xué)習(xí)。滿(mǎn)足業(yè)務(wù)對(duì)于模型的準(zhǔn)實(shí)時(shí)迭代更新。

基于以上調(diào)研,神盾推出Quicksilver(快數(shù)據(jù)計(jì)算)系統(tǒng),解決推薦場(chǎng)景下快數(shù)據(jù)計(jì)算及更新問(wèn)題。

系統(tǒng)設(shè)計(jì)

Quicksilver系統(tǒng)是一個(gè)集近線及在線學(xué)習(xí)能力為一體的通用架構(gòu)系統(tǒng),我們?cè)O(shè)計(jì)之初,從收、算、存、用四個(gè)維度來(lái)進(jìn)行設(shè)計(jì),如下:

 

 

• 收:數(shù)據(jù)的收集。目前主要支持基于DC、TDBank數(shù)據(jù)通道上報(bào)。

• 算:計(jì)算層。針對(duì)不同的數(shù)據(jù)類(lèi)型,定義不同的計(jì)算模塊。不同的計(jì)算模塊,采樣不同的技術(shù)方案來(lái)實(shí)現(xiàn)。例如對(duì)于物品池子此類(lèi)分鐘級(jí)更新要求的數(shù)據(jù),我們采用sparkstreaming,而對(duì)于用戶(hù)行為實(shí)時(shí)反饋等類(lèi)數(shù)據(jù),我們采用spp實(shí)時(shí)處理類(lèi)服務(wù)器框架。設(shè)計(jì)中屏蔽掉用戶(hù)對(duì)于底層實(shí)現(xiàn)的細(xì)節(jié)。

• 存:存儲(chǔ)層。針對(duì)不同的數(shù)據(jù)規(guī)模及訪問(wèn)頻率,神盾采用不同的存儲(chǔ)介質(zhì)來(lái)滿(mǎn)足數(shù)據(jù)存儲(chǔ)的要求及對(duì)線上服務(wù)延遲的要求。例如對(duì)于物品類(lèi)特征、池子類(lèi)數(shù)據(jù),神盾采用自研的SSM系統(tǒng),而對(duì)于用戶(hù)類(lèi)特征,數(shù)據(jù)量較大、存儲(chǔ)訪問(wèn)實(shí)時(shí)性要求也較高,我們選型為公司的grocery存儲(chǔ)組件。

• 用:使用對(duì)接層。通過(guò)Quicksilver計(jì)算得到的數(shù)據(jù),我們均通過(guò)神盾產(chǎn)品化來(lái)配置管理,降低對(duì)于數(shù)據(jù)使用的門(mén)檻,最終可以通過(guò)配置,直接與線上的召回、精排、重排、規(guī)則等計(jì)算單元進(jìn)行打通使用。

架構(gòu)實(shí)現(xiàn)

 

 

以上為Quicksilver整體架構(gòu)實(shí)現(xiàn)圖,主要分為近線系統(tǒng)及在線學(xué)習(xí)系統(tǒng)。下面詳細(xì)介紹。

近線系統(tǒng)

近線系統(tǒng)主要為了滿(mǎn)足以下幾類(lèi)細(xì)分需求:

• 實(shí)時(shí)召回:

Quicksilver處理物料,經(jīng)過(guò)各通道后到線上 (要求秒級(jí),實(shí)際分鐘級(jí))

• 實(shí)時(shí)因子:

Quicksilver統(tǒng)計(jì)計(jì)算,經(jīng)過(guò)各通道后到線上(分鐘級(jí))

• 實(shí)時(shí)特征:

統(tǒng)計(jì)型(物料、行為、場(chǎng)景):Quicksilver計(jì)算,經(jīng)過(guò)各通道后到線上(分鐘級(jí))

實(shí)時(shí)特征(用戶(hù)):實(shí)時(shí)特征構(gòu)造引擎構(gòu)造,構(gòu)造后直接對(duì)接線上(秒級(jí))

于是,在選型上,我們針對(duì)不同的數(shù)據(jù)計(jì)算模式,選擇不同的計(jì)算平臺(tái),對(duì)于統(tǒng)計(jì)類(lèi)型數(shù)據(jù),我們選擇sparkstreaming來(lái)作為我們的計(jì)算平臺(tái),對(duì)于實(shí)時(shí)性要求較高的數(shù)據(jù),如實(shí)時(shí)反饋類(lèi),我們采用spp來(lái)進(jìn)行平臺(tái)型封裝。

數(shù)據(jù)批處理

 

 

數(shù)據(jù)批處理是基于sparkstreaming實(shí)現(xiàn),如上,有幾點(diǎn)說(shuō)明:

1、對(duì)于使用者來(lái)說(shuō),采用api接口封裝,下層通信等均透明化處理。用戶(hù)只需在處理不同的數(shù)據(jù)時(shí),選擇不同的接口即可,如物品池子接口,特征接口等。使用PB協(xié)議進(jìn)行下層數(shù)據(jù)通信。

2、底層數(shù)據(jù)生成后,使用kafka進(jìn)行緩存。

3、數(shù)據(jù)線上使用時(shí),統(tǒng)一在神盾產(chǎn)品化上進(jìn)行配置管理,降低運(yùn)維成本。

數(shù)據(jù)實(shí)時(shí)處理

 

 

數(shù)據(jù)實(shí)時(shí)處理是基于spp server實(shí)現(xiàn),如上,有幾點(diǎn)說(shuō)明:

1、對(duì)于用戶(hù)來(lái)說(shuō),希望一次轉(zhuǎn)發(fā),多次使用。Quicksilver通過(guò)接入層interface來(lái)實(shí)現(xiàn),業(yè)務(wù)只需要轉(zhuǎn)發(fā)到統(tǒng)一的對(duì)外L5,即可實(shí)現(xiàn)數(shù)據(jù)一次轉(zhuǎn)發(fā),多次使用,如部分業(yè)務(wù)可能想即進(jìn)行特征構(gòu)造,有可以將數(shù)據(jù)轉(zhuǎn)發(fā)到樣本構(gòu)造,在此即可實(shí)現(xiàn)。而所有的這些配置,也通過(guò)神盾產(chǎn)品化進(jìn)行配置管理。

2、對(duì)于不同的業(yè)務(wù),由于數(shù)據(jù)上報(bào)標(biāo)準(zhǔn)不一樣,那么如何實(shí)現(xiàn)不同的數(shù)據(jù)上報(bào)標(biāo)準(zhǔn)都可以在Quicksilver上使用,這是實(shí)際中遇到的挺頭疼的一件事。我們將這樣的問(wèn)題拆解成不同的數(shù)據(jù)標(biāo)準(zhǔn),轉(zhuǎn)化成神盾統(tǒng)一的上報(bào)標(biāo)準(zhǔn)的問(wèn)題。于是,在實(shí)際代碼開(kāi)發(fā)中,只需要留出這樣的轉(zhuǎn)化接口,不同的業(yè)務(wù)實(shí)現(xiàn)不同的接口,并可以根據(jù)配置選擇不同的接口,那么即可解決這一的問(wèn)題,在這里,反射即可以很好解決這一的問(wèn)題。

在線學(xué)習(xí)

在線學(xué)習(xí)有兩方面優(yōu)點(diǎn),一是充分利用數(shù)據(jù)時(shí)效性,實(shí)時(shí)跟蹤用戶(hù)對(duì)物品的偏好,比如10點(diǎn)鐘上線的新游,在11點(diǎn)的推薦結(jié)果中就可以反饋出不同用戶(hù)對(duì)新游偏好情況,使得在盡快適應(yīng)用戶(hù)偏好同時(shí),提升了apps轉(zhuǎn)化率;二是在線學(xué)習(xí)前提是標(biāo)記數(shù)據(jù)和特征在線拼接,該操作可以在一定程度上緩解模型離線訓(xùn)練資源不足瓶頸。

以某apps推薦為例,面臨效果提升瓶頸,我們分析有兩方面原因?qū)е,一是?shù)據(jù)源紅利降低(新增數(shù)據(jù)源成本越來(lái)越高);二是高維線性模型遭遇瓶頸,暴力式特征交叉是LR模型提升特征維數(shù)的主要手段,它存在兩個(gè)問(wèn)題,一方面,做不同特征之間交叉組合需要一定成本,另一方面,無(wú)法窮盡所有交叉組合方式。

面對(duì)推薦效果提升瓶頸問(wèn)題,有三種解決方案,一是繼續(xù)想辦法引入新數(shù)據(jù)源構(gòu)建特征;二是充分利用現(xiàn)有數(shù)據(jù)源,嘗試更好特征工程方法,比如Stacking集成或者特征工程自動(dòng)化;三是考慮充分利用數(shù)據(jù)時(shí)效性,引入在線學(xué)習(xí)方案,實(shí)時(shí)跟蹤用戶(hù)對(duì)apps偏好變化。

Quicksilver在線學(xué)習(xí)架構(gòu)設(shè)計(jì)如下:

 

 

整個(gè)系統(tǒng)主要細(xì)分為5個(gè)小模塊:

• 樣本采樣:根據(jù)模型的優(yōu)化目標(biāo)支持自定義采樣方法,同時(shí)在后期也需要將場(chǎng)景特征考慮進(jìn)來(lái),采樣的結(jié)果作為實(shí)時(shí)拼接的輸入

• 實(shí)時(shí)拼接:將實(shí)時(shí)樣本的userid 、itemid的全量特征進(jìn)行拼接,拼接的結(jié)果一方面可以作為離線平臺(tái)的輸入,另外一方面也可以作為特征引擎的輸入;

• 特征工程引擎:根據(jù)各個(gè)在線訓(xùn)練算法的特征配置,從拼接好特征的樣本中進(jìn)行特征選擇、特征交叉等操作,并將處理的結(jié)果寫(xiě)入kafka消息隊(duì)列,模型訓(xùn)練和模型評(píng)估模塊消費(fèi)消息隊(duì)列里面的數(shù)據(jù)進(jìn)行訓(xùn)練和評(píng)估;

• 流式訓(xùn)練:消費(fèi)kafka里面的樣本數(shù)據(jù),采用onepass或者minibatch的形式進(jìn)行模型參數(shù)更新;

• 模型評(píng)估:對(duì)模型訓(xùn)練出來(lái)的模型實(shí)例,從kafka消費(fèi)實(shí)時(shí)樣本數(shù)據(jù)對(duì)模型進(jìn)行auc評(píng)估。

下面關(guān)于幾個(gè)較重要模塊進(jìn)行較詳細(xì)介紹:

樣本采樣

 

 

• 使用spp server實(shí)現(xiàn)類(lèi)map、reduce操作,采樣的結(jié)果支持存儲(chǔ)到kafka或者下一個(gè)實(shí)時(shí)拼接模塊。

• 采樣規(guī)則引擎基于flex/yacc設(shè)計(jì)實(shí)現(xiàn)。

• 所有采樣的配置信息,均通過(guò)神盾產(chǎn)品化實(shí)現(xiàn)管理。

特征拼接

 

 

實(shí)時(shí)拼接服務(wù)主要是將樣本中包含的物品和用戶(hù)的“全量”基礎(chǔ)特征拼接到一起,為下一步實(shí)時(shí)特征提供原料。 特征來(lái)源有是三個(gè)不同的地方:

• 用戶(hù)特征(包括實(shí)時(shí)用戶(hù)特征):目前主要是來(lái)自grocery

• 物品特征(包括實(shí)時(shí)物品特征): 目前主要從SSM中讀取

• 場(chǎng)景特征:是在采樣的過(guò)程中生成。

實(shí)時(shí)特征拼接后,下一步便是特征工程引擎的環(huán)節(jié),目前主要支持內(nèi)積、外積、笛卡爾積三種模式,在此不詳細(xì)介紹。

模型訓(xùn)練

 

 

• 目前主要實(shí)現(xiàn)基于FTRL的lr及fm算法實(shí)現(xiàn),正在調(diào)研參數(shù)服務(wù)器大規(guī)模生產(chǎn)環(huán)境使用的路上。

• 動(dòng)態(tài)采樣:有的算法算法需要控制正負(fù)樣本的比例,但線上的流式訓(xùn)練與離線的batch不同,不能再訓(xùn)練之前就知道本次訓(xùn)練總樣本量是多少,以及正負(fù)樣本的比例,故需要根據(jù)設(shè)置的正負(fù)樣本比例值,根據(jù)時(shí)間的推移來(lái)動(dòng)態(tài)控制,即在訓(xùn)練的過(guò)程中動(dòng)態(tài)采樣。

• 低特征覆蓋:為了提高模型的可靠性,其中方法之一就是在模型中結(jié)合場(chǎng)景特征屏蔽掉低覆蓋度特征,與動(dòng)態(tài)采樣一樣,流式訓(xùn)練時(shí),在訓(xùn)練前無(wú)法統(tǒng)計(jì)提前統(tǒng)計(jì)出每個(gè)出現(xiàn)的頻率,故也需要?jiǎng)討B(tài)過(guò)濾低頻特征,此方法不僅可以用在模型啟動(dòng)時(shí),對(duì)于新加入的特征同樣適用

模型訓(xùn)練后,即效果評(píng)估及上線環(huán)節(jié),目前主要支持AUC、MAE等主要評(píng)估指標(biāo),在此不再詳細(xì)贅述。

寫(xiě)在最后

對(duì)于任何系統(tǒng)設(shè)計(jì)來(lái)說(shuō),都不應(yīng)該脫離實(shí)際的應(yīng)用場(chǎng)景,這是神盾推薦系統(tǒng)一直貫徹的原則。Quicksilver系統(tǒng)也是神盾這么長(zhǎng)時(shí)間來(lái)從實(shí)際的業(yè)務(wù)場(chǎng)景中收集需求、設(shè)計(jì)、實(shí)現(xiàn)的,已經(jīng)在空間、電競(jìng)、手游、動(dòng)漫、京東等多個(gè)業(yè)務(wù)場(chǎng)景中上線使用,并取得了不錯(cuò)的效果。神盾也不斷在實(shí)際場(chǎng)景中繼續(xù)完善、優(yōu)化其中的相關(guān)能力,給業(yè)務(wù)帶來(lái)更高的效果提升。

標(biāo)簽: 代碼 服務(wù)器 評(píng)測(cè) 通信

版權(quán)申明:本站文章部分自網(wǎng)絡(luò),如有侵權(quán),請(qǐng)聯(lián)系:west999com@outlook.com
特別注意:本站所有轉(zhuǎn)載文章言論不代表本站觀點(diǎn)!
本站所提供的圖片等素材,版權(quán)歸原作者所有,如需使用,請(qǐng)與原作者聯(lián)系。

上一篇:未來(lái)10年將要誕生的21項(xiàng)新工作,你能干嘛?

下一篇:想從事人工智能和大數(shù)據(jù)的學(xué)生們,這里有幾條職業(yè)建議給你