AI知识库

53AI知识库

学习大模型的前沿技术与行业应用场景


RAG必备武器:Embedding与Rerank的协同召回作战
发布日期:2024-12-18 05:13:20 浏览次数: 1633 来源:老贾探AI


在信息爆炸的 AI 时代,如何快速而精准地从海量数据中找到最相关的信息,成为了一个关键挑战。传统的关键词匹配方法虽然简单直接,但在面对复杂查询和语义理解时显得力不从心。为了突破这一瓶颈,现代搜索引擎和技术开发者们引入了两种先进的技术:Embedding模型重排序(Rerank)策略。下面我们将详细探讨这两个技术的概念,以及它们是如何共同作用以提高RAG检索系统性能的。

一、了解编码器

特性
Bi-Encoder / Dual-Encoder
Cross-Encoder
编码方式
使用两个独立的编码器分别处理查询和文档
同时考虑查询和文档之间的交互信息进行联合编码
预计算存储
文档向量可以离线预先计算并存储
每次检索时实时计算查询和文档的相关度
效率
高效,检索速度
计算成本高,特别是当候选文档数量巨大时
精度
相对较低,因为缺少直接的交互信息
,能够捕捉更复杂的语义关系
应用场景
大规模检索任务,如搜索引擎、推荐系统
对结果质量要求极高的任务,如精排阶段
优点
快速响应,适合大规模数据
提供更精确的结果,适用于小规模候选集
缺点
缺乏交互性,可能错过细微语义关联
实时计算开销大,资源消耗显著增加
模型举例
IEITYuan/Yuan-embedding-1.0
bge-reranker-v2-m3

二、 Embedding模型:语义空间中的桥梁

2.1 什么是Embedding?

Embedding是一种将文本转换为数值向量的技术,这些向量能够捕捉词语或句子之间的语义关系。通过训练深度学习模型,如Word2Vec、GloVe或者BERT等,我们可以得到每个单词或短语的低维稠密向量表示,使得语义相似的项在向量空间中彼此靠近。对于 Dual-encoder架构来说,它使用两个独立的编码器分别处理查询(query)和文档片段(Chunk),然后计算两者之间的相似度分数,以此来决定文档的相关性。

2.2 Embedding的工作原理

  1. 预训练阶段:首先,模型会基于大量文本数据进行预训练,学习语言结构和上下文信息。
  2. 离线编码:当接收到新的查询时,Dual-encoder并不需要重新训练整个模型。相反,它会利用已经训练好的编码器,将查询和候选文档分别转换成固定长度的向量。
  3. 快速检索:由于所有文档都被预先编码并存储在索引中,因此可以非常高效地对新查询执行最近邻搜索,从而找到最相关的文档。

尽管这种方法提高了检索速度,但由于缺乏即时交互,可能会错过一些细微但重要的语义线索。

2.3 类比理解Embedding

dual-encoder架构下的Embedding模型。想象一下,你站在一个巨大的图书馆前,想要找到一本特定的书。然而,这个图书馆没有分类系统,也没有索引卡。你所拥有的只是一个模糊的记忆:书名或者内容的大致印象。这时候,Embedding模型就像是一个智能助手,它通过预先学习的语言模型,将你的查询(query)和所有可能的书籍章节(Chunks)转换成多维空间中的点:即语义向量。这些点之间的距离反映了它们在语义上的相似性。当你提出一个问题或输入一个查询时,Embedding模型能够在“离线”状态下独立处理每一个查询和文档片段,然后根据它们在语义空间中的位置进行初步筛选,尽可能多地召回相关项。这种方式虽然高效,但由于缺乏即时的上下文交互,有时可能会导致一些不那么精确的结果被选中。

三、 Rerank阶段:精细化筛选的专家

3.1 什么是Rerank?

Rerank指的是在初步检索之后,再次评估前几轮返回的结果,并根据更复杂的逻辑调整其顺序的过程。这个阶段通常采用cross-encoder,一种允许查询和文档之间直接交互的模型。Cross-encoder可以在给定查询的情况下,更加细致地理解每个文档的具体内容,进而提供更为精确的结果排序。

