简介

文章详解RAG系统中Embedding模型与Reranking模型的配合机制。Embedding模型采用双塔结构,适合海量数据的粗筛,效率高;Reranking模型采用交叉编码器,能深入理解文本语义关系,适合精排。两者协同工作,既能保证检索效率,又能提高答案准确性,是构建高效RAG系统的关键。文章还介绍了常见Reranking模型及其在AI大模型学习中的重要性。


一、 “RAG”的检索召回流程(快速回顾)

当你向 RAG 系统提出一个问题,系统会:

使用 Embedding 模型 将问题转换为向量。

在向量数据库中检索语义相近的文本片段(chunk),完成初步筛选。

然后使用 Reranking 模型 对这些候选 chunk 进行精排,挑选出相关性排名前几的 chunk,作为上下文和用户问题一起组成 prompt,供大模型生成答案。

明明可以通过向量相似度筛选 chunk,为什么还要用Reranking 模型再“筛一轮”呢?继续往下看。

二、先熟悉一下两个模型的结构特点

Embedding 模型

模型结构: 常见为双塔结构(DualEncoder,也有单塔结构)

这种结构包含两个编码器,在训练时,分别将两段文本输入两个编码器,得到两个向量。再通过计算它们之间的相似度(如余弦相似度)判断这两个文本在语义上是否接近。

直观理解: 模型只关心每段文本分别“说了什么”然后判断它们“像不像”。

训练方法: 通常采用对比学习

训练数据由两类文本对组成:

正样本对: 语义相近的文本对

负样本对: 语义无关的文本对

目标是让模型学会将正样本的向量距离“拉近”、负样本的向量距离“推远”,从而在向量空间中构建出具有语义分布的表示。

使用方式:

输入任意一段文本,模型输出其对应的语义向量。

要判断两段文本是否相关时,只需将它们通过模型分别编码成向量,计算相似度。相似度越高,语义则越接近。

Reranking 模型

模型结构: 常见为交叉编码器(Cross Encoder)

将两段文本拼接在一起作为一个整体输入模型。模型能同时“看到”两段文本中的每个 token,从而理解它们之间的关联和语义对应关系。

例如:

直观理解: 模型不仅关心每段文本分别讲了什么,也关心它们之间的互动和语义对齐,例如是否在讨论同一主题或具有逻辑延续。

训练方法: 常见为回归打分任务

即为每个文本对预测一个相关性分数(一般在 0~1之间,例如 0.95 表示高度相关),目标是尽可能贴近真实得分。

使用方式:

将两段文本拼接后输入模型,输出它们的语义相关性分数。分数越高,代表语义匹配程度越强。

三、“RAG”中为什么要两个模型配合?

到这一步,你可能已经猜到答案了

Embedding 模型: 适合做粗筛

它可以对海量文档的 chunk 提前离线编码,存入向量数据库。

用户问题(query)一来,只需对其编码一次,然后就能通过向量数据库快速计算相似度,从而检索并召回几十个候选 chunk。

效率极高,几十到几百毫秒即可完成,适合处理大规模数据。

Reranking 模型: 适合做精排

将用户问题和每一个候选 chunk 拼接后输入模型实时交叉编码,计算相关性得分。

由于 Reranking 模型的特点,能够更深入理解和捕捉文本的语义相关性。

举个例子:

“我爱吃蔬菜” vs “我以前爱吃蔬菜”

在 Embedding 模型看来可能相似度很高,但Reranking 模型则能更深入地比较其语义差异,看出“过去”与“现在”的差别。

在 RAG 中如果跳过粗筛直接使用 Reranking 模型,那意味着系统要对大量的文本实时进行交叉编码打分,这在实际应用中几乎不可能,计算量太大。

而如果跳过 Reranking 模型,则可能会出现一些“看起来相似但实际不相关”的 chunk 被错误地召回,不仅浪费了LLM 的 token,也影响回答的质量。

四、认识几个常见的“Reranking”模型

BGE-Reranker: 由智源推出,支持多语言,开源,中文表现优异。

Cohere Rerank: 闭源,Cohere 提供商用 API,易于接入,适合企业部署。

monoT5:开源,基于 T5 架构的轻量级模型,英文表现强劲。

五、如何学习AI大模型?

大模型时代,火爆出圈的LLM大模型让程序员们开始重新评估自己的本领。 “AI会取代那些行业?”“谁的饭碗又将不保了?”等问题热议不断。

不如成为「掌握AI工具的技术人」,毕竟AI时代,谁先尝试,谁就能占得先机!

想正式转到一些新兴的 AI 行业,不仅需要系统的学习AI大模型。同时也要跟已有的技能结合,辅助编程提效,或上手实操应用,增加自己的职场竞争力。

但是LLM相关的内容很多,现在网上的老课程老教材关于LLM又太少。所以现在小白入门就只能靠自学,学习成本和门槛很高

那么针对所有自学遇到困难的同学们,我帮大家系统梳理大模型学习脉络,将这份 LLM大模型资料 分享出来:包括LLM大模型书籍、640套大模型行业报告、LLM大模型学习视频、LLM大模型学习路线、开源大模型学习教程等, 😝有需要的小伙伴,可以 扫描下方二维码领取🆓↓↓↓

在这里插入图片描述

学习路线

在这里插入图片描述

第一阶段: 从大模型系统设计入手,讲解大模型的主要方法;

第二阶段: 在通过大模型提示词工程从Prompts角度入手更好发挥模型的作用;

第三阶段: 大模型平台应用开发借助阿里云PAI平台构建电商领域虚拟试衣系统;

第四阶段: 大模型知识库应用开发以LangChain框架为例,构建物流行业咨询智能问答系统;

第五阶段: 大模型微调开发借助以大健康、新零售、新媒体领域构建适合当前领域大模型;

第六阶段: 以SD多模态大模型为主,搭建了文生图小程序案例;

第七阶段: 以大模型平台应用与开发为主,通过星火大模型,文心大模型等成熟大模型构建大模型行业应用。

在这里插入图片描述

👉学会后的收获:👈

• 基于大模型全栈工程实现(前端、后端、产品经理、设计、数据分析等),通过这门课可获得不同能力;

• 能够利用大模型解决相关实际项目需求: 大数据时代,越来越多的企业和机构需要处理海量数据,利用大模型技术可以更好地处理这些数据,提高数据分析和决策的准确性。因此,掌握大模型应用开发技能,可以让程序员更好地应对实际项目需求;

• 基于大模型和企业数据AI应用开发,实现大模型理论、掌握GPU算力、硬件、LangChain开发框架和项目实战技能, 学会Fine-tuning垂直训练大模型(数据准备、数据蒸馏、大模型部署)一站式掌握;

• 能够完成时下热门大模型垂直领域模型训练能力,提高程序员的编码能力: 大模型应用开发需要掌握机器学习算法、深度学习框架等技术,这些技术的掌握可以提高程序员的编码能力和分析能力,让程序员更加熟练地编写高质量的代码。

在这里插入图片描述

1.AI大模型学习路线图
2.100套AI大模型商业化落地方案
3.100集大模型视频教程
4.200本大模型PDF书籍
5.LLM面试题合集
6.AI产品经理资源合集

👉获取方式:
😝有需要的小伙伴,可以保存图片到wx扫描二v码免费领取【保证100%免费】🆓

在这里插入图片描述

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