TLDR: 本文介绍了一种突破传统的双塔式(two-tower)模型的新方法,这种方法利用一个轻量级的生成模型提取一侧(例如文档侧)的特征,并模拟生成另一侧(例如查询侧)的特征。这种模型的优点在于,它实现在底层进行特征交叉,而不仅仅是在顶层进行内积。效果显著,同时Serving效率与纯双塔模型持平。此研究相当于进一步扩展了双塔式模型中引入交叉特征的可能性,并展望了在召回侧引入交叉特征的新做法。
论文:arxiv.org/abs/2306.02371 代码:github.com/Deriq-Qian-Dong/III-Retriever
回顾
从dense retrieval任务说起,主要范式有这么几种,一种是双塔(DSSM)、一种是单塔(convKNRM),一种是双塔+迟交互(poly-encoder, colBERT)。这里只列了一些经典工作,具体可以看人大的一篇[survey]-(https://arxiv.org/pdf/2211.14876.pdf)。
众所周知,单塔采用全交互方式效果好,但是没法适配向量化召回的框架,也就是无法离线建向量索引,需要实时过模型算分数。而双塔虽然能适配该框架,但是无法做到q侧和d侧的细粒度交互,效果弱于单塔。colBERT这类工作则属于是