ColBERTv2: 一种提高多向量表示质量和空间效率的检索器

释放双眼,带上耳机,听听看~!
本文介绍了ColBERTv2,它是一种提高多向量表示质量和空间效率的检索器,通过融合单向量模型的优化策略,采用新的监督范式并利用表示压缩和残差表示技术,取得了更先进的表现。

导语

本文是ColBERT的后续工作,通过将一些单向量模型采用的优化策略融入到原始的ColBERT模型中,得到了本文提出的ColBERTv2模型,并取得了更加先进的表现。

1 简介

ColBERT为查询(和文档)中的每个token生成嵌入表示,并将相关性建模为每个查询向量与文档中所有向量之间最大相似度的和。这种方法通过将相关性建模分解为token级计算,在后期交互中旨在减轻编码器的负担,但其消耗了比单向量模型更大数量级的空间占用,因为它们必须为Web规模的集合存储数十亿个小向量。

ColBERTv2: 一种提高多向量表示质量和空间效率的检索器

考虑到这一挑战,单向量模型通过引入negative mining, pretraining, and distillation的新监督范式得到了与“vanilla” late interaction模型相当,甚至更好的结果。本文尝试将单向量模型采用的一些优化策略融入到ColBERT模型,得到的ColBERT v2模型在性能和空间占用上有了进一步优化。

2 相关工作

3 ColBERT v2

ColBERT v2采用和ColBERT v1相同的架构,Query和Document通过Encoder编码后得到一个token representation的列表,最后采用MaxSim的方式得到相关性分数。

ColBERTv2: 一种提高多向量表示质量和空间效率的检索器

作者首先采用的第一个改进技术是Distillation,即希望模型输出的分数和一个小型的LM(MiniLM)Cross-Encoder输出的分数一致。同时也采用in-batch negative方法。

ColBERTv2: 一种提高多向量表示质量和空间效率的检索器

采用的第二个改进技术是表示压缩,即作者对这些token的向量表示进行聚类。如上图所示,聚类中大多是一些相似的token,作者对600M token聚类得到约260 k的聚类中心,然后对每个向量表示为:

向量表示 = 聚类中心向量表示 + 残差向量表示

的形式,其中每个维度的残差向量表示用1到2个bit表示。

这样可以大大节省空间占用。

4 LoTTE

作者提出了一个用于IR的长尾主题分层评价的新数据集LoTTE。表1给出了该数据集与现有的一些公开数据集的异同比较,

ColBERTv2: 一种提高多向量表示质量和空间效率的检索器

下表展示了几个例子。

ColBERTv2: 一种提高多向量表示质量和空间效率的检索器

5 评估

在段落检索任务上评估ColBERTv2,在训练集分布内(§5.1)以及在分布外Zero-shotr设置测试其质量。评估中,将ColBERTv2嵌入压缩到每维b = 2位。
实验结果如下:

ColBERTv2: 一种提高多向量表示质量和空间效率的检索器

ColBERTv2: 一种提高多向量表示质量和空间效率的检索器

可以看到,无论是分布内还是分布外,ColBERTv2都取得了最好的表现。

6 总结

本文介绍了ColBERTv2,它是一种检索器,可以提高多向量表示的质量和空间效率。本文假设聚类中心捕获了token级表示的上下文感知语义,并提出了一种残差表示,该表示利用这些模式来显著减少现有多向量系统的占用空间。然后,本文探索了多向量检索的改进监督,并发现从交叉编码器系统蒸馏后,它们的质量得到了显著提高。提出的ColBERTv2在域内和域外评估方面大大优于现有的检索器,本文对28个数据集进行了广泛的评估,建立了最先进的质量,同时显示出具有竞争力的空间占用。

本网站的内容主要来自互联网上的各种资源,仅供参考和信息分享之用,不代表本网站拥有相关版权或知识产权。如您认为内容侵犯您的权益,请联系我们,我们将尽快采取行动,包括删除或更正。
AI教程

PyCharm与Jupyter联合使用教程

2023-12-16 14:05:14

AI教程

HuggingGPT让ChatGPT联网

2023-12-16 14:17:14

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索