推荐系统炼丹笔记:EdgeRec阿里边缘计算推荐系统
背景
推薦系統(tǒng)(RS)已經(jīng)成為大多數(shù)web應(yīng)用程序的關(guān)鍵模塊。最近,大多數(shù)RSs都是基于云到邊緣框架的瀑布式的,其中推薦的結(jié)果通過在云服務(wù)器中預(yù)先計(jì)算傳送到edge(例如用戶移動(dòng))。盡管有效,但云服務(wù)器和邊緣之間的網(wǎng)絡(luò)帶寬和延遲可能會(huì)導(dǎo)致系統(tǒng)反饋和用戶感知的延遲。因此,edge上的實(shí)時(shí)計(jì)算可以幫助更精確地捕捉用戶的偏好,從而提出更令人滿意的建議。本文首次嘗試設(shè)計(jì)和實(shí)現(xiàn)邊緣推薦系統(tǒng)(EdgeRec),它實(shí)現(xiàn)了實(shí)時(shí)的用戶感知和實(shí)時(shí)的系統(tǒng)反饋。此外,本文還提出了基于行為注意網(wǎng)絡(luò)的異構(gòu)用戶行為序列建模和上下文感知重排序,以捕捉用戶的不同興趣并相應(yīng)地調(diào)整推薦結(jié)果。在淘寶主頁feeds的離線評(píng)測和在線性能測試結(jié)果表明了EdgeRec的有效性。
之前框架
如上圖所示,手機(jī)端先向云端服務(wù)器初始化一個(gè)頁面請(qǐng)求,matching和ranking模型對(duì)應(yīng)頁面請(qǐng)求生成一個(gè)排序商品集合,而這套框架有諸多問題:
- 系統(tǒng)反饋延遲,在相鄰的兩個(gè)頁面請(qǐng)求,云端的RS無法實(shí)時(shí)調(diào)整推薦結(jié)果,所以較難滿足用變化的需求。
- 用戶感知延遲,RS模型部署在云端,往往會(huì)因?yàn)榫W(wǎng)絡(luò)延遲導(dǎo)致1min種左右的延遲,很難抓住用戶的實(shí)時(shí)需求。網(wǎng)絡(luò)的帶寬會(huì)進(jìn)一步限制當(dāng)前RS捕捉端上用戶的大量的和詳細(xì)的行為細(xì)節(jié)。
基于上述的情況,我們采用邊緣計(jì)算來滿足實(shí)時(shí)的性能要求。EdgeRec可以獲得實(shí)時(shí)用戶感知和實(shí)時(shí)的系統(tǒng)反饋。
系統(tǒng)
系統(tǒng)概覽
- Client Native (CN):初始化頁面請(qǐng)求并且將從RS服務(wù)器中返回的對(duì)應(yīng)候選商品的特征進(jìn)行緩存,從RS返回的商品個(gè)數(shù)被設(shè)置為100,然后CN收集用戶對(duì)曝光商品的行為并且除法模型服務(wù)模塊,在接收到候選商品的rank之后,CN就會(huì)調(diào)整商品的UI展示。
- Model Serving(MS):當(dāng)由CN觸發(fā)時(shí),MS對(duì)從CN處接收到的用戶行為和候選商品進(jìn)行特征工程,然后基于神經(jīng)網(wǎng)絡(luò)的模型,其目的是通過用戶行為建模來及時(shí)捕捉用戶行為,并對(duì)上下文感知的Reranking以及時(shí)響應(yīng)用戶,MS向云發(fā)送日志,并將候選商品的排名結(jié)果返回給CN;
- Recommender System(RS): 響應(yīng)來自CN的頁面請(qǐng)求,并為候選項(xiàng)提供初始排序。此外,它還可以在響應(yīng)CN之前從云上的key-value存儲(chǔ)中查找MS模塊中的模型需要的商品特征和嵌入;
- Offline Training(OT): 在模型訓(xùn)練之前,模塊首先從MS中收集日志并構(gòu)造樣本。然后,將訓(xùn)練后的模型分為三個(gè)部分:(1).用戶行為建模子模型;(2).上下文感知重排子模型;(3).嵌入矩陣(如類別和品牌)。最后,將前兩個(gè)子模型部署在MS模塊上,嵌入矩陣作為key-value形式保存在云上
算法模塊
問題定義
給定云端現(xiàn)有RS得到的初始排序商品列表Sr,對(duì)于在模型服務(wù)模塊的reranking請(qǐng)求r∈R,我們的目標(biāo)是尋找到一個(gè)得分函數(shù):
- 商品i的特征是xi;
- 從初始模型得到的局部排序s;
- 當(dāng)前推薦環(huán)境下的實(shí)時(shí)用戶行為上下文C;
Reranking模型考慮在局部排序上下文,局部排序上下文表示為初始排序候選項(xiàng)之間的列表式交互,可以用RNN或Transformer來建模。在這里,我們認(rèn)為實(shí)時(shí)的用戶行為上下文對(duì)于重排序問題也很重要,特別是在瀑布式推薦場景中,而以前很少有人考慮過這一點(diǎn)。
特征系統(tǒng)
1. Insight
之前很多模型:
- 只考慮用戶的直接正反饋,而忽略間接的負(fù)反饋,例如skipping或者刪除操作等。
- 只考慮與用戶交互的商品的特性(例如類別和品牌等),用戶的行為則被忽略了。
此外,雖然用戶沒有點(diǎn)擊某個(gè)項(xiàng)目,但對(duì)該項(xiàng)目曝光的操作(如滾動(dòng)速度和曝光)可以代表該項(xiàng)目被視為“負(fù)面反饋”的程度。有時(shí),如果用戶長時(shí)間關(guān)注某個(gè)項(xiàng)目而不單擊它,它不能絕對(duì)表明他/她不喜歡它。特別是在目前的瀑布流RS中,商品的顯示信息越來越豐富,比如大圖片、各種關(guān)鍵詞甚至自動(dòng)播放的視頻,點(diǎn)擊已經(jīng)成為一些用戶非常“奢侈”的正面反饋。
基于我們提出的EdgeRec系統(tǒng),所有的用戶行為特征都是在邊緣(即用戶的移動(dòng)設(shè)備)上收集、提取和消費(fèi)的,與目前基于云到端的RS系統(tǒng)相比,這可以突破網(wǎng)絡(luò)延遲和帶寬的限制。因此,可以結(jié)合大量詳細(xì)的行為來更實(shí)時(shí)地推斷用戶偏好。另外,用戶的原始行為在自己的移動(dòng)設(shè)備上進(jìn)行處理和利用,在一定程度上緩解了用戶的數(shù)據(jù)隱私問題。
基于上面的討論,我們發(fā)現(xiàn)這項(xiàng)工作的意義是非常重大的,新的特征工程:
- 從“只依賴正反饋交互”到“同時(shí)關(guān)注正反饋和負(fù)反饋交互作用”;
- 從“只關(guān)注交互項(xiàng)”到“同時(shí)考慮交互項(xiàng)及其對(duì)應(yīng)的動(dòng)作”;
- 從“準(zhǔn)實(shí)時(shí)”到“超實(shí)時(shí)”。
關(guān)于端上的實(shí)時(shí)特征:
2. 商品曝光用戶行為特征
商品曝光用戶行為特征分為四塊:
- 商品曝光統(tǒng)計(jì)特征;
- 用戶滑動(dòng)統(tǒng)計(jì)特征;
- 用戶刪減反饋;
- 時(shí)間延遲。
3. 商品頁面瀏覽用戶行為特征
商品頁面瀏覽(ipv)特征分為三類:
- 商品頁面瀏覽的統(tǒng)計(jì)特征;
- 在每個(gè)block是否有點(diǎn)擊;
- 時(shí)間延遲;
4. 商品特征
商品特征可以分為:
- embedding學(xué)習(xí)的離散特征;
- 從base排序模型學(xué)習(xí)得到的原始特征;
異質(zhì)用戶行為序列建模
這邊我們有兩個(gè)異質(zhì),第一個(gè)是:
- 商品曝光行為和商品頁面瀏覽行為:
因?yàn)樯唐返狞c(diǎn)擊相較于商品的曝光是更加稀疏的,所以一旦一起編碼,那么page-view的行為將會(huì)主導(dǎo)這一切。所以我們選擇分開建模(商品曝光行為序列+商品瀏覽行為序列建模);
第二個(gè)是:
- 用戶行為操作以及對(duì)應(yīng)的用戶交互的商品;
我們首先對(duì)他們進(jìn)行編碼,然后進(jìn)行在下面的上下文感知的重排模型中對(duì)行為注意機(jī)制進(jìn)行融合;
我們使用多層GRU網(wǎng)絡(luò)定義序列編碼函數(shù):
1. 商品曝光行為序列建模
2. 商品頁面瀏覽行為序列建模
3. 行為Attention網(wǎng)絡(luò)的上下文感知重排
我們使用GRU網(wǎng)絡(luò)對(duì)初始排序模型排序的候選項(xiàng)序列進(jìn)行編碼,并將最終狀態(tài)作為局部排序上下文,借助Attention技術(shù),我們的重排序模型可以自動(dòng)(軟)搜索與目標(biāo)項(xiàng)目排序相關(guān)的部分用戶行為上下文。
4. 候選商品序列編碼
5. 行為Attention
6. 模型訓(xùn)練
實(shí)驗(yàn)
- CRBAN+HUBSM(IE&IPV)取得了巨大的提升;
2. 線上效果&性能
2.1 線上效果
采用完整型號(hào)CRBAN+HUBSM(IE&IPV)的EdgeRec平均為PV貢獻(xiàn)1.57%,CTR為7.18%,CLICK為8.87%,GMV為10.92%,帶來了巨大的提升;
2.2 線上性能
- 用戶行為的延遲時(shí)間大大降低,系統(tǒng)的響應(yīng)時(shí)間大大降低,系統(tǒng)反饋數(shù)大大變多;
結(jié)論
本文設(shè)計(jì)并實(shí)現(xiàn)了EdgeRec來解決瀑布式RS中用戶感知和系統(tǒng)反饋的延遲問題,這是RS與邊緣計(jì)算相結(jié)合的首次嘗試。具體地說,本文提出了異構(gòu)用戶行為序列建模和基于行為注意網(wǎng)絡(luò)的上下文感知重排序方法來對(duì)用戶豐富的行為進(jìn)行建模。大量的線下和在線評(píng)估驗(yàn)證了EdgeRec在工業(yè)RS中的有效性。
參考文獻(xiàn)
http://weixin.qq.com/r/XSjP1zrEzGezrX60931P (二維碼自動(dòng)識(shí)別)
總結(jié)
以上是生活随笔為你收集整理的推荐系统炼丹笔记:EdgeRec阿里边缘计算推荐系统的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 推荐系统CTR预估学习路线:引入注意力机
- 下一篇: java信息管理系统总结_java实现科