天天看點

EdgeRec:​揭秘邊緣計算在淘寶推薦系統的重要實踐​1.前言2.端上算法模型3.實驗效果4.總結關于我們

​1.前言

1.1 邊緣計算 v.s. 雲計算

在過去的這十年裡,依托于大資料,雲計算取得了非常耀眼的發展,與此同時也面臨着一些問題:随着網際網路應用及使用者規模爆炸式增長,5G普及和帶寬增加會帶來雲端存儲的壓力;目前線上系統部署大規模神經網絡已經日益普遍,對雲端計算産生巨大壓力;對一些實時性要求比較高的應用來說,與雲端巨大的通信開銷也是互動和體驗瓶頸;同時雲端“中心化”的計算模式也會帶來運維成本和故障風險。

邊緣計算這個概念其實提出來也已經很久了,随着近幾年終端裝置的存儲計算能力的快速發展,尤其是智能手機的性能(各種CPU、GPU的跑分,記憶體越來越大)已經成了主要的賣點,其計算能力目前看來遠沒有被充分利用起來。而且,邊緣計算的優勢在于下面四點:1)資料本地化,解決雲端存儲及隐私問題;2)計算本地化,解決雲端計算過載問題;3)低通信成本,解決互動和體驗問題;4)去中心化計算,故障規避與極緻個性化。

1.2 推薦系統中的痛點

在全面進入無線的時代,為了解決資訊負載的問題,越來越多的推薦場景得到興起,尤其是以清單推薦形式為主的資訊流推薦。以手淘資訊流為例,進入猜你喜歡場景的使用者,興趣常常是不明确的,使用者浏覽時往往沒有明确的商品需求,而是在逛的過程中逐漸去發現想買的商品。而推薦系統在使用者逛的過程中,會向用戶端下發并呈現不同類型的商品讓使用者從中挑選,推薦系統這個過程中會去捕捉使用者的興趣變化,進而推薦出更符合使用者興趣的商品。然而推薦系統能不能做到使用者興趣變化時立刻給出響應呢?

推薦系統以往的做法都是通過用戶端請求後觸發雲端伺服器的商品排序,然後将排序好的商品下發給使用者,端側再依此做商品呈現。這樣存在下面兩個問題:

推薦系統決策的延遲:由于雲端伺服器的QPS壓力限制,資訊流推薦會采用分頁請求的方式,這樣就會導緻雲端推薦系統對終端使用者推薦内容調整機會少,無法及時響應使用者的興趣變化。如下圖所示,使用者在第4個商品的互動表明不喜歡“機車”,但是由于分頁請求隻能在50個商品後,那麼當頁後面其他“機車”商品無法被及時調整。

對使用者行為的實時感覺的延遲:目前推薦系統的個性化都是通過把使用者與商品互動的行為作為特征來表達的,但是使用者的行為其實是發生在用戶端上的,推薦系統模型想要拿到使用者的行為特征需要把端上資料下發到服務端,此時就會造成延遲的問題,如下圖所示使用者行為的延遲可能會達到10s~1min。于此同時,由于網絡帶寬延遲的問題,其他大量的使用者細節行為(如商品的實時曝光、使用者的滑動手勢等)是無法進行模組化的。

EdgeRec:​揭秘邊緣計算在淘寶推薦系統的重要實踐​1.前言2.端上算法模型3.實驗效果4.總結關于我們

總結來看,目前推薦系統的痛點是,使用者偏好的變化與推薦系統對使用者感覺和對内容的調整時機并不能比對,會出現推薦的内容并非使用者目前時刻想要的,使用者浏覽和點選意願都會下降。

1.3 邊緣計算+推薦系統

邊緣計算的優勢,是讓邊緣節點(這裡指手機端上)具備了“獨立思考”的能力,這讓部分決策和計算不再依賴于雲端,端側可以更實時、更有政策的給出結果。說到實時性,5G時代的到來,其低延遲時間特性極大的降低了端和雲的互動時間,但這并不影響我們利用端智能實作更低成本的決策和快速響應,反而對于端智能來說,好處是能和雲端結合的更緊密。另外由于在端側能夠秒級感覺使用者意圖做出決策,産品和使用者貼的更近了,這催生了更多實時性的玩法,産品将不再局限于要到固定的時機如分頁請求讓雲端去給到新的内容回報,而是思考,當使用者表達出來特定的使用者意圖時,産品應該如何提供與意圖相比對的内容。

