美團外賣推薦情境化智慧流量分發的實踐與探索

美團技術團隊發表於2022-12-15
美團外賣推薦團隊在推薦演算法的長期落地實踐中,針對外賣業務情境化特點對排序模型進行深入探索與最佳化。本文介紹了面向情境化建模的“情境細分+統一模型”建模思路,透過使用者行為序列建模以及專家網路兩個模組的最佳化,實現不同場景間對資訊獨有性的刻畫和資訊共性的相互傳遞,進而提升全部流量效率。

1. 引言

美團外賣推薦服務了數億使用者,透過持續最佳化使用者體驗和流量分發精準性,為使用者提供品質生活,“幫大家吃得更好,生活更好”。對於“使用者”,大家可能會有不同的理解,通常的理解是使用者即是自然人。業界主要的推薦場景,如淘寶首頁猜你喜歡、抖音快手 Feeds 流推薦等大部分也是這麼認為的,在這些電商、短影片等業務中,使用者無論何時何地使用推薦服務,他們的需求是大體統一的,商品、資訊、影片等供給也是一致的。

但實際上,在美團外賣場景下,使用者不僅是自然人,更是需求的集合。需求是與情境依存的,也就是有情境就有需求。美團外賣在不同的時間、空間以及其他更廣義的環境下,使用者需求、商家供給等都有顯著區別。因此,本地化、餐飲習慣、即時履約共同構建了美團外賣多種多樣的情境,進而衍生出使用者多種多樣的需求集合,推薦演算法情境化可以幫助演算法更好地理解並滿足不同情境下使用者需求。

2. 問題與挑戰

外賣場景具有很強的地理位置和就餐文化約束,使用者在不同地點(如公司、住所)的需求有較大差異。而且,所處時間也是決定使用者下單的一個關鍵因素。以北京某地區高消費使用者為例,工作日和週末在成單品類、成單價格、成單商家配送距離上有著明顯的不同。如下圖 1 所示,工作日與週末使用者在口味、心態上有明顯變化,工作日多為單人餐,以飯類套餐、輕食、米線為主,更加適應工作時的快節奏;而在週末,使用者會適當犒勞自己、兼顧家人,傾向於選擇更適合多人就餐的燒烤、韓國料理、火鍋。從圖 1 也可以發現,從工作日到週末時,使用者的成單價格中位數由 30 元提高至 50 元,能夠接受的配送距離也在變長。

圖1 某地區高消費使用者在工作日和週末的差異性就餐習慣

美團外賣推薦需要滿足“使用者 X 時間 X 地點”等情境下的需求總和,應對需求的不斷擴充和演化。為了更好的理解我們所面對的使用者需求,如下圖 2 所示,將其定義到一個魔方內(Magic Cube),使用者、時間和地點是魔方的三個維度。其中,魔方中的每個點,如圖 2 中黃色點,代表一個使用者在一個特定情境下的需求;魔方中的每個小立方體,如圖 2 中黃色立方體,代表一組相似使用者在一組相近情境下的需求。此外,在問題定義上,為了支援情境維度的進一步擴充套件,我們使用超立方體(Hyper Cube)來定義更多維度的使用者需求。

圖2 “使用者 X 時間 X 地點”等情境下的需求總和

面對以上這種三維模式,模型設計是非常棘手的。以往的模型設計,比如使用者興趣建模,或者樸素的多層神經網路無法應對這些複雜的使用者、時間和地理環境糾纏在一起的情況。使用者興趣建模通常採用連續建模方法,透過注意力機制提取重要行為偏好資訊。但是在使用者行為豐富的情況下,模型很難對所有行為進行學習,並且在外賣場景只有一部分歷史行為與使用者的當次訪問高度相關,連續的行為建模會削弱相關部分的訊號。

此外,樸素的多層神經網路基於全部情境下的資料和標籤進行訓練,只能學習到整體的資料分佈表現,在每個情境下很難達到最佳效果。針對這一問題,阿里 SIM4首先考慮了把行為中的重要相關資訊搜尋出來進行建模的方式,但他們所要解決的問題在於降低使用者超長序列建模的離線上資源消耗,並沒有在模型中引入情境特點;螞蟻 ASEM216、騰訊 CSRec17等透過模型自動化選擇不同場景專家網路進行共享或獨立學習提升全場景或者多工模型表現,但是這些工作都只專注於單一維度情境,並沒有做更廣泛的擴充。

針對無限細分的使用者情境以及情境的不斷擴充和演化,為解決以上挑戰,我們提出“情境細分+統一模型”(Segmented and Unified Model)的建模思路。情境細分針對使用者特定情境進行針對性建模提升推薦精準度,統一模型將多個相近使用者情境進行知識共享和遷移解決情境擴充和演化的問題。

