天天看點

支付寶商業化廣告算法優化

作者:閃念基因
本文作者是支付寶算法工程師李陽(素數),過去一年,支付寶商業化廣告算法做了從全場景統一模組化到場景内單獨模組化的探索,主要包括新場景冷啟問題優化、知識遷移學習以及系統實時性優化等工作,取得了明顯業務收益。本文将介紹背後的算法優化細節,歡迎查閱~

1. 背景

随着支付寶廣告業務發展,一些新的流量場景也不斷接入,下圖為 APP 端内某個廣告場景的産品樣式。

支付寶商業化廣告算法優化

圖1:支付寶某商業化廣告産品樣式

新的流量場景接入,面臨較大業務挑戰:a) 上線初期,缺乏場景内使用者回報樣本資料,面臨新場景冷啟問題;b) 中期,廣告點選率低,面臨進一步擴量難題(CTR 滿足一定門檻值條件後,推薦展位才允許進一步放量);c) 後期,面臨廣告 CPM 提升以及業務收益壓力問題。針對不同階段的業務問題挑戰,我們分别做了相應的算法優化,主要包括三方面:基于樣本增強的新場景冷啟問題優化;基于跨場景知識遷移以及使用者分層知識遷移的廣告點選率提升優化;提升廣告系統時效性的算法優化。

經曆多輪技術疊代更新,場景内 CTR 模型技術名額 AUC 絕對量提升0.10。業務效果 CTR3 相對提升超過 +100%,CPM3 相對提升超過 +200%,是營運、産品、技術團隊共同努力的結果。技術名額和業務名額變化曲線分别如圖2、圖3所示。為保障資料安全需要,本文業務資料名額都已做脫敏處理,隐去其絕對量數值情況。

支付寶商業化廣告算法優化

圖2:商業化廣告技術名額 AUC & PCOC

支付寶商業化廣告算法優化

圖3:商業化廣告業務名額 CTR3 & CPM3

2. 新場景冷啟問題優化

2023.06 月份以前,支付寶某個推薦卡片還是純推薦流量;6 月份以後,推薦卡片坑位開始接入廣告物料,廣告定坑與推薦物料混合展示。上線初期,由于該場景缺乏廣告樣本資料,面臨新場景冷啟問題。

推薦已積累大量樣本資料,很自然的想法是将展位内的自然推薦樣本引入到廣告樣本中,通過推薦域樣本增強以緩解新廣告場景冷啟問題。基于推薦 & 廣告線上系統埋點日志,采用 trace_id 關聯兩個系統樣本資料,将 user 側特征與廣告系統特征對齊,增強樣本加工邏輯見圖4。需要說明的是,推薦物料和廣告物料是異構的,二者不存在交集,即推薦物料無法映射到廣告物料。由于廣告 ad 側特征與推薦 content 側特征目前還無法對齊,廣告 ad_id 取推薦 content_id,ad 側其它特征補0。

該樣本增強政策上線初期,離線技術名額提升顯著:AUC +0.01,作為該場景 baseline 模型。

随着場景内廣告樣本資料的不斷累積,基于自然推薦樣本增強政策效果逐漸減弱。進一步打通廣告單元和推薦物料的内容了解,深入挖掘廣告單元與推薦物料可遷移的泛化特征,比如圖檔/文本多模态特征、行業類目體系特征、實體特征等,推薦 & 廣告場景聯合模組化,也是我們未來優化方向之一,還有很大挖掘空間。

支付寶商業化廣告算法優化

圖4:自然推薦樣本增強加工邏輯

3. 知識遷移學習

3.1 跨場景知識遷移

支付寶廣告投放場景較多,較長一段時間我們基于多場景/多任務統一模組化。工業界,多場景/多任務統一模組化代表性技術方案有:SharedBottom、MMOE、PLE、ESSM、STAR、PPNet、M2M、APG 等 [1-4],如圖5所示。其優點是:多場景資料增強、緩解小場景樣本稀疏問題,提高模型泛化能力;統一模組化,便于模型維護、統一優化。不過統一模組化也有明顯缺點:場景間資料分布差異性大,不同場景可能存在梯度沖突、跷跷闆現象;尤其是樣本量豐富的大場景,單獨模組化場景模型效果可能優于統一模組化。

支付寶商業化廣告算法優化

圖5:工業界多場景/多任務模組化代表性方案[4]

新場景上線一段時間後積累了大量樣本資料(每天千萬級曝光 PV 樣本資料),成為支付寶廣告的 top 流量入口,為場景單獨模組化提供了可能性。另一方面,該場景與其它場景的廣告供給以及使用者行為差異性明顯,這也是我們考慮将該場景單獨模組化的原因。

單場景模組化,我們探索了如下方案:

V0:多場景統一模組化,作為 baseline。

V1: 隻使用場景内樣本資料,網絡參數随機初始化訓練。

V2:基于 pretrain—>finetune 範式,訓練好的統一模型作為預訓練模型,finetune 加載預訓練模型網絡參數且部分參數可 train(part finetune,fix embedding 層、隻訓練 MLP 層);finetune 階段也隻使用場景内樣本資料。

V3:基于 pretrain—>finetune 範式,訓練好的統一模型作為預訓練模型,finetune 加載預訓練模型網絡參數且全部參數可 train(full finetune);finetune 階段也隻使用場景内樣本資料。

離線評估技術名額 AUC 提升情況見圖6:a) v1版本隻使用場景内樣本訓練單場景模型,較多場景統一模組化 auc +0.004;b) 基于 pretrain—>finetune 範式的多場景知識遷移,finetune 階段全參數訓練要好于(fix embedding 層)部分參數訓練。我們的實驗得到如下結論:多場景統一模組化并不是萬能的,大場景單獨模組化更能比對場内樣本資料分布,有可能優于統一模組化;場景間知識遷移,加載多場景統一模組化 pretrain 參數,讓單場景模型也學習到了多場景間的共享知識,有助于單場景模型效果提升。

我們采用 V3 全參數 Tune 技術方案,如下圖7所示。線上ab實驗,廣告業務效果:CPM3 +2.31%,CPM1 +1.76%, CTR3 +1.99%。

支付寶商業化廣告算法優化

圖6:跨場景知識遷移技術名額提升情況

支付寶商業化廣告算法優化

圖7:跨場景知識遷移 (Full Fine-tune)

3.2 使用者分層知識遷移

在精排 CVR 模型中,為解決冷啟廣告單元預估性能差的問題,我們較早地基于 MAML(Model-Agnostic Meta-Learning)[5] 元學習架構,有效利用了非冷啟動單元上學到的知識,遷移到冷啟單元上來,取得了較好的業務收益。Meta Learning(元學習)是以任務次元(task)為訓練樣本,在不同任務上學習先驗資訊,即使在樣本量較少的情況下,也能夠利用先驗資訊獲得較好的結果。元學習又分為基于度量、基于模型和基于優化的範式。

其中基于度量學習的元學習需要為每個類别學習一個表征,通過和該類别距離度量來決定分類,但是在搜廣推中大多特征都是高維稀疏的,基于距離度量的方式并不能簡單歸納點選或非點選為一類;基于模型的元學習主要利用深度網絡模拟一個優化器,但需要額外學習網絡參數,訓練難度大;基于優化的算法(MAML)因其模型無關、易于實作等優點成為了廣泛應用的元學習範式,許多基于元學習的算法也都是應用了 MAML,為新任務學習一個較好的初始化網絡參數。

從數學推導以及貝葉斯機率論角度來看,基于 meta-train 得到的初始化參數可以作為新任務較好的一個初始化先驗知識。其靈活性較高,能夠解決 task 不平衡性問題;對于分布外(OOD)的任務解決能力較強,這是由于二階段模式帶來的好處:内循環解決任務參數私有性問題,外部循環 pooling 操作學習所有任務的 common 知識。是以,目前在搜廣推領域基于MAML 的路線也是比較主流的。

場景(Task)劃分方式直接影響基于MAML的模型效果,良好的場景劃分方式應該具有如下特點:a)同場景樣本的内聚性,如果樣本分布差異過大會加大學習難度,影響模型泛化性;b)場景間的關聯性,如果老場景與新場景不具有關聯性或可遷移性,會導緻新場景的個性化模型難以快速收斂。早期 CVR 模型中,我們分别探索了基于廣告單元粒度、廣告行業類目粒度以及基于聚類的 MAML Task 劃分;CTR 模型中,人群資料分布差異性更為明顯。是以我們優先嘗試了基于人群分層粒度的 MAML Task 劃分,其樣本組織方式如圖8;MAML 内、外循環兩階段參數更新方式如圖9。

基于人群分層粒度的 MAML 模組化,考慮了人群資料分布的差異性,同時引入了人群的公共知識,商業化廣告場景 CTR 模型 auc+0.003。線上業務效果:CPM1 +2.28%,CPM3 +2.20%,CTR3 +3.68%。

支付寶商業化廣告算法優化

圖8:MAML 基于 Task 的樣本組織方式(one batch)

支付寶商業化廣告算法優化

圖9:MAML 内外循環模型參數更新方式

4. 系統時效性優化

我們做了特征實時性以及模型實時性更新優化,使得場景内精排 CTR 模型 auc 累計提升+0.012,CPM3 累積提升 +7.94%,CTR3 累積提升 +8.89%。

4.1 特征實時性

