QCon-oCPX多目標多場景聯合建模在OPPO的實踐

語言: CN / TW / HK

1 背景

自從 2012 年 Facebook 產品化 oCPX 以來,業內 oCPX 產品和能力的發展已經非常的成熟。OPPO 數智工程系統演算法平臺部商業化演算法也在 oCPX 能力建設上積累了一些實踐經驗。

2 oCPX 是什麼

從某投放平臺的定義來看,oCPX 是一種針對效果廣告的智慧出價投放方式,廣告主選擇明確的優化目標(如下載、啟用、註冊、付費),並給出期望的轉化成本,系統通過機器學習預估每一次投放機會的轉化概率,並結合期望成本,自動出價,保障成本效果穩定。

o 是 optimize 優化的意思。CPX 是一種扣費方式 ,CPC 是按照點選扣費,CPD 是按照下載扣費,CPM 是按照曝光扣費。所以 oCPC 是一種優化 過的 CPC。oCPC 是按轉化出價,按點選扣費;oCPD 是按轉化出價,按下載扣費;oCPM 是按轉化出價,按展示扣費。

oCPX 有一套出價控制系統,該系統實時、智慧調節廣告出價,以保障廣告主的轉化成本訴求。系統的控制目標是成本偏差位於 1.0 附近,具體手段是通過出價因子 alpha 干預 eCPM 排序公式從而影響計費金額。其中

成本偏差 = 廣告實際成本 / 廣告預期成本

eCPM = pctr * pcvr * TCPA * alpha

如下圖所示,CPC 與 oCPC 的出價點和計費點是分離的,CPC 的出價點在點選上,而oCPC的出價點在點選之後的啟用、註冊和付費上,兩者的相同點是計費點都是點選。

圖1:出價計費點

從系統視角來說 ,CPC 廣告需要廣告主頻繁調價,調整定向,自己保障成本。對平臺來說,流量不按照深層價值售賣收益不高。oCPC 廣告,對廣告主來說,操作簡單,只需要設定成本。對平臺來說,oCPC 能讓流量按照深層價值售賣收益更大 ,但是平臺需要做 pcvr 預估和成本保障,對平臺要求更高。

圖2:CPC與oCPC區別

3 oCPX 廣告在 OPPO 應用商店變現位置介紹

OPPO 應用商店有非常多位置,主要的場景有推薦和搜尋。其中推薦場景主要是首頁 、相關推薦和熱搜, 熱搜包括熱搜軟體和熱搜遊戲。搜尋場景主要有搜尋聯想頁和搜尋結果頁。聯想頁其實是 sug,輸入 query 但是不點搜尋,下面推薦的 app 算聯想頁,點選搜尋之後的結果是結果頁。

整體的推薦結果包括三種類型:廣告、聯運遊戲和自然量。廣告就是廣告主投放的,抖音快手拼多多這類都是大廣告主。聯運遊戲是遊戲類開發者在遊戲中心上架的 APP,走的是流水分成模式,比如 夢幻西遊,王者榮耀。自然量就是常規 APP,比如微信從來不投廣告並且也不是遊戲。

圖3:商店廣告位置

4 轉化率預估的挑戰與應對策略

oCPX 廣告的轉化率預估面臨的挑戰很多。第一、轉化目標多。不同的這個轉化目標的資料的差異大的,啟用跟付費差兩個數量級,對模型學習效率產生影響。第二、深度轉換延遲特別大。 當天下載的 APP 帶來的付費,只有五成左右的付費是當天到達的,剩下的大部分付費是未來七天內到達的,建模的時候當天是負樣本第二天是正樣本,反差會對這個模型的準確性造成影響。 第三、資料稀疏導致模型很難學好。 第四、轉化資料的質量比較難保證。 因為轉化資料是廣告主回傳的,既可能傳多了也可能傳少了,廣告主可能傳錯了或者進行脈衝式回傳,容易導致系統壓力較大,所以資料校驗規則需要迭代地非常完善。

以應用分發 4 大模組(首頁、熱搜、相關推薦、下載更新頁)為例,具有 os 啟用、回傳啟用、回傳註冊、遊戲註冊、遊戲付費一共 4*5=20 種 cvr 預估模型。每個轉化目標獨立建模有如下弊端:第一、 模型多,維護成本大,佔用大量訓練、儲存資源。第二、線上記憶體佔用大會導致組內的同學排隊上線,降低實驗效率。第三、 深度轉化 CVR 樣本過於稀疏 、資料量小會導致模型易欠擬合。第四、單獨建模無法有效利用型別之間的共通訊息量,比如付費就用不了註冊帶來的資訊量。

為什麼 MMOE 特別適合應用在多個轉化目標的建模上呢?因為淺層目標和深層目標可以共享 embedding,這樣淺層目標可以為稀疏樣本深度轉化型別共享資訊量,而且沒有對模型的大小及計算複雜度產生數量級增加,不會對效能造成衝擊。在 MMOR 體系內,EXPERT 可以學習不同型別間的共性,GATE 和 TOWER 可以學習不同型別間的差異。而且經過實驗測試,MMOE 版本的模型也比僅僅加 oCPX 型別特徵的模型效果更好。

圖4:多目標模型結構