具體來說,依據 Cube 中的每個情境,可以從使用者歷史行為中檢索出與當次訪問最相關的行為,精確刻畫當前情境下的使用者偏好。此外,我們設計多個專家網路,讓各個專家專注於學習細分情境下的資料分佈,然後基於使用者、城市、時段、是否週末等情境強相關特徵來進行專家的挑選,不同情境可以學習到是否共享某個專家或者學習到與眾不同的專家選擇分佈。對於新使用者或者行為不夠豐富的使用者,借鑑 Cube 的概念,可以考慮從 Cube 中檢索出近似情境,並根據近似情境檢索出的行為作為使用者在當前情境下的興趣補充,同時對於情境化專家網路,透過模型設計讓不同專家專注於自己情境的同時,針對本情境,利用其他情境知識進行知識遷移,這樣緩解了新使用者冷啟動問題以及可能存在的資料稀疏問題。

除了依據時間、地點進行情境細分之外,還可以將不同的流量入口(首頁、金剛位、活動頁)、業務型別(外賣、閃購、醫藥)都當成一種特殊的“情境”,這樣“使用者 X 時間 X 地點”可以自然擴充成“使用者 X 時間 X 地點 X 入口 X 業務”的高維情境,透過對資訊獨有性的刻畫和資訊共性的相互傳遞,實現全部流量的效率提升。

3. 情境化智慧流量分發

“情境細分+統一模型”的實現思路主要分為使用者行為序列建模與專家網路結構兩個組成部分,模型整體架構如圖 3 所示:

圖3 情境化智慧流量分發模型

該模型透過 Cube 檢索出特定細分情境下的使用者行為進行序列建模,並且透過專家網路模型自動化對不同情境引數進行學習,保持了模型統一,既能刻畫情境的獨特性,也能實現不同情境間的知識共享和遷移。具體的,在使用者行為序列建模上,首先仔細考慮了細粒度行為特徵對於外賣商家推薦的重要作用,並以此為基礎,根據時間、空間場景對使用者序列進行長序列多路情境檢索;對於專家網路結構,則先針對不同入口情境建立基於 Attention 機制的多入口情境建模,隨後探索了情境化稠密 MMOE 和稀疏 MMOE 模型,發現在外賣場景中,專家網路可以學習到不同情境、不同任務的差別,進而提升模型精度。

基於該方案,對於 CTR、CXR(CTCVR)任務,模型在離線指標 AUC、GAUC(perSessionAUC)上均取得了顯著提升,並線上上也取得了 UV_RPM、UV_CXR、PV_CTR、曝光新穎性、首購訂單佔比等指標收益。線上指標計算口徑如下:

  • UV_RPM = 實付交易額(GMV)/曝光人數*1000
  • UV_CXR = 交易使用者數/曝光人數
  • PV_CTR = 點選次數/曝光次數
  • 曝光新穎性 = (A -(A∩B))/ A,該使用者當前 session 內曝光的商家集合為 A,該使用者 7 天內所有 session 中曝光過的商家集合為 B
  • 首購訂單佔比 = 商家新使用者的訂單數/總訂單數

3.1 情境化長序列檢索

基於深度學習的方法在 CTR 預估任務中取得了巨大成功。早期,大多數工作使用深度神經網路來捕獲來自不同領域的特徵之間的互動,以便工程師可以擺脫枯燥的特徵工程工作。最近,我們稱之為使用者興趣模型的一系列工作,專注於從歷史行為中學習潛在使用者興趣的表示,使用不同的神經網路架構,如 CNN、RNN、Transformer 和 Capsule 等。DIN1強呼叫戶興趣是多樣的,並引入了注意力機制來捕捉使用者對不同目標商品的不同興趣。DIEN2指出,歷史行為之間的時間關係對於建模使用者的興趣漂移很重要,並設計了一個帶有輔助損失的 GRU 興趣提取層。

但是,對於美團外賣,基於以上連續建模的方法,難以從使用者歷史行為中提取出與使用者的當次訪問情境高度相關的有效資訊。MIMN3表明在使用者興趣模型中考慮長期歷史行為序列可以顯著提高模型的效能。但是較長的使用者行為序列包含大量噪聲,同時極大地增加了線上服務系統的延遲和儲存負擔。針對上述問題,SIM4提出把行為中的重要相關資訊搜尋出來。具體來說,在拿到需要被預估的商品資訊後,可以像資訊檢索一樣,對使用者行為商品構建一個快速查詢的索引。待預估商品的資訊可以當做是一個 Query,從使用者的所有行為中,查詢與其相關的行為子序列。

因此,受啟發於 MIMN 的超長序列和 SIM 的檢索思路,我們設計出情境化序列檢索方法,依據 Cube 內的情境,從使用者超長的歷史行為序列中檢索出的與當次訪問情境最相關性的使用者行為,進而捕獲更為精準的使用者興趣。

3.1.1 細粒度行為特徵

不同於電商中的商品推薦形式,美團外賣推薦是以商家為主體,使用者從進入商家到最終下單過程中具有更加豐富的細粒度行為,透過捕捉使用者在商家中的細粒度行為,可以精細感知到使用者差異化偏好,如注重品質商家的使用者會更多檢視商家/商品描述和評論,而折扣敏感度高的使用者則會檢視折扣資訊、領取優惠券等。

