探究PEPNet模型:多任務多領域推薦的個性化建模!
快手的Chang等人于2023年在論文《PEPNet: Parameter and Embedding Personalized Network for Infusing with Personalized Prior Information》中正式提出了PEPNet模型,用于建模推薦系統中的多任務多領域問題。
本文將從PEPNet模型提出的動機、問題建模、模型結構及工程優化策略方面進行詳細的闡述。
1.PEPNet模型的提出動機
(1)多任務學習:出發點是不同的任務之間存在稀疏性和依賴性。但由于不同任務具有獨特的稀疏性和相互影響,很難在多個任務中平衡相互依賴的目標,從而導致任務蹺蹺板現象。
(2)多領域學習:出發點是不同場景內的用戶和物品存在重疊。為每個場景單獨訓練模型不僅在部署成本和迭代效率方面不可接受,而且沒有充分利用數據,忽略了數據之間的共性,導致訓練得到的模型不是最優的。然而,直接混合所有數據統一訓練模型,由于不同場景內的用戶行為和物品分布不一樣,無法對齊和融合具有不同語義和重要性的特征,會導致領域蹺蹺板現象。
(3)綜上所述,實際應用中的多任務多領域場景問題存在雙重蹺蹺板現象,文中稱之為不完全雙重蹺蹺板現象(the imperfectly double seesaw phenomenon)。PEPNet模型就是用來解決這樣的問題,通過增強模型的個性化來捕捉用戶在各種情形下的偏好。
(4)若簡單地將個性化先驗信息作為模型底層輸入,其效果將在經過深度網絡傳遞到頂層后變得非常弱,因此PEPNet模型提出的關鍵動機是如何將個性化先驗信息以正確的方式注入模型中正確的位置。
2.PEPNet問題建模
3.PEPNet模型結構
模型整體由以下三部分組成:門控神經單元(Gate NU)、嵌入個性化網絡(EPNet)和參數個性化網絡(PPNet)。
(1)門控神經單元
(2)嵌入個性化網絡
(3)參數個性化網絡
(4)PEPNet模型總結
(a)PEPNet最終每個任務塔的輸出是同一個任務在不同領域內的預測值,即每個塔將不同場景內相同的任務歸在一起。
(b)EPNet結構使用領域側特征作為輸入,對其了特征在不同領域內的分布,得到了特定場景下的個性化輸入表征,實現了基于場景的特征個性化嵌入。
(c)PPNet結構使用用戶和物品側特征作為輸入,對多任務的DNN參數施加樣本粒度的個性化影響,實現了用戶對特定任務的個性化,有效緩解了蹺蹺板效應。
4.工程優化策略
(1)特征消除策略:在大規模推薦系統中,若將每個特征都映射到嵌入向量會迅速占用服務器的內存。故設計了一種無沖突且內存高效的全局共享嵌入表,用于有效管理嵌入向量,能動態控制內存占用低于某個閾值。
(2)在線同步策略:模型在線學習中,線上會累積一定量的訓練樣本,將這個最小單元的樣本稱為“pass”,每個pass會更新模型參數。由于線上存在海量樣本,完全同步嵌入是不可行的。故采用了兩種淘汰策略:一是為每個特征設置數量限制,以防止單個特征的嵌入過度;二是為嵌入設置過期時間,即保留更新頻率高的,淘汰更新頻率低的。
(3)離線訓練策略:短視頻場景中,ID特征變化快,嵌入更新頻率遠高于模型參數更新頻率。為更好捕捉底層嵌入的變化,維持頂層DNN網絡參數的穩定更新,使二者采用不同的更新策略。在嵌入層,使用AdaGrad優化器,學習率設為0.05,而DNN參數則通過Adam優化器更新,學習率為5.0e-06。
本文轉載自??南夏的算法驛站??,作者:趙南夏
