大数跨境
0
0

RAG提升利器——多向量检索+延迟交互的ColBERT

RAG提升利器——多向量检索+延迟交互的ColBERT InfraLink
2025-09-22
0
导读:之前看了datafun的分享,学习到了rag的检索模块中一个重要的排序技术Colbert,遂做一下学习笔记。

之前看了datafun的分享,学习到了rag的检索模块中一个重要的排序技术Colbert,遂做一下学习笔记。传统的BERT用于检索时,通常采用双塔模型(dual encoder)或交互模型(cross-encoder)吗

  • 双塔模型:查询和文档通过独立的BERT编码,然后计算两者的向量相似度。这种方法可以把文档向量离线计算存好,采用向量检索技术,速度快,但损失了查询和文档之间的细粒度交互。
  • 交互模型:将查询和文档拼接后输入同一个BERT模型,在编码过程中捕捉细粒度的交互信息。这种方法能够得到更好的语义匹配效果,但由于是神经网络直接推理,所以计算量巨大,无法高效处理大规模检索任务。

ColBERT提出了一种新的折中方法:延迟交互模型(Late Interaction Model)。它通过将BERT的表示能力和高效检索相结合,既保持了细粒度的交互,又大大提高了检索效率。

ColBERT

ColBERT 的核心思想是延迟交互,即在查询和文档编码过程中保持独立,但在计算相似度时进行细粒度的交互。具体步骤如下图所示:

  1. 词级别的编码(Token Embeding):
  • 查询和文档通过独立的BERT模型编码,得到token级别 embeding,一个句子就会被编码成多个向量 ,但是每个向量的维度一般不高,64维度,128维度足够。这部分文档编码可以提前离线计算好,存储成索引。查询编码则在查询时实时编码。
  1. 延迟交互(Late Interaction):
  • 在检索时,ColBERT采用了一个名为MaxSim的机制,进行延迟交互。即对于每个查询词(token),找到文档中最相关的词,计算它们的最大相似度。查询词与文档词的最大相似度加和 得到最终的相似度,这里可以理解成 张量之间的相似度。

优势

  1. 这样既保持了cross-encoder细粒度的交互带来的排序准确性,
  2. 又保留了dual encoder可以离线构建索引,通过实时相似度计算提高检索效率。

由于上述2个优点,如下图所示Colbert可以在重排时 对更多的召回文档进行排序,已经有很多研究表明,Colbert 有着媲美 cross-encoder 这类型交互模型的重排效果,而且效率更高。

劣势:

但是不可避免的由于 文档编码采用的张量(一组token embeding)存储,带来了更多存储上的消耗。所以colbert-v2对向量进行了压缩。

效果:

从下图看出,多路召回如果加了colbert作为重排序,效果其实能够进一步提升。

实战代码

from ragatouille import RAGPretrainedModel

RAG = RAGPretrainedModel.from_pretrained("jinaai/jina-colbert-v2")
docs = [
    "ColBERT is a novel ranking model that adapts deep LMs for efficient retrieval.",
    "Jina-ColBERT is a ColBERT-style model but based on JinaBERT so it can support both 8k context length, fast and accurate retrieval.",
]
RAG.index(docs, index_name="demo")
query = "What does ColBERT do?"
results = RAG.search(query)

参考: 

https://huggingface.co/jinaai/jina-colbert-v2

https://github.com/stanford-futuredata/ColBERT



关注我们!与InfraLink共赴智能未来



🔗 聚焦数据科学 | 深耕算法创新 | 赋能AI工程化

📌 技术干货持续更新,全球生态合作共建

✨ 点击关注@InfraLink,解锁更多前沿技术资讯与实践洞察



【声明】内容源于网络
0
0
InfraLink
链接技术基建,共筑智能未来。 在数据智能重塑产业格局的时代,InfraLink 以「构建技术基础设施的全球连接枢纽」为使命,聚焦 数据科学、算法创新、AI 工程化 三大核心领域,打造集技术资讯、实践经验、生态合作为一体的全球化社区平台。
内容 109
粉丝 0
InfraLink 链接技术基建,共筑智能未来。 在数据智能重塑产业格局的时代,InfraLink 以「构建技术基础设施的全球连接枢纽」为使命,聚焦 数据科学、算法创新、AI 工程化 三大核心领域,打造集技术资讯、实践经验、生态合作为一体的全球化社区平台。
总阅读7
粉丝0
内容109