工業實踐中,使用者行為序列特徵往往包含商家/商品 ID、品類、價格等商家/商品表示特徵,而在行為表示上除了使用者到商家的點選之外,使用者透過什麼頁面進入到商家點菜頁、使用者在商家點菜頁中的細粒度行為,同樣可以反映使用者的偏好。因此,可以對使用者從瀏覽商家到最終下單整個流程進行歸納分析,捕捉使用者最細膩的行為並納入模型,充分學習使用者在外賣場景中重要的、最細粒度的行為及其所代表的意圖偏好。

我們將使用者從瀏覽商家到成單商品的全流程抽取出 70 種不同的 Micro-Behavior,總結歸納出四大步驟:定位商家、考察商家、挑選商品、結算提單。在歸納不同意圖的 Micro-Behavior 時,綜合考慮了該意圖下 Micro-Behavior 的日均 PV、當日轉化率、行為跳轉路徑以及頁面展示資訊,並剔除了日均 PV 覆蓋率小於 1%的 Micro-Behavior,將相同意圖的行為聚合到一起作為特徵表示(比如評價 Tab 點選、評價標籤點選和使用者評價縮圖點選聚合成“檢視評論”意圖表示),最終抽象出 12 種不同意圖的 Micro-Behavior,用來捕捉使用者更深層次、更細粒度的興趣。基於使用者 Micro-Behavior 提煉出從進入商家到最終下單流程如下圖 4 所示:

圖4  使用者點外賣過程

接下來,我們詳細介紹下圖 4 中使用者點外賣過程的 4 類 12 種 Micro-Behavior。

  • 定位商家是指使用者進入商家的入口標識,它可以反映出使用者對該商家感興趣的原因;比如從搜尋結果頁進入代表使用者是有較強的購買意願,相比推薦結果頁進店使用者有更加清晰的意圖。
  • 考察商家的行為則包括點選瞭解商家詳情、檢視商品評論和檢視商家折扣,它可以幫助更好的理解使用者的關注點,學生群體可能更注重折扣,而家庭使用者可能更加關注商家質量。
  • 挑選商品意味著使用者對商家的滿意度達標了,其中,點選商品和加購商品能夠體現出使用者對商家不同的感興趣程度。
  • 結算提單則表示該商家能滿足使用者當前狀況下的需求,既包含了對商家的認可,也包含對商家中商品的滿意,收藏與分享更是表示出使用者對商家的高度欣賞。

如下圖 5 左所示,9 種不同意圖的 Micro-Behavior 的當日轉化率存在著明顯差異(當日轉化定義:使用者在商家發生某一 Micro-Behavior 後的自然日內有成單;結算提單意圖下 3 種行為由於轉化率很高,因此不做展示)。

圖5 Micro-Behavior和轉化率關係

分別在使用者實時(短週期行為)、歷史(長週期行為)商家序列中引入 Micro-Behavior 資訊。如下表所示,離線實驗資料表明,引入的 Micro-Behavior 資訊取得了比較明顯的提升。最終,細粒度行為特徵線上取得了 UV_RPM+1.77%,PV_CTR+1.05%的收益。

最佳化方案CTR AUCCXR AUCCTR GAUCCXR GAUC
序列引入 Micro-Behavior 資訊+0.69pp+0.54pp+0.10pp+0.39pp

離線上實驗效果表明引入 Micro-Behavior 資訊增加了模型的精準推薦能力。此外,我們進一步對模型是否正確的學習了細粒度行為進行驗證。隨機選取一個使用者的成單商家及其商家序列引入 Micro-Behavior 後 Attention 權重變化,如下圖 6 所示,圖左上部分表示使用者行為序列中的商家以及相應 Micro-Behavior 資訊,圖右上部分是序列中商家引入 Micro-Behavior 資訊後所對應的 Attention 權重視覺化,方塊顏色越深則表示 Attention 權重越大,圖下部分是使用者的最終成單商家“鴻鵠一品蹺腳牛肉”在引入不同 Micro-Behavior 資訊後的商家排名。透過對比序列中商家引入 Micro-Behavior 觀察 Attention 權重的變化:

圖6 引入 Micro-Behavior 和 Attention 權重關係的 Case

  • 商家序列輸入只有第一列商家資訊時,Attention 權重主要由商家 ID、商家 Tag、商家名等資訊決定,“一膳牛蹺腳牛肉”和“鴻鵠一品蹺腳牛肉”商家名、商家 Tag 都較為相似因而權重最大。
  • 商家序列輸入在商家資訊基礎上分別增加定位商家、考察商家、挑選商品的豐富行為後,根據右側相應每個 Micro-Behavior 的 Attention 權重大小可以看到,定位商家這列中搜尋進入商家權重最大,而列表頁進入(首頁 Feed 進入)權重相對較小,符合業務認知;考察商家這列行為中,檢視折扣(折扣點選)和檢視評論(評論標籤點選)表示使用者在篩選商家,其 Attention 權重遠大於瞭解商家(店鋪摘要下拉)等泛意圖點選;挑選商品中的加購點選(加購商品)、搜尋商品(搜尋商品點選)行為能展現出使用者的成單意圖,由於該部分資訊的豐富,候選商家排名提升至第 6 位。

從以上過程中可以看到,引入 Micro-Behavior 的資訊越完善,模型對於使用者興趣的理解越是充分,使用者最終成單的商家也是能夠得以排名靠前。