基於 MMOE 我們做了一些嘗試。常規的 MMOE是每個任務配置的GATE對不同的 EXPERT 進行加權送給每個 tower 的一個多工學習模型。CGC 版本的 MMOE 實際上是,每個任務必須要有單獨的 私有 EXPERT,每個單獨私有 EXPERT 不受其他任務的影響,當然共享 EXPERT 依然存在。ML-MMOE 實際上是上一層的ERPERT的輸出與GATE的加權結果的輸出要被下一層 EXPERT 所用。PLE 實際 上是 ML 版本的 CGC 網路。其他的優化點還有單個 tower 單獨加 wide 和 gating 方法。不同的方法 AUC 收益如下:

圖5:不同方法 AUC收益

最終 20 個模型減少到 2 個,線上取得 1%+的收益。

既然有了多目標建模,那就會碰到多目標調優的問題。我們內部嘗試了兩種方案,一種是基於不確定度調整多目標間的 loss,另一種是基於基於不同目標的學習速率去調整不同目標的損失的權重。

延遲轉化是 oCPX 轉化率建模的常見問題。延遲轉化問題具體來說,如下圖,8 月 1 日 1000 個點選帶來了 100 個轉化,但是這 100 個轉化在 8 月 1 日當天僅僅到達了 50 個轉化,另外延遲的 50 個轉化對應的點選在 8 月 2 日建模的時候會被當成負樣本進行學習,隨後 8 月 2 日到達的 20 個轉化會月 8 月 3 日當成正樣本學習。同一個樣本既被當正樣本又被當負樣本學習會對模型的準確性產生一定的影響。常見的解決方案主要有負樣本調權、基於指數分佈迴流率建模和利用 DNN 預估迴流時間。天級別負樣本調權時需要注意的是距離當天越遠的負樣本是負樣本的概率越大。

圖6:調權示例

在 CVR 預估的領域,預估值跟真實值一定會有偏差,從而自然有校準方案。第一是整體的校準,整體的校準適用於 CVR 統一高估 1.5 倍,那就要除回來,這個是發生的概率比較小的。現實中比較常見的是因為建模的時候,對負樣本進行取樣,所以要把 pcvr 整體上進行校準回來。第二個是分段校準,現實中會經常的發現不是統一的高估。我們會發現在低分段高估,高分段低估。從右邊的這個圖來看,橫座標預估 CVR 是一個分段,比如說 20 就代表 0.2 這個段,縱座標是統計 CVR。每個分段裡如果有一百個樣本,20 個正例與 80 個負例,可以獲得統計 CVR。在校準的時候可以把這些紅點都劃出來,然後大家看到這個紅點其實有一個規律,就是預估值低的時候,相對來說統計值也比較低的,預估值高的統計值就高。這個時候如果直接上校準的話,其實會發現紅點有些毛刺的,如果這個時候校準對模型的 AUC 有一些影響的,用保序迴歸的方法畫出一條綠色的線,是一個單調不遞減的線,線上用保序迴歸來校準的話,AUC 不變,這也是業內比較常用的方案。第三是個體的校準,個體校準更多是為了應對運營或者廣告主的一些 bad case。

圖7:保序迴歸校準

由於ecpm 的排序公式會有固定的超引數,例如eCPM=TCPA*pcvr^pcvrT*pctr^pctrT。超參常規來說需要基於經驗來調整,資料分佈發生變化時調整總有收益,但是需要人力投入。一套自動搜參的系統是必要的。常規的整體調參方法有 CEM,個性化調參方法有強化學習的 DDPG。

一套合理的評估指標可以指導大家沿著正確的路徑迭代。常見的系統評估指標如下:消耗是指廣告主在平臺花費的錢,即廣告平臺的收入。廣告主價值是指流量給廣告主帶來的價值,一般指所有轉化的 CPA 之和。期望消耗等同於廣告主價值。成本偏差是實際扣費與期望消耗的比值。預估偏差等價於模型線上預估值均值與後驗統計值的比值。成本達標率(數量維度)是指成本偏差在[0.8, 1.2]之間的廣告數佔比。成本達標率(消耗維度)是指成本達標的廣告消耗佔整體消耗的比重。系統的評估指標,會非常關注兩個點,一個叫做成本偏差,一個叫做預估偏差。成本偏差為廣告主負責,預估偏差衡量模型能力。

5 總結

總體來說,要對資料有一個比較完善的掌控,不管是轉化的資料還是離線的樣本的建設的監控,都是要到位的。可以通過多模型的融合的方案來優化模型的準確度。策略方面,全鏈路都要參與。最後才可以達到一個對於廣告主來說成本達標且模型預估準確的最大價值狀態。這個價值最大不僅僅是說流量變現的價值,同時還有廣告主對平臺的滿意度更高,留存也會更高。

作者簡介

Jun  OPPO高階資料探勘工程師

有 7 年的廣告演算法領域經驗,主要負責應用商店 oCPX 能力建設。

推薦閱讀

| oCPX簡介——廣告界的“無人駕駛”技術

| QCon-小布助手對話系統工程實踐

| 圖資料庫平臺建設及業務落地

本文版權歸OPPO公司所有,如需轉載請在後臺留言聯絡。