3.2 Rerank的工作流程

  1. 初始召回:首先利用Embedding模型快速生成一个较大的候选项集合。
  2. 交互式评估:接下来,Cross-encoder会对这些候选项逐一分析,结合查询上下文进行深层次的理解,考虑诸如语法结构、实体识别等因素。
  3. 最终输出:最后,根据综合评分对结果进行重排,确保最相关的信息排在前面。

3.3 类比理解Rerank

继续以图书馆为例,现在我们已经通过Embedding找到了一批候选书籍。但是,为了让读者拿到最合适的那本,我们需要更深入地分析每本书的内容,看看它是否真正满足读者的需求。Cross-encoder就像是一位经验丰富的图书管理员,在这个阶段,它不再孤立地看待每个查询和文档,而是让两者充分交流,挖掘出更多隐含的信息。这种交互式的评估能够显著提高结果的精度,确保最终呈现给用户的信息是最相关的。

四、两阶段检索优化:召回与重排

通过将Embedding和Rerank结合起来,我们不仅能够在短时间内获得大量的潜在匹配项,还能够通过对这些匹配项的二次评估,进一步提升搜索结果的准确性和用户满意度。Embedding负责广撒网,而Rerank则像渔夫一样,精挑细选最优质的鱼儿。

在信息检索中,直接使用 Cross-encoder效率低下,因为它需要实时计算查询(query)和每个候选文本之间的相关度,当候选文本数量庞大时,这将导致巨大的计算成本。相比之下,Bi-encoder可以通过离线预计算的方式为海量文本生成向量表示,并存储于向量数据库中。检索时仅需计算query的向量表示,然后快速查找最相似的文本。

因此,采用两阶段检索策略来平衡效果和效率:

  1. 召回(粗排):利用 Bi-encoder从大量文本中高效召回大量潜在相关的文本片段(如 TopK=100),此阶段的排序准确性要求不高。
  2. 重排(精排):对第一步召回的文本片段使用 Cross-encoder进行精确的相关度评分,重新排序以获得最终结果。

通过这种组合方式,两阶段检索既能保证检索速度,又能提升结果的准确性。

特此声明:[公众号:老贾探AI]原创不易。未经许可不得转载、私自发布在其他平台。

五、推荐开源中文 SOTA 组合

目前开源中文方面最好的embedding和reranker的 SOTA 组合如下:

Embedding模型

  1. IEITYuan/Yuan-embedding-1.0:浪潮信息自研、上下文最长 512 个 token、模型参数量 326MB、https://www.modelscope.cn/models/IEITYuan/Yuan-embedding-1.0
  2. TencentBAC/Conan-embedding-v1:腾讯自研、上下文最长 512 个 token、模型参数量 326MB、https://arxiv.org/pdf/2408.1571

Reranker模型

  1. bge-reranker-v2-m3:智源研究院的BGE系列,提供了强大的rerank能力(上下文最长 8192 个 token)
  2. BCEmbedding:网易有道自研,包含EmbeddingModelRerankerModel两类基础模型,以其出色的双语和跨语种能力而著称,在语义检索中消除中英语言之间的差异,实现SOTA表现。
  3. ByteDance/ListConRanker:(目前 Top1)上下文最长 512 个 token、模型参数量 326MB

推荐 SOTA 组合

Yuan-embedding-1.0bge-reranker-v2-m3的组合可能是目前中文领域的最佳实践。这些模型在C-MTEB评测基准中表现突出,提供了强大的语义理解和检索能力。

这个组合在不同的数据集和任务中表现出色,但具体结果可能会受到数据特征、数据集大小等变量的影响。因此,选择最佳的embedding和reranker组合时,还需要考虑特定应用场景和数据集的特性。

六、总结

     现在我们对Embedding和Rerank有了更深一层的认识,这两种技术各有所长,相辅相成,共同构建了 RAG 系统的基石。因此,我们的目标很明确,利用Embedding模型的优势尽可能广泛地召回相关信息,同时依靠 Rerank 模型精挑细选出最优质的内容。这不仅提高了搜索效率,也增强了用户体验,让用户更快、更准确地获取所需信息。随着AI技术的发展,相信未来会有更多创新出现,不断推动这一领域向前迈进。


53AI,企业落地应用大模型首选服务商

产品:大模型应用平台+智能体定制开发+落地咨询服务

承诺:先做场景POC验证,看到效果再签署服务协议。零风险落地应用大模型,已交付160+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

与创始人交个朋友

回到顶部

 
扫码咨询