微信扫码
添加专属顾问
我要投稿
近年来,基于嵌入式检索(embedding-based search)或密集检索(dense retrieval)相比传统的稀疏检索(sparse retrieval)或基于词袋(bag of words)的方法,已经展示出了更先进的结果。
于此同时,Meta 的研究团队(Mingrui Wu 和 Sheng Cao)近日发表了一个通过大型语言模型(LLM)实现检索增强的的文档级嵌入框架,使得可以显著提高广泛使用的各类检索器模型(如 Bi-encoders (Contriever,DRAGON) 和 late-interaction模型 (ColBERTv2))的检索有效性,并在 LoTTE 数据集和 BEIR 数据集上实现了 Sota(State of the art)的结果。
论文链接:
https://arxiv.org/abs/2404.05825
引言
Bi-encoder 是一种广泛用于信息检索的神经网络架构。它由两个编码器组成,通常以 Transformer 模型的形式,分别为用户查询(user query)和潜在文档(target document)或段落编码一个向量表示。这两个编码器可以共享或使用两个独立的模型。然后可以计算这两个嵌入向量之间的相似性,通常使用点积或余弦相似性,以确定文档或段落与用户查询条(user query)的相关性。
Cross-encoders 与 bi-encoders 不同,它们在早期阶段就将输入融合在一起,允许用户查询和文档之间进行更复杂的交互。在这里,用户查询和文档被连接在一起,基于此计算一个联合的潜在空间中的向量。然后使用此向量进行预测,例如在信息检索任务中确定文档对查询的相关性。在需要对输入之间的相互作用进行细致理解的任务中,Cross-encoders 通常优于 bi-encoders。
Late-interaction 模型,如 ColBERT 和 ColBERTv2,是混合了 cross-encoder 模型和 bi-encoder 模型的模型架构。查询和文档被独立地编码成 token 级别的向量表示。
大语言模型增强检索及其框架
这个概念的灵感来自网络搜索技术。为了说明这个想法,让我们考虑一个用户查询 "MIT" 的例子。如果没有先验知识,很难弄清楚 "Massachusetts Institute of Technology" 和 "MIT" 是等价的。
然而,在网络搜索中,我们可以观察到 "Massachusetts Institute of Technology" 的主页从 "MIT" 的查询中收到了大量的点击,这使我们可以推断出 "Massachusetts Institute of Technology" 的主页必须与 "MIT" 的查询密切相关。
另一方面,我们通常没有每个用户查询的点击数据。然而,大型语言模型擅长生成合成查询,所以我们可以使用合成查询作为代理的“点击数据”来引导用户查询到相关的文档。
一个重要的点是,在传统的检索任务中,我们使用相似性来表示相关性。相似性得分在数学上定义为用户查询和文档的编码向量的点积或余弦。然而,有时这个相似性得分可能不能反映语义相关性。例如,“谁是美国的第一任总统?”在相似性得分上可能非常接近“谁成为了美国的第一任总统?”。但我们的目标答案可能是关于“乔治·华盛顿”的维基百科页面或自传,其与查询的相似性得分可能不那么高。
然而,如果我们使用华盛顿的自传来创建合成查询,“谁成为了美国的第一任总统?”可能是其中之一。用户查询“谁是美国的第一任总统?”可以通过相似性得分轻松地匹配到相关查询。后者指向目标文档(华盛顿的自传)。因此,生成的相关查询从不同的角度表达了原始文档的语义,这有助于匹配相关的查询。
文档的标题在确定其对用户查询的相关性和用途方面起着关键作用。标题通常是用户在搜索文档时看到的第一条信息,它可以极大地影响他们点击特定结果的决定。一个精心制作的标题可以提供重要的上下文和关键词,帮助用户快速理解文档的内容和目的。如果原始文档有标题,我们可以直接使用。如果没有,我们可以利用大型语言模型为该文档生成一个合成标题。
分块是指将一大段文档或文本划分为更小、更易管理的单元的过程。这些单元,被称为"块"或"段落",通常是通过将相关的信息组合在一起创建的。由于检索模型的上下文窗口的限制(换句话说,模型输入的最大长度),我们通常将一个长文档划分为几个块,其 token 数量低于上下文窗口限制。块数据来自原始文档,而不是来自 LLM 增强。最优的分块大小对于各种检索模型是不同
以下是对于文档级嵌入框架当中对于文档“相关性”搜索的表达。
Bi-encoder 通常是“双塔”(two-tower)模型结构。给定一个查询和一个文档,分别应用查询编码器和文档编码器来计算查询和文档的嵌入向量。然后将这两个嵌入向量输入到点积(或余弦相似度)中,以计算查询和文档之间的相似度分数。由于我们希望通过注入合成查询和标题来丰富文档嵌入向量,作者建议计算相似度如下:
2.5 大语言模型增强检索框架下的Token-Level Late-Interaction model
因此,我们可以看到,通过使用 LLM 增强来丰富文档的嵌入,可以在不进行进一步微调的情况下,大大提高检索器模型的召回性能。
Ablation Studies
在所有数据集中,合成查询对 ColBERTv2 的重要性都大于标题,而将它们全部组合在一起通常会产生更好的召回结果。再次注意,对于 token-level late-interaction 模型,没有字段权重超参数。
结论和局限性
本研究的一个局限性是它在为原始文档增强相关查询和标题时需要额外的计算资源,有时增强文本的大小可以与原始文档的大小相当。这种计算量可能会限制这种方法在计算资源有限的地方的使用。另一个局限性或风险是,大型语言模型中的幻觉可能会对增强语料库对原始文档的准确性造成额外的影响。幻觉在大型语言模型的研究领域仍然是一个未解决的问题。
53AI,企业落地大模型首选服务商
产品:场景落地咨询+大模型应用平台+行业解决方案
承诺:免费场景POC验证,效果验证后签署服务协议。零风险落地应用大模型,已交付160+中大型企业
2025-02-01
2025-01-01
2024-08-13
2024-04-25
2025-02-04
2024-07-25
2024-06-13
2024-04-26
2024-09-23
2024-04-12
2025-02-24
2025-02-23
2025-02-23
2025-02-23
2025-02-23
2025-02-22
2025-02-22
2025-02-22