實時特征能夠反映使用者即時興趣偏好。實時特征引入面臨三個問題:a) 哪些特征需要實時化,如何識别出這些特征?b) 實時特征有效性如何評估?c) 實時特征開發上線 pipline。

基于離線特征重要性評估的實時特征篩選。離線user側序列特征衆多,我們需要決策哪些離線特征進行實時化有可能帶來增量價值。是以我們首先對離線特征重要性評估。樹模型根據資訊增益計算比較友善評估特征重要性,但 DNN 模型特征重要性評估就沒有這麼直接。一種方法是,在 infer 階段,每次随機 shuffer test input data 某一次元特征,觀察 loss 或 auc 變化情況,變化越小說明該特征越不重要。另一種方法,觀察 input 時連接配接特征輸入的第一層網絡權重大小,權重越大則重要性越高(最好是對 input 增加 batchnorm 消除不同 feature 之間量綱影響)。第一種方法計算量大,我們選擇第二種方法,相對簡單地計算特征重要性,部分特征重要性排序如圖10。項目初期,我們評估圈定了部分離線特征進行實時化。

支付寶商業化廣告算法優化

圖10:部分特征重要性排序

基于仿真資料的實時特征有效性評估。實時特征引入模型後的效果評估,是一個繁瑣的過程,未上線前缺乏真實特征資料,如果每次疊代都先要對實時特征上線 —> 線上日志收集 —> 離線樣本構造 —>離線評估,整個評估鍊路耗時耗力。為解決實時特征有效性評估問題,實時資料合作團隊借助螞蟻集團内 AI Studio 特征仿真能力進行實時特征快照的模拟,幫我們實作了一套實時資料仿真系統,能夠擷取某次 request 請求時刻對應的實時特征資料,解決了實時特征有效性評估難題。

廣告實時資料開發鍊路如圖11所示。實時特征開發上線 pipline,依賴螞蟻集團内 Frigate & Arec 完善的工程系統支撐。特征回流、樣本加工、模型訓練、線上服務多個系統間互動流程如圖12所示。

支付寶商業化廣告算法優化

圖11:廣告實時資料鍊路

支付寶商業化廣告算法優化

圖12:廣告多系統互動情況(特征、樣本、模型、線上服務)

對廣告系統實時特征的挖掘與更新,取得較大業務收益。

  • i) 精排 CTR 模型收益情況大盤整體效果:CPM1 +1.53%,CPM3 +1.61%,CTR3 +3.09%。
  • ii)粗排模型收益情況大盤整體效果:CPM1 +1.50%,CPM3 +1.24%。

4.2 模型實時性:Online Learning

4.2.1 問題背景

在大型搜尋和推薦系統中,流量結構、使用者行為資料分布以及供給會時刻發生變化,如圖13所示。天級别訓練的離線模型難以應對線上動态環境變化。是以我們希望線上模型預估不僅能很好地利用過去資料做預測,更能對系統變化快速做出反應,利用好每一個使用者回報樣本。

  • 每天不同時段,場景内流量結構分布變化。
  • 每天不同時段,使用者行為資料分布變化。
  • 每天不同時段,供給分布變化。

為應對場景内動态變化的線上環境,我們将場景 CTR 模型更新為線上學習,利用實時使用者回報資料,實時更新模型參數。

支付寶商業化廣告算法優化

圖13:場景内流量結構、使用者行為以及廣告供給随時間變化情況

4.2.2 ODL 模型優化

線上學習任務訓練資料以 Streaming 樣本流的形式實時地輸入到訓練架構中。其優勢是保證了樣本資料的時效性,使線上模型能夠快速捕捉場景資料分布變化;其劣勢也可能導緻模型受目前資料分布波動的影響而損失穩定性,是把雙刃劍。

廣告線上學習模型實驗經曆了一段時間優化,初期模型效果并不理想,CTR、CPM 等業務名額均負向。資料分析發現 ODL 在場景記憶體在過拟合、知識遺忘現象,ODL 泛化能力不如離線模型,這也是本次模型優化的挑戰。該現象在手淘、阿裡媽媽、支付寶等業務場景的線上學習實踐中也經常遇到。文獻[6]針對持續學習遇到的災難遺忘問題做了分析綜述。場景内具體 Case 分析:2023.12.03 号 14 點,用目前時刻 Stream 樣本流評估發現 Stream AUC 較離線模型有 +0.01 較大提升,模型被導出部署至線上;之後時間段(ODL 模型更新後)發現線上 AUC 比離線模型還低1個百分點,且線上模型 PCOC 增大,存在模型過拟合、泛化能力下降問題,如圖14所示。

支付寶商業化廣告算法優化