3.1.2 長序列多路情境檢索

美團外賣上線至今,已經積累了豐富的使用者行為資料。將如此豐富的行為資訊引入到模型中,是近期工業界和學術界的熱門方向,我們在該方向上也進行了一系列探索。

最初,我們直接將近三年的點選行為直接引入到模型中來,發現離線效果提升顯著,但是帶來的訓練和推理的壓力不可承受。在此基礎上,借鑑了 SIM4,將候選商家的品類 ID 當作 Query,先從使用者的行為序列中檢索出相同品類的商家,再進行興趣建模,離線取得了不錯的收益。

具體的,嘗試過使用二級品類和葉子品類來分別做檢索,在檢索後根據分位點進行最大長度截斷的情況下,二級品類檢索出來的序列平均長度大約為 X,而葉子品類因為品類劃分過細,檢索出來的序列平均長度大幅減少。根據離線實驗評估,最終選擇了使用二級品類進行檢索,在離線取得了 CXR GAUC+0.30pp 的效果。對於檢索條件中,像二級品類和葉子品類這種泛化性與精確性之間的 trade off,我們目前正在進行更進一步的探索。

為了進一步提升模型的效果,考慮到使用者興趣建模從 DIN 發展到 SIM,都是根據候選商家、商品的屬性,從使用者的行為歷史中提取對該候選商家、商品的興趣,這在傳統電商場景下是行的通的,因為使用者對某一商家、商品的興趣基本不會隨著他所處位置、所處時段改變(使用者要買手機殼,不會因為他在家還是在公司有改變,也不會因為他的購物時段是在早上還是晚上而改變)。但是餐飲外賣相較於傳統電商,正如前面的問題與挑戰中提到的,其鮮明的 LBS 和餐飲文化特色構成多種多樣的情境,使用者在不同的情境下對於不同的商家、商品的偏好是不一樣的,是會變化的。因此,除了建模品類偏好外,還要進一步建模使用者的地理位置偏好和時段偏好。

  • 對於地理位置偏好的建模,嘗試了使用使用者當前所處地理位置的 geohash(一種地理位置編碼,詳見維基百科)/aor_id(蜂窩 ID)作為 Query 來檢索使用者歷史行為中相同 geohash/aor_id 的商家,也根據業務經驗,直接從使用者的歷史行為中將到使用者當前請求位置的距離小於 C 公里的商家全部檢索出來,檢索後序列的平均長度如下表 1 所示,根據離線實驗評估,最終選擇 distance<C km 檢索來建模使用者的地理位置偏好。公里數 C 這個引數是根據業務經驗統計得到的超參,考慮到不同的使用者對於距離的容忍度可能是不一樣的,如何對不同的使用者在不同的情境下對該超參進行調整,還在積極探索中。
  • 對於時段偏好的建模嘗試了兩種檢索方式:從使用者的歷史行為中,將與當前請求的 meal_time(根據業務將一天劃分為早餐、午餐、下午茶、晚餐和夜宵)或 hour_of_day(行為小時時段)相同的商家檢索出來。meal_time 劃分的粒度更粗,檢索出來的商家更多,從下表中也可以看到其離線結果更好,成為了建模時段偏好的最終選擇。很明顯,meal_time 檢索和 hour_of_day 檢索也存在泛化性與精確性之間的 trade off 問題。
偏好型別說明檢索後序列平均長度CTR GAUCCXR GAUC
品類二級品類 ID 檢索X+0.10pp+0.30pp
品類葉子品類 ID 檢索X-65+0.05pp+0.17pp
地理位置distance<C km 檢索Y+0.08pp+0.29pp
地理位置aor_id 檢索Y-52+0.05pp+0.21pp
地理位置geohash 檢索Y-43+0.07pp+0.23pp
時段meal_time 檢索Z+0.12pp+0.24pp
時段hour_of_day 檢索Z-41+0.07pp+0.19pp

最後,我們將二級品類 ID 檢索序列(品類偏好)、distance<C km 檢索序列(地理位置偏好)以及 meal_time 檢索序列(時段偏好)全部加入到模型中,並根據各自的平均長度等資訊對不同子序列分別進行了不同的最大長度調整,模型結構如下圖 7 所示:

圖7 長序列多路情境檢索

最終,在離線取得了 CTR GAUC+0.30pp,CXR GAUC+0.52pp 的收益,線上上取得了 UV_CXR+0.87%,UV_RPM+0.70%,PV_CTR+0.70%,首購訂單佔比+1.29%的收益。可以注意到上述長序列的引入,不僅帶來了效率的提升,還帶來了新穎性的提升,分析發現透過建模使用者更長期的興趣,擴充套件了模型的視野,不再集中於使用者的短期興趣,能更好地滿足使用者口味“短聚集,長多樣”的特性。

在後續的資料探查中,基於樣本維度統計了二級品類 ID 檢索序列、meal_time 檢索序列和 distance<C km 檢索序列的重合度情況。從下表可以看到,三者各自檢索出的商家重合度確實非常的低,符合建模不同偏好的預期,也解釋了為何三個序列疊加後,效果還是有增長的原因。