EdgeRec端上推薦系統便是借助于邊緣計算的這種實時感覺性和實時回報性,來解決目前Client-Server架構推薦系統的實時感覺、實時回報能力不足的問題。EdgeRec推薦系統提供了端上使用者意圖感覺、端上重排、端上實時插卡等能力。通過在端側秒級感覺使用者意圖做出決策,并提供與意圖相比對的回報,提升使用者的點選意願與浏覽意願,整體改變瀑布流的體感。

EdgeRec:​揭秘邊緣計算在淘寶推薦系統的重要實踐​1.前言2.端上算法模型3.實驗效果4.總結關于我們

2.端上算法模型

2.1 概述

如下圖 (a) 所示,EdgeRec中端上的推薦算法模型主要包含了“端上實時使用者感覺”和“端上實時重排”兩個子產品。其中,“端上實時使用者感覺”被模組化為Heterogeneous User Behavior Sequence Modeling,包含了“商品曝光行為序列模組化 (Item Exposure (IE) Behavior Sequence Modeling)”和“商品詳情頁行為序列模組化 (Item Page-View (IPV) Behavior Sequence Modeling)”兩部分;“端上實時重排”被模組化為Reranking with Behavior Attention Networks (BAN)。接下來我們會分别具體介紹這兩個子產品。

EdgeRec:​揭秘邊緣計算在淘寶推薦系統的重要實踐​1.前言2.端上算法模型3.實驗效果4.總結關于我們

2.2 端上實時使用者感覺

2.2.1 意義

首先,在個性化搜尋和推薦中,“千人千面”來源于特征的個性化,而“個性化”主要依賴于使用者的行為資料,參考DIN[1] 等工作,它們都模組化了使用者最近互動的商品序列,作為個性化模型的輸入。但是,前面的工作一般隻考慮了使用者和商品的“正回報”互動(如點選、成交),很少考慮到使用者與商品的“負回報”互動(如曝光)。确實,“正回報”特征相對來說較為明确,噪聲也相對較少;但是我們認為使用者與商品實時的“負回報”互動也很重要,舉一個直覺的例子來說:某一類目的商品實時地多次曝光後,該類目商品點選率會明顯下降。

另外一方面,之前的“個性化模型”的工作一般隻考慮了與使用者“互動”的商品特征,這句話的中心詞是“互動的商品”。但是,使用者與商品的“互動動作”其實也很重要,比如:使用者點選商品後在詳情頁的行為反應的是對這個商品真正的偏好,真實的資料裡面可能存在“僞”點選的情況;同樣地,如果使用者對某個商品雖然沒有點選,但是使用者在這個商品上的曝光非常聚焦,也就是商品曝光的停留時長非常長,這種情況也不能絕對說明這個商品的曝光未點選代表了使用者不喜歡,尤其在現在資訊流推薦頁面裡面商品的圖檔展示越來越大,也會透出各種關鍵詞,甚至可以自動播放視訊,也許點選對于某些使用者已經成為了非常“奢侈”的正回報了。

最後,我們認為使用者在推薦場景的“實時行為”也會非常重要,比如:使用者實時點選了不喜歡等負回報,或者某個類目實時多次曝光卻不點選,這些都反映了當時使用者的實時偏好,是以推薦系統需要具備實時模組化使用者偏好的能力,并及時作出調整。

總結來說,端上實時使用者感覺的意義在如下5點:

EdgeRec:​揭秘邊緣計算在淘寶推薦系統的重要實踐​1.前言2.端上算法模型3.實驗效果4.總結關于我們

2.2.2 實時行為特征體系

根據上文的分析,相比目前雲端推薦算法的使用者感覺模組化,端上實時使用者感覺要具備以下特點:1)從“依賴正回報互動“推進為“同時關注正負回報互動”,2)從“互動對象商品”改進為“對商品何種程度的互動”,3)從“準實時互動”推進為“超實時互動”。而這三個特點要靠端上特征來展現,基于以上的三個特點,我們與淘寶用戶端BehaviX團隊一起設計了用于資訊流推薦系統的端上實時使用者行為特征體系。如下圖所示,端上實時使用者行為特征主要包含了“(a) 商品曝光行為”和“(b) 商品詳情頁行為”這兩部分。

