EdgeRec:​揭祕邊緣計算在淘寶推薦系統的重要實踐

簡介: 作者 | 凜至

​1.前言

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

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

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

1.2 推薦系統中的痛點

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

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

推薦系統決策的延遲:由於雲端服務器的QPS壓力限制,信息流推薦會採用分頁請求的方式,這樣就會導致雲端推薦系統對終端用戶推薦內容調整機會少,無法及時響應用戶的興趣變化。如下圖所示,用戶在第4個商品的交互表明不喜歡“摩托車”,但是由於分頁請求只能在50個商品後,那麼當頁後面其他“摩托車”商品無法被及時調整。

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

EdgeRec:​揭秘邊緣計算在淘寶推薦系統的重要實踐

總結來看,目前推薦系統的痛點是,用戶偏好的變化與推薦系統對用戶感知和對內容的調整時機並不能匹配,會出現推薦的內容並非用戶當前時刻想要的,用戶瀏覽和點擊意願都會下降。

1.3 邊緣計算+推薦系統

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

EdgeRec端上推薦系統便是藉助於邊緣計算的這種實時感知性和實時反饋性,來解決目前Client-Server架構推薦系統的實時感知、實時反饋能力不足的問題。EdgeRec推薦系統提供了端上用戶意圖感知、端上重排、端上實時插卡等能力。通過在端側秒級感知用戶意圖做出決策,並提供與意圖相匹配的反饋,提升用戶的點擊意願與瀏覽意願,整體改變瀑布流的體感。

EdgeRec:​揭秘邊緣計算在淘寶推薦系統的重要實踐

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:​揭秘邊緣計算在淘寶推薦系統的重要實踐

2.2 端上實時用戶感知

2.2.1 意義

首先,在個性化搜索和推薦中,“千人千面”來源於特徵的個性化,而“個性化”主要依賴於用戶的行為數據,參考DIN[1] 等工作,它們都建模了用戶最近交互的商品序列,作為個性化模型的輸入。但是,前面的工作一般只考慮了用戶和商品的“正反饋”交互(如點擊、成交),很少考慮到用戶與商品的“負反饋”交互(如曝光)。確實,“正反饋”特徵相對來說較為明確,噪聲也相對較少;但是我們認為用戶與商品實時的“負反饋”交互也很重要,舉一個直觀的例子來說:某一類目的商品實時地多次曝光後,該類目商品點擊率會明顯下降。

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

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

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

EdgeRec:​揭秘邊緣計算在淘寶推薦系統的重要實踐

2.2.2 實時行為特徵體系

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

EdgeRec:​揭秘邊緣計算在淘寶推薦系統的重要實踐

2.2.3 異構行為序列建模

這裡有兩方面的異構,第一:“用戶行為動作 (Action)”和“交互商品(Item)”的異構,第二:“瀑布流(曝光)行為 (Item Exposure (IE) Behavior)”和“詳情頁(點擊)行為 (Item Page-View (IPV) Behavior)”的異構。首先我們介紹一下模型輸入的組織方式:1)用戶一個行為定義為一個 Pair ,行為序列定義為 List ();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:​揭秘邊緣計算在淘寶推薦系統的重要實踐

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

3.2 在線效果

雙十一當天,EdgeRec推薦系統提供了點擊導向和成交導向的端上重排功能。在淘寶首頁猜你喜歡運行5億次,相對於不開啟EdgeRec,點擊導向的端上重排商品點擊量提升10%,成交導向的端上重排成交金額提升5%。EdgeRec對商品推薦的準確度提升,對用戶意圖的反饋更加及時,其最好的體現是信息流分頁尾部卡片的點擊率有大幅提升。

4.總結

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


參考文獻
[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).


分享到:


相關文章: