美團搜尋粗排優化的探索與實踐

語言: CN / TW / HK

總第528

2022年 第045篇

粗排是工業界搜廣推系統的重要模組。美團搜尋排序團隊在優化粗排效果的探索和實踐中,基於業務實際場景,從精排聯動和效果效能聯合優化兩方面優化粗排,提升了粗排的效果。本文介紹了美團搜尋粗排的迭代路線、基於知識蒸餾和自動神經網路選擇的粗排優化工作,希望為從事相關工作的同學帶來一些啟發或者幫助。

  • 1. 前言

  • 2. 粗排演進路線

  • 3. 粗排優化實踐

    • 3.1 精排聯動效果優化

    • 3.2 效果效能聯合優化

  • 4. 總結

  • 5. 附錄

1. 前言

眾所周知,在搜尋、推薦、廣告等大規模工業界應用領域,為了平衡效能和效果,排序系統普遍採用級聯架構[1,2],如下圖 1 所示。以美團搜尋排序系統為例,整個排序分為粗排、精排、重排和混排層;粗排位於召回和精排之間,需要從千級別候選 item 集合中篩選出百級別 item 集合送給精排層。

圖1 排序漏斗

從美團搜尋排序全鏈路視角審視粗排模組,目前粗排層優化存在如下幾個挑戰點:

  • 樣本選擇偏差 :級聯排序系統下,粗排離最後的結果展示環節較遠,導致粗排模型離線訓練樣本空間與待預測的樣本空間存在較大的差異,存在嚴重的樣本選擇偏差。

  • 粗排精排聯動 :粗排處於召回和精排之間,粗排需要更多獲取和利用後續鏈路的資訊來提升效果。

  • 效能約束 :線上粗排預測的候選集遠遠高於精排模型,然而實際整個搜尋系統對效能有嚴格的要求,導致粗排需要重點關注預測效能。

本文將圍繞上述挑戰點來分享美團搜尋粗排層優化的相關探索與實踐,其中樣本選擇偏差問題我們放在精排聯動問題中一起解決。本文主要分成三個部分:第一部分會簡單介紹美團搜尋排序粗排層的演進路線;第二部分介紹粗排優化的相關探索與實踐,其中第一個工作是採用知識蒸餾和對比學習使精排和粗排聯動來優化粗排效果,第二個工作是考慮粗排效能和效果 trade-off 的粗排優化,相關工作均已全量上線,且效果顯著;最後是總結與展望部分,希望這些內容對大家有所幫助和啟發。

2. 粗排演進路線

美團搜尋的粗排技術演進分為以下幾個階段:

  • 2016 年 :基於相關性、質量度、轉化率等資訊進行線性加權,這種方法簡單但是特徵的表達能力較弱,權重人工確定,排序效果存在很大的提升空間。

  • 2017 年 :採用基於機器學習的簡單 LR 模型進行 Pointwise 預估排序。

  • 2018 年 :採用基於向量內積的雙塔模型,兩側分別輸入查詢詞、使用者以及上下文特徵和商戶特徵,經過深度網路計算後,分別產出使用者&查詢詞向量和商戶向量,再通過內積計算得到預估分數進行排序。該方法可以提前把商戶向量計算儲存好,所以線上預測快,但是兩側資訊的交叉能力有限。

  • 2019 年 :為了解決雙塔模型無法很好地建模交叉特徵的問題,將雙塔模型的輸出作為特徵與其他交叉特徵通過 GBDT 樹模型進行融合。

  • 2020 年至今 :由於算力的提升,開始探索 NN 端到端粗排模型並且持續迭代 NN 模型。

現階段,工業界粗排模型常用的有雙塔模型,比如騰訊[3]和愛奇藝[4];互動式 NN 模型,比如阿里巴巴[1,2]。下文主要介紹美團搜尋在粗排升級為 NN 模型過程中的相關優化工作,主要包括粗排效果優化、效果&效能聯合優化兩個部分。

3. 粗排優化實踐

隨著大量的效果優化工作[5,6]在美團搜尋精排 NN 模型落地,我們也開始探索粗排 NN 模型的優化。考慮到粗排有嚴格的效能約束,直接將精排優化的工作複用到粗排是不適用的。下面會介紹關於將精排的排序能力遷移到粗排的精排聯動效果優化工作,以及基於神經網路結構自動搜尋的效果和效能 trade-off 優化工作。

3.1 精排聯動效果優化

粗排模型受限於打分效能約束,這會導致模型結構相比精排模型更加簡單,特徵數量也比精排少很多,因此排序效果要差於精排。為了彌補粗排模型結構簡單、特徵較少帶來的效果損失,我們嘗試知識蒸餾方法[7]來聯動精排對粗排進行優化。

知識蒸餾是目前業界簡化模型結構並最小化效果損失的普遍方法,它採取一種 Teacher-Student 正規化:結構複雜、學習能力強的模型作為 Teacher 模型,結構較為簡單的模型作為 Student 模型,通過 Teacher 模型來輔助 Student 模型訓練,從而將 Teacher 模型的“知識”傳遞給 Student 模型,實現 Student 模型的效果提升。精排蒸餾粗排的示意圖如下圖 2 所示,蒸餾方案分為以下三種:精排結果蒸餾、精排預測分數蒸餾、特徵表徵蒸餾。下面會分別介紹這些蒸餾方案在美團搜尋粗排中的實踐經驗。

圖2 精排蒸餾粗排示意圖

3.1.1 精排結果列表蒸餾

粗排作為精排的前置模組,它的目標是初步篩選出質量比較好的候選集合進入精排,從訓練樣本選取來看,除了常規的使用者發生行為( 點選、下單、支付 )的 item 作為正樣本,曝光未發生行為的 item 作為負樣本外,還可以引入一些通過精排模型排序結果構造的正負樣本,這樣既能一定程度緩解粗排模型的樣本選擇偏置,也能將精排的排序能力遷移到粗排。下面會介紹在美團搜尋場景下,使用精排排序結果蒸餾粗排模型的實踐經驗。

策略1 :在使用者反饋的正負樣本基礎上,隨機選取少量精排排序靠後的未曝光樣本作為粗排負樣本的補充,如圖 3 所示。該項改動離線 Recall@150( 指標解釋參看附錄 )+5PP,線上 CTR +0.1%。

圖3 補充排序結果靠後負例

策略2 :直接在精排排序後的集合裡面進行隨機取樣得到訓練樣本,精排排序的位置作為 label 構造 pair 對進行訓練,如下圖 4 所示。離線效果相比策略1 Recall@150 +2PP,線上 CTR +0.06%。

圖4 排序靠前靠後構成 pair 對樣本

策略3 :基於策略2的樣本集選取,採用對精排排序位置進行分檔構造 label ,然後根據分檔 label 構造 pair 對進行訓練。離線效果相比策略2 Recall@150 +3PP,線上 CTR +0.1%。

3.1.2 精排預測分數蒸餾

前面使用排序結果蒸餾是一種比較粗糙使用精排資訊的方式,我們在這個基礎上進一步新增預測分數蒸餾[8],希望粗排模型輸出的分數與精排模型輸出的分數分佈儘量對齊,如下圖 5 所示:

圖5 精排預測分數構造輔助損失

在具體實現上,我們採用兩階段蒸餾正規化,基於預先訓練好的精排模型來蒸餾粗排模型,蒸餾 Loss 採用的是粗排模型輸出和精排模型輸出的最小平方誤差,並且新增一個引數 Lambda 來控制蒸餾 Loss 對最終 Loss 的影響,如公式(1)所示。使用精排分數蒸餾的方法,離線效果 Recall@150 +5PP,線上效果 CTR +0.05%。

3.1.3 特徵表徵蒸餾

業界通過知識蒸餾實現精排指導粗排表徵建模已經被驗證是一種有效提升模型效果的方式[7],然而直接用傳統的方法蒸餾表徵有以下缺陷:第一是無法蒸餾粗排和精排之間的排序關係,而前文已提到,排序結果蒸餾在我們的場景中,線下、線上均有效果提升;第二是傳統採用 KL 散度作為表徵度量的知識蒸餾方案,把表徵的每一維獨立對待,無法有效地蒸餾高度相關的、結構化的資訊[9],而在美團搜尋場景下,資料是高度結構化的,因此採用傳統的知識蒸餾策略來做表徵蒸餾可能無法較好地捕獲這種結構化的知識。

我們將對比學習技術應用到粗排建模中,使得粗排模型在蒸餾精排模型的表徵時,也能蒸餾到序的關係。我們用來表示粗排模型,用來表示精排模型。假設是資料集中的一個請求是該請求下的一個正樣例,而是該請求下對應的個負樣例。

我們將分別輸入到粗排和精排網路中,得到其對應的表徵和,與此同時,我們將輸入到粗排網路中,得到粗排模型編碼後的表徵。對於對比學習負例對的選取,我們採用策略 3 中的方案,對精排的順序進行分檔,同檔內精排、粗排的表徵對看成是正例,不同檔間粗排、精排的表徵對看成是負例,而後用 InfoNCE Loss 來優化這個目標:

其中表示兩個向量的點積,是溫度係數。通過對 InfoNCE loss 的性質進行分析,不難發現上式本質上等價於最大化粗排表徵和精排表徵互資訊的一個下界。因此,該方法本質上是在互資訊層面上最大化精排表徵和粗排表徵之間的一致性,能夠更有效地蒸餾結構化知識。

圖6 對比學習精排資訊遷移

在上文公式 (1) 的基礎上,補充對比學習表徵蒸餾 Loss,離線效果 Recall@150 +14PP,線上 CTR +0.15%。相關工作的詳細內容可以參考我們的論文[10](正在投稿中)。

3.2 效果效能聯合優化

前面提到線上預測的粗排候選集較大,考慮到系統全鏈路效能的約束,粗排需要考慮預測效率。前文提到的工作都是基於簡單 DNN + 蒸餾的正規化來進行優化,但是存在如下兩個問題:

  • 目前受限於線上效能而只使用了簡單特徵,未引入更加豐富的交叉特徵,導致模型效果還有進一步提升的空間。

  • 固定粗排模型結構的蒸餾會損失蒸餾效果,從而造成次優解[11]。

根據我們的實踐經驗,直接在粗排層引入交叉特徵是不能滿足線上時延要求的。因此為了解決以上問題,我們探索並實踐了基於神經網路架構搜尋的粗排建模方案,該方案同時優化粗排模型的效果和效能,選擇出滿足粗排時延要求的最佳特徵組合和模型結構,整體架構圖如下圖7所示:

圖7 基於 NAS 的特徵和模型結構選擇

下面我們對其中的神經網路架構搜尋( NAS )以及引入效率建模這兩個關鍵技術點進行簡單介紹:

  • 神經網路架構搜尋:如上圖7所示,我們採用基於 ProxylessNAS[12]的建模方式,整個模型訓練除了網路引數外增加了特徵 Masks 引數和網路架構引數,這些引數是可微分的,隨著模型目標一起學習。在特徵選擇部分,我們給每一個特徵引入一個基於伯努利分佈的 Mask 引數,參見公式(4),其中伯努利分佈的 θ 引數通過反向傳播進行更新,最終獲得每個特徵的重要度。在結構選擇部分,採用了 L 層 Mixop 表示,每組 Mixop 包括 N 個可供選擇的網路結構單元,在實驗中,我們採用了不同隱層神經單元數的多層感知機,其中 N= {1024, 512, 256, 128, 64},同時我們還增加了隱藏單元數為 0 的結構單元,用於選擇具有不同層數的神經網路。

  • 效率建模:為了在模型目標中建模效率指標,我們需要採用一個可微分的學習目標來表示模型耗時,粗排模型的耗時主要分為特徵耗時和模型結構耗時。

    • 對於特徵耗時來說,每個特徵 fi 的延時期望可以被建模為如公式(5)所示,其中 是服務端打點記錄的每個特徵時延。

      在實際情況中特徵可以分為兩大類,一部分是上游透傳類特徵 ,其延時主要來源於上游傳輸延時;另外一類特徵 來自於本地獲取(讀取 KV 或者計算),那麼每個特徵組合的時延可以被建模為:

      其中 和 表示對應特徵集合的個數, 和 建模系統特徵拉取併發度。

    • 對於模型結構的延時建模可參見上圖 7 右邊部分,由於這些 Mixop 的執行是順序進行的,因此我們可以採取遞迴的方式的計算模型結構延時,整個模型部分的耗時可以用最後一層的 Mixop 來表達,示意圖如下圖 8 所示:

      圖8 模型延時計算圖

      圖8 左邊是裝配有網路架構選擇的粗排網路,其中表示第層的第個神經單元的權重。右邊是網路延時計算示意圖。因此整個模型預測部分耗時可以用最後一層模型來表示,如公式(7)所示:

      最終我們把效率指標引入模型,最終模型訓練的 Loss 如下面公式(8)所示,其中,表示精排網路,表示平衡因子,分別表示粗排和精排的打分輸出。

    通過神經網路架構搜尋的建模來聯合優化粗排模型的效果和預測效能,離線 Recall@150 +11PP, 最終在線上延時不增加的情況下,線上指標 CTR +0.12%;詳細工作可參考[13],已被 KDD 2022 接收。

4. 總結

從 2020 年開始,我們通過大量的工程效能優化使粗排層落地 MLP 模型,在2021 年我們繼續在 MLP 模型基礎上,持續迭代粗排模型來提升粗排效果。首先,我們借鑑業界常用的蒸餾方案來聯動精排優化粗排,從精排結果蒸餾、精排預測分數蒸餾、特徵表徵蒸餾三個層面分別進行了大量實驗,在不增加線上延時的情況下,提升粗排模型效果。

其次,考慮到傳統蒸餾方式無法很好處理排序場景中的特徵結構化資訊,我們自研了一套基於對比學習的精排資訊遷移粗排方案。

最後,我們進一步考慮到粗排優化本質上是效果和效能的 trade-off,採用多目標建模的思路同時優化效果和效能,落地神經網路架構自動搜尋技術來進行求解,讓模型自動選擇效率和效果最佳的特徵集合和模型結構。後續我們會從以下幾個方面繼續迭代粗排層技術:

  • 粗排多目標建模 :目前的粗排本質上還是一個單目標模型,目前我們正在嘗試將精排層的多目標建模應用於粗排。

  • 粗排聯動的全系統動態算力分配 :粗排可以控制召回的算力以及精排的算力,針對不同場景,模型需要的算力是不一樣的,因此動態算力分配可以在不降低線上效果的情況下減小系統算力消耗,目前我們已經在這個方面取得了一定的線上效果。

5. 附錄

傳統的排序離線指標多以 NDCG、MAP、AUC 類指標為標準,對於粗排來說,其本質更偏向於以集合選擇為目標的召回類任務,因此傳統的排序指標不利於衡量粗排模型迭代效果好壞。我們借鑑[6]中 Recall 指標作為粗排離線效果的衡量指標,即以精排排序結果為 ground truth,衡量粗排和精排排序結果 TopK 的對齊程度。Recall 指標具體定義如下:

該公式的物理含義即為衡量粗排排序前 K 個和精排排序前 K 的重合度,該指標更加符合粗排集合選擇的本質。

6. 作者簡介

曉江、所貴、李想、曹越、培浩、肖垚、達遙、陳勝、雲森、利前等,均來自美團平臺/搜尋推薦演算法部。

7. 參考文獻

