返回顶部
热门问答 更多热门问答
技术文章 更多技术文章

【RAG】R²AG:将检索信息融入RAG,提升问答系统准确性

[复制链接]
链载Ai 显示全部楼层 发表于 1 小时前 |阅读模式 打印 上一主题 下一主题

文章指出,传统RAG通过向量检索排序召回与Query相关的片段,通过prompt生成回复,LLMs与检索器之间存在语义鸿沟(LLMs难以有效利用检索器提供的信息)。下面来看看这篇文章引入检索信息增强RAG性能的trick。

方法

检索特征提取

在中,首先从检索器获取语义表示:

  • 查询编码表示::
  • 文档编码表示:。

这样存在一个问题,这些表示不能直接使用,因为单一的表示无法捕捉到用于LLM生成的交互特征。

因此,为了适应各种检索器,需要将不同空间中的表示转换为统一格式的特征。提出三种相似计算方法来对这些表示进行对齐,从而得到检索特征。

  1. 相关性得分

    相关性得分是查询和第个文档之间的相关性,也用于对文档进行排序。

  2. 前例相似性得分

    前例相似性得分计算的是第个文档表示与其在排名列表中的前例加权表示之间的相似性。

  3. 邻居相似性得分

    邻居相似性得分计算的是第个文档表示与其相邻表示之间的平均相似性。

这些得分通过相似性函数(如点积或余弦相似性)计算得出。具体的公式如下:

其中,表示第个文档与其在排名列表中的前例之间的相似性,是查询与第个文档之间的相关性。

最后,将这三个特征拼接起来作为输入:

然后将特征列表输入到-Former 中,以进一步挖掘检索信息。

-Former

-Former 是框架中引入的一个可训练模块,目的是弥合检索器和LLM之间的语义鸿沟。-Former 被设计为接受列表特征作为输入,并输出检索信息。

输入列表,-Former 处理输入过程公式如下:

其中:

  • 是具有隐藏维度的 Transformer 编码器,
  • 是一个线性映射层,
  • 表示可训练的位置嵌入。

这个模块比较好理解,这一步通过利用自注意力机制来增强对检索器提供的列表特征的理解。

检索感知提示

步骤:

  1. 我们使用一个投影层将检索信息线性变换到与 LLM 的 token 嵌入层相同的维度:

  2. 使用 LLM 的分词器对查询和文档进行分词,并将其转换为嵌入。

    其中是 LLM 的 token 嵌入层,是文档的嵌入。

  3. 检索信息的嵌入:为了对每个文档进行细致的分析,相应的检索信息嵌入被添加到每个文档嵌入的前面。这些嵌入作为外部知识,起到锚点的作用,引导 LLM 关注有用的文档。最终的输入嵌入可以排列如下:

    其中表示第个文档的检索信息嵌入。通过这种方式,相应文档的检索信息可以很好地混合在一起,减少了 LLM 处理所有文档的负担。

  4. 生成响应

    其中表示 LLM 生成的最终结果。

这一模块主要是将检索信息作为额外的知识输入,增强了 LLM 对文档的理解能力。

训练策略

主要是训练-Former 和 LLM 的对齐训练。

  1. 训练-Former

    -Former 是一个查询-文档匹配任务,是一个二分类任务

    其中是一个二分类头,输出文档的相关性预测。支持是文档的真实标签,交叉熵作为损失函数,定义为:

LLM 的对齐训练

语言建模损失

联合训练

联合训练使得-Former 能够更好地理解来自检索器的列表特征,确保检索信息可以被 LLM 深入解释。

总体损失:

文中,提供了仅训练-Former 而冻结 LLM ,或同时训练

实验

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

链载AI是专业的生成式人工智能教程平台。提供Stable Diffusion、Midjourney AI绘画教程,Suno AI音乐生成指南,以及Runway、Pika等AI视频制作与动画生成实战案例。从提示词编写到参数调整,手把手助您从入门到精通。
  • 官方手机版

  • 微信公众号

  • 商务合作

  • Powered by Discuz! X3.5 | Copyright © 2025-2025. | 链载Ai
  • 桂ICP备2024021734号 | 营业执照 | |广西笔趣文化传媒有限公司|| QQ