比較序列重合度(=重合商家個數佔各自檢索後序列長度的比例)
distance<C km 檢索 vs 二級品類 ID 檢索9.6%,12.5%
distance<C km 檢索 vs meal_time 檢索11.5%,20.3%
二級品類 ID 檢索 vs meal_time 檢索13.75%,18.6%

然而,當前三路檢索合並的版本,雖然可以對使用者的品類偏好、地理位置偏好和時段偏好進行有效的建模,但還是存在兩個比較明顯的缺陷。首先,各路檢索序列中還是存在冗餘資訊,並且需要分別建模三個序列,帶來的效能壓力較大。其次,將情境割裂成一個個單獨的維度進行建模,無法建模他們之間的聯絡,更真實準確的情況應該是對使用者所處情境的不同維度進行統一建模。針對這兩個問題,我們正在情境 Cube 的概念下,開展透過一個序列統一建模使用者所處情境偏好的探索工作。

下文繼續介紹長序列工程最佳化實踐。長序列模型會為線上服務帶來一系列工程挑戰,序列長度變長極大增加了服務時資料傳輸成本與模型推理成本,需要針對這兩個方面做專門最佳化。

  • 資料傳輸最佳化:重複檢索資訊壓縮。以 tag_id 檢索為例,由於方案中採用的是較為粗的品類劃分,tag_id 本身數量是非常有限,一次請求 batch 內候選商家所對應的 tag_id 具有非常多的重複。基於以上分析,在同一請求內檢索時,只保留不重複的 tag_id 子序列特徵,最終將整體傳輸資料壓縮為之前的 1/7 左右,最佳化效果十分明顯。
  • 模型推理最佳化

    • 1)Embedding 從記憶體轉移到 GPU 視訊記憶體儲存。在模型計算模組,會根據模型輸入特徵在 CPU 雜湊表中查詢 Embedding,查詢最佳化的核心是解決 CPU 雜湊表查詢效率低的問題,查詢效率低主要是雜湊衝突多,查詢執行緒少造成的。為從根本上解決以上問題,我們將 CPU 雜湊表升級為 GPU 雜湊表,將模型 Embedding 從記憶體轉移到 GPU 視訊記憶體儲存,並直接在 GPU 上進行查詢操作。GPU 雜湊表做了資料重排等最佳化,大量降低了雜湊衝突時的資料探測次數,且利用 GPU 提供的更多執行緒,在發生雜湊衝突時能夠做到更快查詢。壓測表明,透過以上最佳化,可以利用更短的時間處理更多的查詢,查詢問題得到有效解決。
    • 2)使用者序列計算圖摺疊。長序列模組的加入,給線上計算帶來了巨大壓力,因此考慮對線上計算圖進行最佳化。由於一次請求中,在 Batch 內部,使用者部分序列輸入都是一致的,原始計算圖對使用者序列做投影時,會產生大量重複冗餘計算。基於這一點,我們在請求模型服務時將使用者側序列的 id 查詢模組以及投影計算在計算圖中進行摺疊,如圖 8 所示,把使用者側特徵 batch size 先縮小至 1,只計算一次,然後與候選商家計算 attention 時再進行展開,透過計算圖摺疊,極大減小了線上序列部分帶來的巨大計算開銷。

圖8 使用者序列計算圖摺疊

3.2 情境化多專家網路

大部分工業界的 CTR 預估模型遵循傳統 Embedding&MLP 正規化,將使用者興趣向量、商家/商品表徵和其他特徵作為輸入,透過樸素的多層神經網路學習特徵、樣本、標籤之間的關係。另有學術界一些熟知的工作如 PNN5、DeepFM6、xDeepFM7、DCN8等方法,都在努力建模特徵間共現關係、特徵的特異性、特徵的層次結構關係、樣本之間的關係等資訊,並且在公開資料集和部分特定工業場景下取得顯著效果。而在 NLP 領域,2018 年 10 月,Google 釋出 BERT9模型,重新整理了 11 個 NLP 任務的最好水平,由此開啟了 NLP“大煉模型”時代,引爆了業界的研究熱潮。

專家混合(Mixture of Experts, MOE)模型被證明是通往容量更大、效能更強大的機器學習模型的有效途徑。MOE 是基於分而治之的原則建立的,其中問題空間在幾個神經網路專家之間劃分,由門控網路進行監督。在 MOE 基礎上,MMOE10提出一種新穎的多工學習方法,在所有任務中共享專家子模型,使 MOE 結構適應多工學習,在 Google 的大規模內容推薦系統取得顯著收益。

受啟發於 MOE,我們首先探索不同入口下的多專家網路模型,然後利用 MMOE 將入口情境擴充到城市、時段等多種複雜情景中去,讓各個專家專注於學習細分情境下的資料分佈,學習不同情境下使用者興趣,最後探索稀疏化 MMOE 建模,在保持推理效能不變的前提下進一步提升模型效果。採用情境化多專家網路還可能導致情境多維叉乘造成 Expert 海量的問題,對於這一位問題,在某些具有明確差異的情境,比如入口,我們會採用一個 Expert 對應一個入口的方案,對於不特別明確的複雜情境,例如時間交叉地點等,我們會採用固定數量 Expert 對海量 Expert 降維,然後利用 Gate 網路做自動化學習。

