微信扫码
与创始人交个朋友
我要投稿
文章指出,传统RAG通过向量检索排序召回与Query相关的片段,通过prompt生成回复,LLMs与检索器之间存在语义鸿沟(LLMs难以有效利用检索器提供的信息)。下面来看看这篇文章引入检索信息增强RAG性能的trick。
在 中,首先从检索器 获取语义表示:
这样存在一个问题,这些表示不能直接使用,因为单一的表示无法捕捉到用于LLM生成的交互特征。
因此,为了适应各种检索器,需要将不同空间中的表示转换为统一格式的特征。提出三种相似计算方法来对这些表示进行对齐,从而得到检索特征。
相关性得分
相关性得分 是查询和第 个文档之间的相关性,也用于对文档进行排序。
前例相似性得分
前例相似性得分计算的是第 个文档表示与其在排名列表中的前例加权表示之间的相似性。
邻居相似性得分
邻居相似性得分计算的是第 个文档表示与其相邻表示之间的平均相似性。
这些得分通过相似性函数(如点积或余弦相似性)计算得出。具体的公式如下:
其中, 表示第 个文档与其在排名列表中的前例之间的相似性, 是查询与第 个文档之间的相关性。
最后,将这三个特征拼接起来作为输入:
然后将特征列表 输入到 -Former 中,以进一步挖掘检索信息。
-Former 是 框架中引入的一个可训练模块,目的是弥合检索器和LLM之间的语义鸿沟。-Former 被设计为接受列表特征作为输入,并输出检索信息。
输入列表 ,-Former 处理输入过程公式如下:
其中:
这个模块比较好理解,这一步通过利用自注意力机制来增强对检索器提供的列表特征的理解。
步骤:
我们使用一个投影层将检索信息线性变换到与 LLM 的 token 嵌入层相同的维度:
使用 LLM 的分词器对查询和文档进行分词,并将其转换为嵌入。
其中 是 LLM 的 token 嵌入层, 是文档 的嵌入。
检索信息的嵌入:为了对每个文档进行细致的分析,相应的检索信息嵌入被添加到每个文档嵌入的前面。这些嵌入作为外部知识,起到锚点的作用,引导 LLM 关注有用的文档。最终的输入嵌入可以排列如下:
其中 表示第 个文档的检索信息嵌入。通过这种方式,相应文档的检索信息可以很好地混合在一起,减少了 LLM 处理所有文档的负担。
生成响应:
其中 表示 LLM 生成的最终结果。
这一模块主要是将检索信息作为额外的知识输入,增强了 LLM 对文档的理解能力。
主要是训练 -Former 和 LLM 的对齐训练。
训练 -Former
-Former 是一个查询-文档匹配任务,是一个二分类任务:
其中 是一个二分类头,输出文档的相关性预测 。支持 是文档的真实标签,交叉熵作为损失函数,定义为:
语言建模损失
联合训练使得 -Former 能够更好地理解来自检索器的列表特征,确保检索信息可以被 LLM 深入解释。
总体损失:
文中, 提供了仅训练 -Former 而冻结 LLM ,或同时训练
53AI,企业落地应用大模型首选服务商
产品:大模型应用平台+智能体定制开发+落地咨询服务
承诺:先做场景POC验证,看到效果再签署服务协议。零风险落地应用大模型,已交付160+中大型企业
2024-11-05
15种典型RAG框架:卡内基梅隆大学最新RAG综述
2024-11-05
Claude发布新的RAG方法 --- 通过上下文嵌入与BM25结合显著降低数据块检索失败率
2024-11-05
【大模型】深度解析:智能体如何突破 RAG 的三大技术瓶颈
2024-11-05
RAG 系统的分块难题:小型语言模型如何找到最佳断点?
2024-11-05
Adaptive-RAG:通过问题复杂性学习自适应检索增强LLM
2024-11-05
打造自己的RAG解析大模型:Labelme版面标注并顺利完成训练
2024-11-04
实操|如何优雅的实现RAG与GraphRAG应用中的知识文档增量更新?
2024-11-04
DSPy还能整RAG的活?LeReT: 用强化学习实现LLM智能检索
2024-07-18
2024-07-09
2024-07-09
2024-05-19
2024-05-05
2024-07-07
2024-07-07
2024-06-20
2024-07-08
2024-07-09
2024-11-05
2024-11-04
2024-10-27
2024-10-25
2024-10-21
2024-10-21
2024-10-15
2024-10-15