作者:星翰链接:https://zhuanlan.zhihu.com/p/576286147
双塔模型结构凭借其出色的预测效率广泛应用于推荐系统、文本匹配等领域的召回阶段。经典工作如微软的DSSM[1],谷歌的YoutubeDNN[2],Airbnb的个性化用户embedding[3]等方法均在许多工业场景落地,并取得了显著的效果提升。
随着双塔模型自身优化逐渐进入深水区,边际收益越来越低,最近一些研究工作从双塔模型与交互模型客观存在的效果差距入手,通过给双塔模型增加交互信息,交互模型蒸馏双塔等方式取得了不错的效果,为双塔模型优化拓展出新空间。
![](http://image.uc.cn/s/wemedia/s/upload/2023/c1f6d9bae5d0a51f5343082ec0625bf5.png)
![](http://image.uc.cn/s/wemedia/s/upload/2023/29b3e9381947c6d18b4f14d2ce8909ef.png)
一 优化方法概述
本文所述优化方法基于传统双塔结构展开,一些依赖强大工程能力配合的方法(COLD,TDM系列,DR等)不在此范畴。
![](http://image.uc.cn/s/wemedia/s/upload/2023/5f7fa12ee9d22fc16b4b9deb9fdd0beb.png)
二 知识蒸馏 knowledge distillation
1. PFD[4]
离线训练时teacher模型添加了一批优势特征,优势特征主要包括以下两类:交互特征(双塔结构无法获取),如用户过去24小时候选item同类目点击。点击后信息(在线服务无法获取),如点击后页面停留时长,与店家交流状态等。teacher模型无需提前预训练,与student模型同步更新,初始阶段两个模型各自独立更新,待teacher模型稳定后开始蒸馏。
![](http://image.uc.cn/s/wemedia/s/upload/2023/af76201a09877b8b3f7897bcbd31ecd4.png)
蒸馏方式:共享特征表征,对于teacher与student的公共特征,互相share特征对应的embedding;增加辅助loss,student模型预测值拟合真实label的同时也要拟合teacher模型的预测值。
![](http://image.uc.cn/s/wemedia/s/upload/2023/78dec8e283adb6552a519a38cc3428e0.png)
2. ENDX[5]
![](http://image.uc.cn/s/wemedia/s/upload/2023/75a70433bc5525822e4c82139c829bd6.png)
teacher模型使用交互信息生成与student模型相同size的query和answer(推荐系统中的item)表征,以便蒸馏时为student模型提供更多学习信号。PFD中由于teacher模型与student模型网络结构差异大,只能使用预测值logit进行蒸馏,导致teacher模型可提供的监督信息较少。
蒸馏方式:通过Geometry Alignment Mechanism (GAM)机制对齐student与teacher各自对应的query和answer表征,具体包含以下几步:
通过条件概率刻画两个向量相似程度,两个向量越相似,条件概率取值越大![](http://image.uc.cn/s/wemedia/s/upload/2023/59d9afcb00b7e9603fa6edc5b95d8cfb.png)
![](http://image.uc.cn/s/wemedia/s/upload/2023/457786c15e2e80b5cc457b7b6fa84df7.png)
![](http://image.uc.cn/s/wemedia/s/upload/2023/2746d3b6472e0b6422de9d64eedc8639.png)
3. TRMD[6]
有两个teacher,cross-encoder teacher 和 bi-encoder teacher,两个teacher均需要提前预训练,蒸馏时参数固定不变。遗憾的是作者没有论证两个teacher相比一个teacher的效果提升幅度。
![](http://image.uc.cn/s/wemedia/s/upload/2023/26e20c03a7dbde49f7464fadb83ddd2f.png)
蒸馏方式:
cross-encoder teacher指导student学习CLS表征(CLS为Bert输出的CLS表征,一般表示doc的起始字符)![](http://image.uc.cn/s/wemedia/s/upload/2023/ef2f5cd179ea833f2be414807f1da9b6.png)
![](http://image.uc.cn/s/wemedia/s/upload/2023/a3f8abd50d69a6d7ebc672489e837058.png)
bi-encoder如何得到cross-encoder的分数?将bi-encoder的两个CLS表征聚合为一个,后续流程不变。
4. VIRT[7]
teacher 模型中query和doc各自序列的所有word在transformer encoder层计算得到的Q,K均包含interaction信息。每个word都有对应通过transformer计算得到的q,k,v参数,因此可以使用teacher模型蕴含interaction信息的q,k参数蒸馏student模型。teacher模型需要预训练,蒸馏过程中参数固定。
下图中X代表query,Y代表doc。
![](http://image.uc.cn/s/wemedia/s/upload/2023/586d390af790bb7870d902480f5f6462.png)
蒸馏方式:
teacher模型所有word通过transformer计算得到的参数自身做矩阵乘法后可以分解为四部分,仅和query相关,query和doc交叉,doc和query交叉,仅和doc相关。对于交叉部分,使用teacher模型的计算结果来蒸馏student模型对应缺失的部分,如图b所示,蒸馏过程通过辅助loss实现。为了弥补单纯向量内积计算无交互信息的缺点,作者设计了一个attention机制使用上一步蒸馏学到的交互信息分别对query和doc侧最后一层表征进行加权。具体计算方式如下:![](http://image.uc.cn/s/wemedia/s/upload/2023/b2bfaa3e87965f22535fa64d9fa9b3ad.png)
5. Distilled-DualEncoder[8]
核心思路与上一篇VIRT类似,额外添加了两个模型预测值之间的soft-label蒸馏
![](http://image.uc.cn/s/wemedia/s/upload/2023/07123d037ee779ff2e374b6329451e2d.png)
蒸馏方式:
与VIRT类似采用transformer对每个word进行encoder,然后通过矩阵乘法获得teacher的交叉信息来蒸馏student缺失的部分。唯一的区别是辅助loss的选择,VIRT中使用L2距离,本文使用KL-divergence。teacher预测值蒸馏student预测值6. ERNIE-Search[9]
提出cascade蒸馏范式,鉴于bi-encoder直接学习cross-encoder难度比较大,引入Colbert这种增加交互信息的bi-encoder作为信息传递的桥梁。训练完毕后student模型依然是bi-encoder结构,只需要一次内积计算。
![](http://image.uc.cn/s/wemedia/s/upload/2023/41045a312f47531f01b0a9edd800f2de.png)
蒸馏方式:两层蒸馏
ColBert 蒸馏 student.分别计算query对所有候选doc的打分概率分布
![](http://image.uc.cn/s/wemedia/s/upload/2023/2952871ca3d4228a974bca1e2a3e150c.png)
通过KL-divergence刻画两个概率分布的接近程度
![](http://image.uc.cn/s/wemedia/s/upload/2023/4e5a55cc7c2348f7a4ef746678436e84.png)
与上一步类似计算teacher对所有候选doc打分的概率分布,然后通过KL-divergence刻画接近程度。额外引入辅助loss蒸馏word-level的attention信息,具体思路与VIRT和Distilled-DualEncoder类似,teacher模型蕴含的交叉信息指导student缺失部分学习。
![](http://image.uc.cn/s/wemedia/s/upload/2023/27f556bf780e8d163a18030a3ad3a44a.png)
![](http://image.uc.cn/s/wemedia/s/upload/2023/63136a4ab8a5718e215b636fc51f5fc2.png)
三 交互增强 interaction enhancement
1 ColBert[10]
ColBert是这个方向的开创性工作,后续多篇论文均在此基础上进行深入研究。论文中将这种交互描述为late interaction,对应cross-encoder一开始就交互的early interaction。query和doc的相似性刻画由单一向量内积升级为累加query下每个word与doc的相似性。
![](http://image.uc.cn/s/wemedia/s/upload/2023/59f9fa07c0ec18aa8add0bbb402a913d.png)
interaction方式:给定query中的每个word,遍历doc中的word计算匹配度得分,汇总query下所有word的匹配度得分作为最终得分
![](http://image.uc.cn/s/wemedia/s/upload/2023/ce7340466325e104f610304f70de6da0.png)
积计算次数:query_word_num * doc_word_num
2 IntTower[11]
item侧最后一层隐向量与user侧多层隐向量产生交互来刻画相似性。此外还通过正负样本对构造辅助loss(L_cir)指导模型通过自监督学习的方式增强相似性刻画。
![](http://image.uc.cn/s/wemedia/s/upload/2023/50492280c1eab1612b7b0701d5e0f37e.png)
interaction 方式: 论文中将两种交互方式进行融合
item最后一层表征与user侧多层(L)表征交互作为模型预测值,共分三步user/item 侧隐层分别映射至M个子空间(M个向量)user侧每一层的M个向量与item侧M个向量计算内积然后取max作为该层表征得分user侧多层表征得分累加作为模型预测值正负样本对进行交互作为辅助loss:L_cir除正样本外的所有样本均作为负样本,使用召回中常用的InfoNCE方法达到user与positive接近,与negative远离的效果。
![](http://image.uc.cn/s/wemedia/s/upload/2023/1e383f0dba30e767f72e8a37cb35d872.png)
内积计算次数:user侧隐层个数L * 子空间个数M * 子空间个数M
3 MVKE[12]
User侧先产出多个公共兴趣表征,Item侧(下图中的Tag)表征作为query通过attention聚合方式获得每个User的item-related兴趣表征。
![](http://image.uc.cn/s/wemedia/s/upload/2023/18f47ba9c135b06c441d5d65cd623972.png)
interaction 方式:
VK-Expert 用来表征用户某方面的兴趣,Virual Kernel是对应的可学习参数,它作为query对用户侧所有特征(Field)进行加权聚合(attention aggregation)作为VK-Expert输出。Item侧表征与用户侧的多个VK-Expert表征进行加权聚合作为用户item-related兴趣表征用户item-related兴趣表征与item表征内积作为模型预测值内积计算次数:number of VK Experts + 1
参考
^(DSSM) Huang et al. Learning deep structured semantic models for web search using clickthrough data. CIKM. 2013.^(YoutubeDNN) Covington et al. Deep neural networks for youtube recommendations. Recsys. 2016.^Grbovic et al. Real-time personalization using embeddings for search ranking at airbnb. KDD. 2018.^(PFD) Xu C, Li Q, Ge J, et al. Privileged features distillation at Taobao recommendationsKDD. 2020.^ (ENDX) Wang et al. Enhancing Dual-Encoders with Question and Answer Cross-Embeddings for Answer Retrieval. arXiv, 2022.^(TRMD) Choi et al. Improving Bi-encoder Document Ranking Models with Two Rankers and Multi-teacher Distillation. SIGIR. 2021.^(VIRT) Li et al. VIRT: Improving Representation-based Models for Text Matching through Virtual Interaction. arXiv , 2021.^(Distilled-DualEncoder) Wang et al. Distilled Dual-Encoder Model for Vision-Language Understanding. arXiv, 2021.^(ERNIE-Search) Lu et al. ERNIE-Search: Bridging Cross-Encoder with Dual-Encoder via Self On-the-fly Distillation for Dense Passage Retrieval. arXiv, 2022.^(ColBert) Khattab et al. Colbert: Efficient and effective passage search via contextualized late interaction over bert.SIGIR.2020.^ IntTower: the Next Generation of Two-Tower Model for Pre-Ranking System^(MVKE) Xu et al. Mixture of virtual-kernel experts for multi-objective user profile modeling. KDD. 2022