3.2.1 多入口情境建模

美團外賣涵蓋多個推薦入口,包括首頁 Feed(主要流量入口),以及美食“金剛”、甜點“金剛”、夜宵“金剛”、下午茶等子頻道。對於不同入口情境建模存在以下挑戰:

  • 各個推薦入口在流量大小、使用者行為豐富程度、商家曝光量存在明顯差異,多個小入口的資料量不足首頁 Feed 的 10%,導致樣本積累量有限,難以使用這些資料訓練出高精度的模型。
  • 使用者在各個入口下的行為存在互斥關係。例如,使用者不會在同一時刻在不同頻道同時下單,因此簡單地將每個入口看作一個任務作為學習目標的傳統多工建模正規化,難以取得較好的模型精度。
  • 為滿足使用者的體驗,不同頻道會有相應的品類規則、時段規則、以及特殊的業務扶持規則,這使得各頻道推薦入口間有不同程度的差異與共性。不同推薦入口在使用者與商家兩方面存在交集的同時,在使用者行為、商家分佈等方面也存在不小差異,比如首頁 Feed 會包含全部商家品類,甜點飲品主要包含奶茶、咖啡、甜點等品類商家。因此,模型如何建模出各頻道間的共性與差異性,同時動態地建模各個頻道間的關係變得尤為重要。

圖9 外賣推薦基於多入口多工學習網路結構 AutoAdapt 示意圖

我們透過實現多入口統一建模(AutoAdapt)解決以上挑戰。具體的,設計瞭如圖 9 所示的多入口情境專家模型,在模型結構的特徵 Embedding 和多工 Tower 之間構建了 Share Expert 學習全部入口的資訊,該 Expert 將始終處於啟用狀態;為了捕捉多入口之間的區別與聯絡,構建了 Domain Extract 模組,為每個入口設定一個由 MLP 組成的專家網路(Expert)。

  • 為了使每個入口對應的 Expert 可以充分建模私有的表達,在模型訓練和推理時,對於入口 i 的樣本或請求,根據入口 ID 啟用其對應 Expert Di,該 Expert 產生的輸出將 Xi 將直接輸入到任務對應的 Tower 當中。
  • 對於一個入口的樣本或請求,在保證該入口的 Expert 一定會被啟用的情況下,以一定機率去啟用其它入口的 Expert,並對這些 Expert 的輸出做 Pooling 抽取,從而有效地利用到其它入口的知識。很顯然,入口間的相似程度、同一樣本對不同入口知識的依賴程度都是不同的,為此增加了一個 Query-Key Attention 模組去做動態機率啟用。如圖 9 中 Domain Extract 模組所示,對入口 i 的樣本或請求,將其自身的 Expert 的輸出 Xi 作為 Query,而將其在其它入口 Expert 的輸出作為 Key,Query 和 Key 間的相似性 Attention 得分即為對應 Expert 的啟用機率,使用經過 Softmax 歸一化後的啟用機率對各個 Expert 的輸出做加權聚合得到表徵 Xagg,該表徵也將輸入給預估任務對應的 Tower。

離線實驗上,我們採用全入口資料混合訓練+入口 ID 特徵的模型作為基線,嘗試了 Multi-Task(為各個入口分別設定一個預估任務)、MMOE、STAR11等方法。由於使用者在外賣各入口的消費行為存在互斥關係,且小入口的行為樣本較為稀疏,因此直接採用多工的方式效果較差,而引入 MMOE 會有一定的提升。與此同時,對比阿里的 STAR,該方法中各個入口擁有自己的獨立網路引數,但未能捕獲各個入口間的關係,在外賣推薦場景中提升有限。相比之下,AutoAdapt 在主入口和小的入口上都實現了較大的提升。

方法/不同入口 CXR GAUC 提升首頁 Feeddomain 1domain 2domain 3domain 4domain 5domain 6domain 7
Multi-Task+0.10pp+0.01pp+0.15pp+0.24pp+0.55pp+0.32pp+0.60pp+0.79pp
MMOE+0.27pp+0.13pp+0.22pp+0.70pp+0.61pp+0.41pp+0.84pp+0.90pp
STAR+0.32pp+0.11pp+0.26pp+0.73pp+0.66pp+0.40pp+0.81pp+1.05pp
AutoAdapt+0.38pp+0.19pp+0.33pp+0.82pp+0.79pp+0.50pp+0.95pp+1.27pp

為了對 Attention 產生的啟用權重做視覺化分析,具體的,我們在評估集上中對 Attention 的結果根據不同入口 Query 做分組統計求平均,如下圖 10 所示,縱軸代表作為 Query 的入口、橫軸代表作為 Key 的入口,圖中每個點的值代表某一入口對作為 Query-Key 情況下 Attention score 的平均值。例如,第二行代表著美食金剛(D1)作為 Query 時,對其它入口 Expert 的平均啟用機率,發現模型可以學習到符合認知的入口相似關係,例如,當下午茶樣本(D7)作為 Query 時,它和甜點飲品(D2) Expert 的平均啟用機率為 0.3,明顯高於對其它入口的啟用機率,另外美食金剛(D1)和正餐頻道(D5)同樣有著很高的相關性。

圖10 不同入口 Attention 權重熱力圖

該解決方案不僅實現了首頁 Feed、美食“金剛”、甜點飲品等流量入口間模型的統一,同時也為各個入口帶來了顯著的離線指標收益和線上指標的增長。經過聯合建模,小入口可以有效利用到首頁 Feed 的豐富資訊,使得線上和離線效果提升顯著,此外,對於首頁 Feed,該方案同樣有顯著的效果提升,不同場景線上收益如下表所示:

方法/不同入口 UV_RPM 提升首頁 Feeddomain 1domain 2domain 3domain 4domain 5domain 6domain 7
線上 UV_RPM+0.97%+0.62%+0.77%+1.61%+0.99%+1.06%+1.28%+1.43%

3.2.2 情境化稠密 MMOE

專家網路是情境化建模的主要手段之一,模型可以根據不同情境自動選擇需要啟用的引數參與推理達到整體更高的精度水平。我們發現在 Share-Bottom CTR/CXR 多目標結構基礎上,引入 MMOE 結構可以帶來顯著的離線 CTR/CXR AUC 收益(如下表所示),可以發現當 Experts 數量達到 64 時,CTR GAUC 和 CXR GAUC 分別有 0.3pp 與 0.4pp 左右的提升。

實驗/對比 Share-Bottom 提升CTR AUCCTR GAUCCXR AUCCXR GAUC
MMOE(4Experts)+0.23pp+0.12pp+0.14pp+0.22pp
MMOE(8Experts)+0.30pp+0.24pp+0.15pp+0.28pp
MMOE(16Experts)+0.37pp+0.16pp+0.21pp+0.37pp
MMOE(32Experts)+0.42pp+0.30pp+0.25pp+0.40pp
MMOE(64Experts)+0.44pp+0.41pp+0.23pp+0.48pp

引入大數量級 Experts 的 MMOE 結構可帶來較顯著的離線收益,但同時也會相應帶來離線訓練以及線上服務成本的增加,需要做效果與效率之間的權衡。我們在保持一定離線訓練時長與線上 Latency 約束下,選擇了 4Experts MMOE 版本作為新的基線模型,並做詳細的探索,進行較為細緻的最佳化,包括:

  • 引入殘差連線:受 Switch Transformer12啟發,引入 embedding layer 與 Experts 輸出層之間的殘差連線,用來緩解梯度消失,離線 CXR GAUC+0.1pp。
  • MMOE 的 Gate 最佳化:嘗試在 MMOE 的 Gate 的 embedding layer 中只輸入時段、城市等強情境特徵(即基於情境來為每個任務選擇 Expert),並在實驗中發現相較於在 Gate 中使用所有特徵,這種只用場景強相關特徵來構建 Gate 的方式反而會取得一定離線 GAUC 提升,離線 CXR GAUC+0.1pp。
  • 非線形啟用:多項 NLP 工作如 B Zoph13、Chen14等指出,採用非線形啟用可以進一步提升大規模模型效果,我們利用 Gelu 替換 leaky relu 啟用函式,離線 CXR GAUC+0.11pp。

最終,情境化稠密 MMOE 線上取得了 UV_RPM+0.75%,PV_CTR+0.89%,曝光新穎性 +1.51% 的收益。

3.2.3 情境化稀疏 MMOE

在探索得到稠密 MMOE 最優版本之後,我們開始對稀疏 MMOE 模型進行探索。借鑑 Google 提出的 Sparse Expert Model,如 Switch Transformer 等,我們採用 Top K MMOE 方法進行嘗試。其核心思想在於,每條樣本根據 Gate 的計算結果,從所有 N 個 Experts 的輸出中只選取 K 個(K<<N)進行後續計算。下表實驗結果表明,採用 32Experts 對比 4Experts 在不同入口離線指標均有明顯提升,同時 Top K MMOE(32Experts 選 4)與 FLOPs 相同 MMOE 4Experts 相比在不同入口都具有明顯的優勢,效果接近 MMOE 32experts。

方法/不同入口 CXR GAUC 提升首頁 Feeddomain2domain 3domain6domain 7
MMOE(4Experts)+0.18pp+0.13pp+0.25pp+0.41pp-0.37pp
MMOE(32Experts)+0.33pp+0.29pp+0.37pp+0.46pp-0.03pp
Top K MMOE(32Experts 選 4)+0.29pp+0.26pp+0.38pp+0.53pp+0.19pp

繼續分析稀疏 MMOE 是否能學到各個切片下的共性與差異性,對 MMOE 和 Top K MMOE 的 CTR 任務在各個 domain 上的 Expert Gate 分佈進行視覺化。可以發現,稀疏 Top-K 方法相比稠密方法,更能學到根據不同入口、不同時段、不同任務來選擇不同的 Expert 進行 serving。例如,針對不同的時段情境,圖 11 中下午茶入口與早餐入口的分佈明顯不同、圖 12 中首頁入口的夜宵時段與非夜宵時段的分佈明顯不同;針對模型中不同的任務目標,如圖 13 中 CTR/CXR 任務的分佈也明顯不同,這些都與實際中的業務認知相符,表明稀疏 MMOE 中不同專家學習到了不同情境、不同任務之間的差異性。

