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

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

2018-09-04    來源:raincent

容器云強勢上線!快速搭建集群,上萬Linux鏡像隨意使用

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

背景

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

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

傳統(tǒng)模式下,整個推薦流程粗略可分為,數(shù)據(jù)上報、樣本及特征構造,離線訓練評測,線上實時計算,abtest等。

• 優(yōu)點:

系統(tǒng)架構簡單
普適性較強,能滿足大多數(shù)業(yè)務場景。

• 缺點:

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

下面舉一個簡單例子,來說明這樣的問題:

 

 

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

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

需求調研

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

 

 

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

• 1、 近線系統(tǒng)。滿足業(yè)務對于物品、特征、及其他數(shù)據(jù)類服務的準實時更新。

• 2、 在線學習。滿足業(yè)務對于模型的準實時迭代更新。

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

系統(tǒng)設計

Quicksilver系統(tǒng)是一個集近線及在線學習能力為一體的通用架構系統(tǒng),我們設計之初,從收、算、存、用四個維度來進行設計,如下:

 

 

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

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

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

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

架構實現(xiàn)

 

 

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

近線系統(tǒng)

近線系統(tǒng)主要為了滿足以下幾類細分需求:

• 實時召回:

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

• 實時因子:

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

• 實時特征:

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

實時特征(用戶):實時特征構造引擎構造,構造后直接對接線上(秒級)

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

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

 

 

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

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

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

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

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

 

 

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

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

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

在線學習

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

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

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

Quicksilver在線學習架構設計如下:

 

 

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

• 樣本采樣:根據(jù)模型的優(yōu)化目標支持自定義采樣方法,同時在后期也需要將場景特征考慮進來,采樣的結果作為實時拼接的輸入

• 實時拼接:將實時樣本的userid 、itemid的全量特征進行拼接,拼接的結果一方面可以作為離線平臺的輸入,另外一方面也可以作為特征引擎的輸入;

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

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

• 模型評估:對模型訓練出來的模型實例,從kafka消費實時樣本數(shù)據(jù)對模型進行auc評估。

下面關于幾個較重要模塊進行較詳細介紹:

樣本采樣

 

 

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

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

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

特征拼接

 

 

實時拼接服務主要是將樣本中包含的物品和用戶的“全量”基礎特征拼接到一起,為下一步實時特征提供原料。 特征來源有是三個不同的地方:

• 用戶特征(包括實時用戶特征):目前主要是來自grocery

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

• 場景特征:是在采樣的過程中生成。

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

模型訓練

 

 

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

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

• 低特征覆蓋:為了提高模型的可靠性,其中方法之一就是在模型中結合場景特征屏蔽掉低覆蓋度特征,與動態(tài)采樣一樣,流式訓練時,在訓練前無法統(tǒng)計提前統(tǒng)計出每個出現(xiàn)的頻率,故也需要動態(tài)過濾低頻特征,此方法不僅可以用在模型啟動時,對于新加入的特征同樣適用

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

寫在最后

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

標簽: 代碼 服務器 評測 通信

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

上一篇:未來10年將要誕生的21項新工作,你能干嘛?

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