本文探讨了如何在工业界的连续学习的框架下实现跨域推荐模型,提出了连续迁移学习这一新的跨域推荐范式,利用连续预训练的源域模型的中间层表征结果作为目标域模型的额外知识,设计了一个轻量级的Adapter模块实现跨域知识的迁移,并在有好货推荐排序上取得了显著业务效果。
近些年随着深度模型的应用,工业界的推荐系统的推荐效果取得了显著的提升,随着模型的持续优化,使得仅依赖场景内数据优化模型结构和特征变得较为困难。在淘宝这样的大规模电商平台上,为了满足不同用户的多样化需求,存在一系列不同规模大小的推荐场景,如信息流推荐(首页猜你喜欢)、有好货、购后推荐、聚划算等,这些场景共享淘宝商品体系,但在具体的选品池、核心用户和业务目标等方面存在显著差异,且不同场景的规模差异极大。我们的场景有好货是淘宝精选商品的导购场景,和信息流推荐、主搜索等场景相比规模相对较小,因此如何利用迁移学习、跨域推荐等方法提升模型效果一直以来是有好货排序模型优化的重点之一。
淘宝不同业务场景的商品和用户虽有重合,但由于场景差异显著,信息流推荐等大场景的排序模型直接应用于有好货场景上效果不佳。因此,团队在跨域推荐方向做了相当多的尝试,包括利用预训练-微调、多场景联合训练、全域学习等一系列已有方法。这些方法要么效果不够明显,要么在实际上线应用中存在相当多的问题。连续迁移学习项目就是针对这些方法在业务中应用的一系列问题,提出的简单有效的新的跨域推荐方法。该方法利用连续预训练的源域模型的中间层表征结果作为目标域模型的额外知识,并在淘宝有好货推荐排序上取得了显著业务效果。
本文详细版本Continual Transfer Learning for Cross-Domain Click-Through Rate Prediction at Taobao已发布在ArXiv https://arxiv.org/abs/2208.05728。
分析现有的学术界和工业界的跨域推荐(Cross-Domain Recommendation, CDR)的相关工作,主要可分为两大类:联合训练(Joint Learning)和预训练-微调(Pre-training & Fine-tuning)。其中,联合训练方法同时优化源域(Source Domain)和目标域(Target Domain)模型。然而,这一类方法需要在训练中引入源域的数据,而源域样本通常规模很大,从而消耗巨大的计算和存储资源,很多较小业务难以承担如此大的资源开销。另一方面,这一类方法需同时优化多个场景目标,场景之间的差异也可能带来目标冲突的负面影响,因此预训练-微调类方法在工业界很多场景有着更广泛的应用。
工業界推薦系統一個重要的特點是模型訓練遵循連續學習(Continual Learning)範式,即模型需要使用最新的樣本,利用離線增量更新(Incremental Learning)或線上學習(Online Learning)等方式學習最新的資料分佈。對於本文研究的跨域推薦任務而言,源域和目標域的模型都是遵循連續學習的訓練方式。我們由此提出了一個學術和工業上將有廣泛應用的新問題:連續遷移學習(Continual Transfer Learning),定義為從一個隨時間變化的領域到另一個也隨時間變化的領域的知識遷移。我們認為,現有的跨域推薦和遷移學習方法在工業推薦系統、搜尋引擎、計算廣告等的應用應遵循連續遷移學習範式,即遷移的過程應是持續的、多次的。原因在於資料分佈變化較快,只有透過連續的遷移才可以保證穩定的遷移效果。結合這工業推薦系統的特點,我們可以發現預訓練-微調在實際應用上的問題。由於源域和目標域的場景差異,通常需要用大量樣本才能利用源域模型微調得到一個效果較好的結果。而為了實現連續遷移學習,我們需要每隔一段時間都利用最新的源域模型重新微調,造成了非常巨大的訓練代價,這樣的訓練方式也是難以上線的。此外,利用這些大量樣本微調也可能使得源域模型遺忘掉保留的有用知識,避免模型出現災難性遺忘(Catastrophic Forgetting)問題;利用源域模型參數去替換掉原有的目標域已經學好的參數也丟棄了原有模型歷史上所獲得的有用知識。因此,我們需要設計一個更有效率,適用於工業推薦場景的連續遷移學習模型。
本文提出了一個簡單有效的模型CTNet(Continual Transfer Network,連續遷移網路)解決了上述問題。不同於傳統的預訓練-微調類別方法,CTNet的核心思想是不能遺忘和丟棄所有模型在歷史上獲取的知識, 保留了原有的源域模型和目標域模型的所有參數 。這些參數中保存了透過非常久的歷史資料學習所得到的知識(例如淘寶有好貨的精排模型已經連續增量訓練兩年以上)。 CTNet採用了簡單的雙塔結構,利用了一個輕量級的Adapter層將連續預訓練(Continually Pre-trained)的源域模型中間層表示結果映射並作為目標域模型的額外知識。不同於預訓練-微調類別方法需回溯資料以實現連續遷移學習,CTNet只需要增量資料進行更新,從而實現了高效的連續遷移學習。
#######聯合訓練### | #否 |
否 |
#是 |
預訓練-微調 | |||
#是 | ##本文所提出的CTNet | #是 |
表1:CTNet與現有的跨域推薦模型的比較
不同場景的使用者和商品共用同一個大底池。但不同場景由於精選商品池、核心使用者、圖文等展示效果不同存在較明顯的領域差異。
所有推薦情境的模型都是基於最新的資料持續增量訓練。
上圖展示了我們的方法部署上線的情景。在時刻之前源域模型和目標域模型都是只利用各自場景的監督資料單獨連續增量訓練的。從
時刻開始,我們在目標域上部署了跨域推薦模型CTNet,該模型將在不能遺忘歷史上獲得的知識的情況下,繼續在目標域資料上持續增量訓練,同時連續不斷地從最新的源域模型中遷移知識。 ▐ 連續遷移網路模式(CTNet)#圖2:連續遷移網路CTNet
################################################################################################################################################################### #############如圖2所示,我們提出的連續遷移網路(Continual Transfer Network, CTNet)模型在原有的目標域的精排模型中嵌入了源域模型的全部特徵及其網路參數,形成雙塔的結構,其中CTNet的左塔為源塔(Source Tower),右塔為目標塔(Target Tower)。有別於常見的只利用源域模型最終打分分數或只利用一些淺層表示(如Embedding)的方法,我們透過一個輕量化的Adapter網路將源域模型###MLP的所有中間隱藏層### (特別是源域MLP深層蘊含的user和item的###高階特徵交互資訊###)的表示結果###############對應到目標推薦域,並將結果加入Target Tower的對應層###############(下面公式表示了##############的情況)。 ##########CTNet效果提升的關鍵就是利用了MLP中深層表徵資訊的遷移。借鑒Gated Linear Units(GLU)的思想,Adapter網路採用了門控的線性層,可以有效實現對源域特徵的自適應特徵選擇,模型裡有用的知識會做遷移,而與場景特徵不符的信息可被過濾掉。由於源域模型持續不斷的使用最新的源域監督資料進行連續預訓練,在我們的訓練過程中,Source Tower也將持續不斷的載入最新更新的源域模型參數並在反向傳播過程中保持固定,保證了連續遷移學習的高效進行。因此,CTNet模型非常適合連續學習範式,使得目標域模型持續的學習到源域模型提供的最新知識以適應最新的資料分佈變化。同時由於模型僅在目標域資料上進行訓練,確保了模型不受源域訓練目標的影響,且完全不需要源域資料訓練,避免了大量的儲存和運算開銷。此外,這樣的網路結構採用了加法的設計方法,使得遷移過程中無需改變原始模型MLP層的維數,Target Tower完全由原有的目標域線上模型初始化,避免MLP層重新隨機初始化,可以在最大程度上確保原有模型的效果不受損害,僅需較少增量資料就可得到很好的效果,實現了模型的熱啟動。
我們定義源域模型為,原有的單域推薦的目標域模型為,新部署的目標域跨域推薦模型為,為跨域推薦模型部署上線時間,該模型連續增量更新至時刻。 Adapter、Source Tower和Target Tower的參數分別為、、。 CTNet訓練的流程如下所示:
#圖3:CTNet的訓練
############################################################################################################################################################################表2:離線實驗結果###############如上表所示,我們在有好貨業務的兩個子場景(表中Domain B和C)的對應的生產資料集上進行了一系列離線實驗,其中源域(表中Domain A)為首頁資訊流推薦場景。可以看出,直接利用資訊流推薦(首頁猜你喜歡)排序模型打分結果(表中的Source Domain Model)在有好貨業務上效果並不好,對比線上全量模型分別有絕對值GAUC-5.88 %和GAUC-9.06%的顯著差距,證明了場景之間存在的差異。 ######
我们还对比了一系列传统的跨域推荐的Baseline方法,包括常见的预训练-微调类方法和联合训练的方法(如MLP 、PLE、MiNet、DDTCDR、DASL等),提出的CTNet在两个数据集上均明显优于已有方法。对比线上全量主模型,CTNet在两个数据集上分别取得GAUC 1.0%和 3.6%的显著提升。我们进一步通过实验分析了连续迁移(Continual Transfer)相比单次迁移的优势。在CTNet的框架下,单次迁移带来的效果提升会随着模型的增量更新有所衰减,而连续迁移学习可以保证模型效果的稳定提升。
图4: 连续迁移学习相比单次迁移的优势
下表展示了传统的预训练-微调的效果,我们使用完整的源域模型在目标域数据上训练。由于领域之间的差异,需要非常多的样本(如120天样本)才可以将模型的效果调到一个和线上全量Base模型相当的水平。为了实现连续迁移学习,我们需要每隔一段时间都利用最新的源域模型重新调整,每一次调整带来的巨大代价也使得该方法不适用于连续迁移学习。此外,该方法并没有在效果上超越无迁移的Base模型,主要原因是使用海量的目标域样本训练也使得模型遗忘掉了原有的源域的知识,最终训练得到的模型效果也近似于一个只在目标域数据训练的效果。在预训练-微调的范式下,只加载一些Embedding参数的效果反而比复用所有参数更好(如表2所示)。
表3: 使用预训练的源域模型在目标域上训练的效果
CTNet最早在2021年底完成,于2022年2月在有好货推荐业务全量上线。在两个推荐场景上相比上一代全量模型分别取得显著业务指标提升:B场景:CTR 2.5%,加购 6.7%,成交笔数 3.4%,GMV 7.7%C场景:CTR 12.3%, 停留时长 8.8%,加购 10.9%,成交笔数 30.9%,GMV 31.9%
CTNet采用了并行的网络结构,为了节省计算资源我们共享了部分Attention层的参数和结果,使得Source Tower和Target Tower相同部分的Attention层只需计算一次。和Base模型相比,CTNet的线上响应时间(RT)基本持平。
本文探讨了如何在工业界的连续学习的框架下实现跨域推荐模型,提出了连续迁移学习这一新的跨域推荐范式,利用连续预训练的源域模型的中间层表征结果作为目标域模型的额外知识,设计了一个轻量级的Adapter模块实现跨域知识的迁移,并在有好货推荐排序上取得了显著业务效果。这一方法虽针对有好货的业务特点实现,但也是较为通用的建模方式,相关的建模方式和思想可以应用于诸多其他类似业务场景的优化。由于现有的CTNet的连续预训练的源域模型仅利用信息流推荐场景,未来我们考虑将连续预训练的源域模型升级为包括推荐、搜索、私域等更多场景在内的全域学习预训练模型。
我们是大淘宝技术-内容算法-有好货算法团队。有好货是淘宝基于口碑推荐的,旨在帮助消费者发现好物的导购场景。团队负责有好货商品推荐和短视频内容推荐业务的全链路算法优化,以提高优势商品挖掘能力和频道导购能力。目前主要的技术方向为连续迁移学习跨域推荐、无偏学习,推荐系统全链路建模、序列建模等。在创造业务价值的同时,我们还在SIGIR等国际会议上发表数篇论文,主要成果有PDN,UMI,CDAN等。
以上是連續遷移學習跨域推薦排序模型在淘寶推薦系統的應用的詳細內容。更多資訊請關注PHP中文網其他相關文章!