EdgeRec:​揭秘邊緣計算在淘寶推薦系統的重要實踐​1.前言2.端上算法模型3.實驗效果4.總結關于我們

2.2.3 異構行為序列模組化

這裡有兩方面的異構,第一:“使用者行為動作 (Action)”和“互動商品(Item)”的異構,第二:“瀑布流(曝光)行為 (Item Exposure (IE) Behavior)”和“詳情頁(點選)行為 (Item Page-View (IPV) Behavior)”的異構。首先我們介紹一下模型輸入的組織方式:1)使用者一個行為定義為一個 Pair <商品 (Item),動作 (Action)>,行為序列定義為 List (<商品 (Item),動作 (Action)>);2)商品曝光行為序列 (Item Exposure (IE) Behavior Sequence),“商品”是一個曝光的商品,“動作”是使用者在瀑布流對這個商品的互動動作,如曝光時長、滾動速度、滾動方向等;3)商品詳情頁行為序列 (Item Page-View (IPV) Behavior Sequence),“商品”是一個點選的商品,“動作”是使用者在詳情頁對這個商品的互動動作,如停留時長、是否加購、是否收藏等。

上面的模型圖 (a) 中包含了我們對Heterogeneous User Behavior Sequence Modeling的網絡結構圖的架構,這裡重點說明兩點:1)“商品曝光行為序列 (IE Behavior Sequence)”和“商品詳情頁行為序列 (IPV Behavior Sequence)”先分别單獨進行模組化,最後再進行融合(如果需要的話)。這裡主要考慮的是點選行為一般比較稀疏,而曝光行為非常多,如果先融合成一條行為序列再模組化的話,很可能模型會被曝光行為主導。2)商品特征 (Item) 和行為動作特征 (Action) 先分别Encode後,再進行Fusion。這裡主要考慮的是商品特征和行為動作特征屬于異構的輸入,如果下遊的任務需要對具體的商品進行Attention的話,隻有對同構的輸入Attention才會有意義,後面講到端上重排模型的時候會再重點說一下這個問題。

這裡,商品特征序列 (包括 IE Item Sequence和 IPV Item Sequence) 使用GRU網絡進行Encode,動作特征序列(包括IE Action Sequence和IPV Action Sequence) 直接使用Identity函數進行Encode。商品序列Embedding (包括 IE Item Embedding和 IPV Item Embedding) 和動作序列Embedding (包括 IE Action Embedding和 IPV Action Embedding) 的Fusion采用簡單的Concat操作,得到行為序列Embedding (包括 IE Behavior Embedding和 IPV Behavior Embedding)。

2.3 端上重排

2.3.1 意義

端上重排是端上推薦的基礎,擁有實時改變商品推薦順序的能力,可以把端上重排看做使用者Local域的推薦優化,也就是在當頁推薦結果内進行優化。端上重排依托于實時使用者感覺,根據實時的正 / 負回報(曝光、詳情頁)和更細節的使用者行為特征,在資訊流裡面不斷地對待排序商品進行重新排序,真正做到資訊流的實時感覺+實時推薦。

重排序這個任務無論在搜尋還是推薦領域其實都有很多前人的工作 2,這些工作的核心點其實就是context-aware ranking,這裡的context指的是待排序商品之間的上下文,對context的模組化可以多種多樣,比如:RNN,Transformer,或者人工定義全局特征+DNN。

端上實時重排EdgeRerank這個工作也基于context-aware ranking的基礎,但是這裡的context不僅僅包含待排序商品之間的上下文,還包含了使用者實時行為(實時曝光商品、實時點選商品、使用者互動行為)的上下文。通過這些上下文資訊,EdgeRerank可以做到:我知道已經排了啥,也知道使用者在前面排序上的行為,給我一個待排序的商品上下文,如何排可以達到最優。下面重點介紹端上重排的模型架構,我們稱作 Reranking with Behavior Attention Networks (BAN)。

2.3.2 Reranking with Behavior Attention Networks