說明:i. 基于 stream AUC 線上模型優于離線0.01,但模型部署上線後,線上 AUC 比離線模型低0.01;ii. ODL 模型偏差pcoc 持續高于離線模型

圖14:ODL 模型上線初期遇到泛化性能下降問題

針對 ODL 上線初期遇到模型泛化能力差的問題,我們調整了如下優化政策:

  • ODL fix emb 層參數:線上模型隻學習MLP層參數,一定程度上制約了 ODL 模型學習能力,但也能有效緩解模型知識遺忘現象,避免線上模型"學飛"。線上隻更新部分網絡參數,該政策對于線上模型的泛化性能有增強效果。
  • 樣本回放政策 [7, 8]:解決 Out of Distribution (OOD) 問題。機器學習都有獨立同分布假設。由于流式訓練特點,樣本實時順序到達,context 特征(例如 hour, week)無法被充分shuffle,以及不同時間段線上流量結構的變化,流式樣本資料不滿足獨立同分布假設。同樣也會導緻訓練樣本與預測樣本分布不同(OOD),導緻模型泛化能力下降。為緩解該問題,在建構線上樣本時,我們采取樣本回放政策,從曆史離線資料中1:7比例随機采樣過去7天離線樣本資料并與流資料融合,保證訓練樣本與預測樣本分布一緻性。另外調研了騰訊的政策:用過去一天目前小時以後的樣本進行采樣,與實時樣本按照一定比例混合。比如現在是13點,實時樣本都是13點左右的樣本,而13點之前的樣本模型已經訓練過了,但是模型不知道13點之後資料分布,是以就從昨天樣本中選取13點之後樣本加入進去。該回放政策目前平台架構暫不支援。
  • 模型熱啟動: 解決訓練過程資料漂移問題。長時間的線上學習會導緻參數漂移[7]。除了在初始階段通過加載預訓練離線模型加速線上模型收斂外,訓練過程中還可以通過定時 restore離線周期訓練模型進行線上鍊路熱啟動。我們加大了熱啟動頻率,将每周熱啟動改為每天熱啟,發現該政策對降低 pcoc 有較大幫助。
  • ODL 學習率調整:和離線訓練相比,減國小習率也能有效緩解模型過拟合。

場景 ODL 模型開發上線流程如15所示。

支付寶商業化廣告算法優化

圖15:場景 ODL 模型開發上線流程

4.2.3 效果

技術名額:ODL auc +0.0076。其中,冷啟廣告單元 auc +0.013,pcoc -22.6%;穩定期廣告單元 auc +0.004,pcoc -33.9%。另外,線上學習模型性能監控平台也可檢視 Streaming 技術名額如圖16所示,可以看到線上學習 pcoc 有明顯降低。

ODL 對于業務效果也有明顯提升:線上學習模型 CPM3 +3.55%,CTR3 +4.0%。其中,冷啟廣告單元 CTR3 +10.7%,線上學習對于冷啟廣告單元效果提升更為明顯。

支付寶商業化廣告算法優化

圖16:線上學習 Streaming AUC、PCOC 技術名額監控

5. 總結

過去一年,我們做了從全場景統一模組化到場景内單獨模組化的探索,主要包括新場景冷啟問題優化、知識遷移學習以及系統實時性優化等工作,取得了明顯業務收益。

目前算法模型還存在許多問題和優化空間,例如:a) 廣告和推薦域異構場景的聯合模組化,目前探索還很薄弱,内容了解還有很多問題尚未解決,LLM 大模型在其中的應用落地還有很大探索空間;b) 知識遷移學習,針對場景化模組化還缺失;c) 線上學習,災難遺忘問題還沒有很好地解決。未來,我們将重點圍繞以上問題繼續探索。

參考資料

[1] Modeling Task Relationships in Multi-task Learning with Multi-gate Mixture-of-Experts, KDD'18.

[2] Progressive Layered Extraction (PLE): A Novel Multi-Task Learning (MTL) Model for Personalized Recommendations, RecSys'20.

[3] One model to serve all: Star topology adaptive recommender for multi-domain ctr prediction, CIKM’21.

[4] AdaSparse: Learning Adaptively Sparse Structures for Multi-Domain Click-Through Rate Prediction, CIKM’22.

[5] Model-Agnostic Meta-Learning for Fast Adaptation of Deep Networks, PMLR'17.

[6] A Comprehensive Survey of Forgetting in Deep Learning Beyond Continual Learning,2023.

[7] Experience Replay for Continual Learning, NeurIPS'19.

[8] Out-of-Distribution Generalization via Risk Extrapolation (REx) , ICLR’21.

作者:李陽(素數)

來源-微信公衆号:支付寶體驗科技

出處:https://mp.weixin.qq.com/s/3npXAjy5eeMNa20xoWAt9g

繼續閱讀