圖11 Top K MMOE中Expert Gate在不同入口上的分佈的視覺化分析

圖12 Top K MMOE中Expert Gate在首頁不同時段分佈的視覺化分析

圖13 Top K MMOE中Expert Gate在不同任務上的分佈視覺化分析

4. 總結和展望

得益於 Cube 概念,我們可以持續探索更多情境,以及最佳化該情境下的冷啟動問題。例如使用者處於異地時,可以透過比較情景 Cube 的相似性,找到近似情景下有較成熟行為的使用者,並將其興趣偏好及其行為遷移過來(實現中為每個情景建立一個活躍使用者池),達到緩解冷啟動階段使用者體驗差的問題。

此外,在情境化長序列檢索中,往往存在單路檢索資訊較少,整體檢索線上效能差的問題,我們考慮探索新的多屬性檢索機制將多路檢索合併為單路檢索,在提高檢索速度的同時擴充檢索資訊的豐富程度來進一步提升模型效果;在稀疏專家網路上,我們發現推薦模型存在嚴重的引數飽和現象:當稠密引數增加到一定程度時,模型效果提升會快速衰減。因此,透過簡單擴充專家數量來提升效果是不可取的,在未來將考慮結合 AutoML、交叉網路等手段提高引數利用效率,尋求在推薦場景落地稀疏專家網路的工業級解決方案。

5. 本文作者

瑞東、俊潔、樂然、覃禹、秀峰、王超、張鵬、尹斌、北海等,均來自到家事業群/到家研發平臺/搜尋推薦技術部。

6. 參考文獻

  • [1] Zhou G, Zhu X, Song C, et al. Deep interest network for click-through rate prediction. SIGKDD 2018.
  • [2] Zhou G, Mou N, Fan Y, et al. Deep interest evolution network for click-through rate prediction. AAAI 2019.
  • [3] Pi Q, Bian W, Zhou G, et al. Practice on long sequential user behavior modeling for click-through rate prediction. SIGKDD 2019.
  • [4] Pi Q, Zhou G, Zhang Y, et al. Search-based user interest modeling with lifelong sequential behavior data for click-through rate prediction. CIKM 2020.
  • [5] Qu Y, Cai H, Ren K, et al. Product-based neural networks for user response prediction. ICDM 2016.
  • [6] Guo H, Tang R, Ye Y, et al. DeepFM: a factorization-machine based neural network for CTR prediction. arXiv:1703.04247, 2017.
  • [7] Jianxun Lian, et al. xdeepfm: Combining explicit and implicit feature interactions for recommender systems. KDD 2018.
  • [8] Wang R, Shivanna R, Cheng D, et al. Dcn v2: Improved deep & cross network and practical lessons for web-scale learning to rank systems. WWW 2021.
  • [9] Devlin J, Chang M W, Lee K, et al. Bert: Pre-training of deep bidirectional transformers for language understanding. arXiv:1810.04805, 2018.
  • [10] Ma J, Zhao Z, Yi X, et al. Modeling Task Relationships in Multi-task Learning with Multi-gate Mixture-of-experts. KDD 2018.
  • [11] Sheng X R, Zhao L, Zhou G, et al. One model to serve all: Star topology adaptive recommender for multi-domain ctr prediction. CIKM 2021.
  • [12] Fedus W, Zoph B, Shazeer N. Switch Transformers: Scaling to Trillion Parameter Models with Simple and Efficient Sparsity. arXiv:2101.03961, 2021.
  • [13] Zoph B, Bello I, Kumar S, et al. Designing effective sparse expert models. arXiv 2202.08906, 2022.
  • [14] Chen Z, Deng H Wu Y, Gu Q. Towards Understanding Mixture of Experts in Deep Learning. arXiv:2208.02813, 2022.
  • [15] Zhou M, Ding Z, Tang J, et al. Micro behaviors: A new perspective in e-commerce recommender systems. WSDM 2018.
  • [16] Zou X, Hu Z, Zhao Y, et al. Automatic Expert Selection for Multi-Scenario and Multi-Task Search. SIGIR 2022.
  • [17] Bai T, Xiao Y, Wu B, et al. A Contrastive Sharing Model for Multi-Task Recommendation. WWW 2022

閱讀美團技術團隊更多技術文章合集

前端 | 演算法 | 後端 | 資料 | 安全 | 運維 | iOS | Android | 測試

| 在公眾號選單欄對話方塊回覆【2021年貨】、【2020年貨】、【2019年貨】、【2018年貨】、【2017年貨】等關鍵詞,可檢視美團技術團隊歷年技術文章合集。

| 本文系美團技術團隊出品,著作權歸屬美團。歡迎出於分享和交流等非商業目的轉載或使用本文內容,敬請註明“內容轉載自美團技術團隊”。本文未經許可,不得進行商業性轉載或者使用。任何商用行為,請傳送郵件至tech@meituan.com申請授權。

相關文章