上面的模型圖 (a) 中包含了我們對Reranking with Behavior Attention Networks的網絡結構圖的架構。在背景中已經說過,EdgeRerank考慮了兩種上下文資訊,對待排序商品之間的上下文模組化我們依舊采用常用的序列模組化的方法,引入GRU網絡對商品集合進行Encode;為了考慮到使用者實時行為的上下文,這裡依舊采用了常用的方法,其實就是Attention(有時也被稱作target attention)。回憶一下實時使用者感覺裡面,異構行為序列模組化的輸入:使用者一個行為定義為一個 Pair <商品,動作>,行為序列定義為 List (<商品,動作>),其中“商品”指的是使用者與之互動的商品,“動作”指的是使用者和商品互動的動作。從上面網絡圖中可以看到,Attention作用在待排序商品和行為序列的商品上,其實也就是商品與商品之間。熟悉Attention的同學應該知道 (Query, Key, Value) 這個三元組,這個模型裡面Query是待排序商品的Encode結果(Candidate Item Embedding),Key是行為序列的商品的Encode結果 (包括 IE Item Embedding和 IPV Item Embedding),Value是行為序列Fusion後的Embedding結果(包括 IE Behavior Embedding和 IPV Behavior Embedding)。用大白話描述一下motivation:對待排序商品集合裡某一個商品來說,先看看使用者互動過的商品都長啥樣,重點關注下特征相似的商品,于此同時,再看看使用者在這些商品上的表現是啥,綜合起來都作為這個商品排序的參考。

3.實驗效果

3.1 離線實驗

為了驗證将端上實時使用者感覺引入到端上重排作為context的有效性,我們首先進行了離線實驗。對比方法和實驗結果如下表所示:

EdgeRec:​揭秘邊緣計算在淘寶推薦系統的重要實踐​1.前言2.端上算法模型3.實驗效果4.總結關于我們

其中,baseline表示沒有端上使用者實時行為context的重排序;w/ IE 和w/ IPV 分别表示隻考慮商品曝光行為和商品詳情頁行為作為context;All表示完全的模型。

3.2 線上效果

雙十一當天,EdgeRec推薦系統提供了點選導向和成交導向的端上重排功能。在淘寶首頁猜你喜歡運作5億次,相對于不開啟EdgeRec,點選導向的端上重排商品點選量提升10%,成交導向的端上重排成交金額提升5%。EdgeRec對商品推薦的準确度提升,對使用者意圖的回報更加及時,其最好的展現是資訊流分頁尾部卡片的點選率有大幅提升。

4.總結

EdgeRec是推薦算法在邊緣計算方向的第一次小試牛刀,從拿到的業務效果上來看其發展空間是非常巨大的。通過利用端側計算的能力,深度模型可以在端上做預測,通過端上模型運作來彌補雲上實時行為擷取困難、政策實時調整能力弱的問題。另外,端側計算能力不僅可以用于模型預測,還可以考慮在端上做訓練,為每個使用者訓練其個體模型,為端側智能帶來更大的空間。

關于我們

在猜你喜歡團隊工作,你将要解決的問題域涉及對上億使用者在幾十億商品池中的推薦問題,不僅僅要考慮CTR、成交金額等業務名額,還需要系統化的解決上千萬賣家流量博弈的機制設計,以及推薦系統與使用者的互動體驗。團隊内的算法工程師和科學家将與你一起解決世界上規模最大電商平台上最困難的業務技術難題。在過去的幾年間,猜你喜歡團隊所負責的場景核心使用者名額一直保持非常高的增長速度,目前組内成員多來自國内外知名院校和研究所,近年在SIGKDD、AAAI、CIKM、WWW等學術會議上發表多篇論文。歡迎加入我們!郵箱:[email protected]

參考文獻

[1] Zhou, Guorui, et al. "Deepinterest network for click-through rate prediction." Proceedings of the24th ACM SIGKDD International Conference on Knowledge Discovery & DataMining. ACM, 2018.

[2] Ai, Qingyao, et al. "Learning adeep listwise context model for ranking refinement." The 41stInternational ACM SIGIR Conference on Research & Development in InformationRetrieval. ACM, 2018.

[3] Pei, Changhua, et al."Personalized Context-aware Re-ranking for E-commerce RecommenderSystems." arXiv preprint arXiv:1904.06813 (2019).

繼續閱讀