[1] Wang Z, Zhao L, Jiang B, et al. Cold: Towards the next generation of pre-ranking system[J]. arXiv preprint arXiv:2007.16122, 2020.

[2] Ma X, Wang P, Zhao H, et al. Towards a Better Tradeoff between Effectiveness and Efficiency in Pre-Ranking: A Learnable Feature Selection based Approach[C]//Proceedings of the 44th International ACM SIGIR Conference on Research and Development in Information Retrieval. 2021: 2036-2040.

[3]  騰訊音樂:全民K歌推薦系統架構及粗排設計

[4]  愛奇藝短視訊推薦:粗排篇

[5]  Transformer 在美團搜尋排序中的實踐

[6]  多業務建模在美團搜尋排序中的實踐

[7] Tang, Jiaxi, and Ke Wang. "Ranking distillation: Learning compact ranking models with high performance for recommender system." Proceedings of the 24th ACM SIGKDD International Conference on Knowledge Discovery & Data Mining. 2018.

[8] Hinton, Geoffrey, Oriol Vinyals, and Jeff Dean. "Distilling the knowledge in a neural network." arXiv preprint arXiv:1503.02531 (2015).

[9] Chen L, Wang D, Gan Z, et al. Wasserstein contrastive representation distillation[C]//Proceedings of the IEEE/CVF conference on computer vision and pattern recognition. 2021: 16296-16305.

[10] Yue Cao, Xiaojiang Zhou, Peihao Huang, Yao Xiao, Dayao Chen, Sheng Chen: Contrastive Information Transfer for Pre-Ranking Systems. CoRR abs/2207.03073 (2022)

[11] Liu Y, Jia X, Tan M, et al. Search to distill: Pearls are everywhere but not the eyes[C]//Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. 2020: 7539-7548.

[12] Cai H, Zhu L, Han S. Proxylessnas: Direct neural architecture search on target task and hardware[J]. arXiv preprint arXiv:1812.00332, 2018.

[13] Xiang Li, Xiaojiang Zhou, Yao Xiao, Peihao Huang, Dayao Chen, Sheng Chen, Yunsen Xian:AutoFAS: Automatic Feature and Architecture Selection for Pre-Ranking System. CoRR abs/2205.09394 (2022)

----------  END  ----------

招聘資訊

搜尋推薦演算法部/基礎演算法組是負責美團搜尋研發的核心團隊,使命是打造世界一流的搜尋引擎,依託Deep Learning( 深度學習 )、NLP( 自然語言處理 )、Knowledge Graph( 知識圖譜 )等技術,處理美團海量使用者、商家、商品資料,不斷加深對使用者、場景、查詢和服務的理解,高效地支撐形態各樣的生活服務搜尋,解決搜尋結果的多業務混排、相關性、個性化等問題,給使用者極致的搜尋體驗。搜尋推薦演算法部長期招聘搜尋推薦演算法專家,感興趣的同學可以將簡歷傳送至: [email protected] 郵件主題:美團平臺/搜尋推薦演算法部 )。

美團科研合作

美團科研合作致力於搭建美團技術團隊與高校、科研機構、智庫的合作橋樑和平臺,依託美團豐富的業務場景、資料資源和真實的產業問題,開放創新,匯聚向上的力量,圍繞機器人、人工智慧、大資料、物聯網、無人駕駛、運籌優化等領域,共同探索前沿科技和產業焦點巨集觀問題,促進產學研合作交流和成果轉化,推動優秀人才培養。面向未來,我們期待能與更多高校和科研院所的老師和同學們進行合作。歡迎老師和同學們傳送郵件至: [email protected]

也許你還想看

  |  端智慧在大眾點評搜尋重排序的應用實踐

  | BERT在美團搜尋核心排序的探索和實踐

  | 多業務建模在美團搜尋排序中的實踐

閱讀更多

---

前端  |     演算法  |   後端  |  資料

安全  |  Android  |   iOS    |   運維  |  測試