现有的RAG方案 没有专注于需要检索多个具有显著不同内容的文档的查询 ,这类查询经常出现,但挑战在于这些文档的嵌入可能在嵌入空间中距离很远,难以全部检索。
因此,提出一种多头检索增强生成方法( MRAG:Multi-Head RAG ),它的关键思想是利用Transformer解码器的多头注意力层的激活,而不仅仅是前馈层,来生成嵌入。不同的注意力头可以捕获数据的不同方面,因此使用这些激活产生的嵌入能更好地表示文档和查询的各个方面。
MRAG使用最后一个标记的每个注意力头的输出作为一组“ 单方面 ”嵌入。这些嵌入的完整集合形成了“ 多方面 ”嵌入。重要的是,这与仅使用最终解码器层输出的标准RAG相比,不需要额外的空间。
解码器架构的概述 ,以及标准RAG和多头RAG嵌入生成方式的比较。
MRAG(多头RAG)流程的概述 ,由两部分组成: 数据准备A和查询执行B 。嵌入模型C和数据存储D被这两部分使用。数据存储D包含指向反映三种不同方面(青色、品红色、黄色)的文本块的文本嵌入。带有星号标记的块是这项工作的新特点。
多头检索增强生成(Multi-Head RAG, MRAG)流程的概述:
用于评估不同RAG策略的示例查询 。文本中要获取的文档,然后评估不同RAG策略在找到这些文档及其类别方面的成功率。标记了 精确文档匹配 、 类别匹配 、 多次匹配类别 的文档,以及没有匹配文档的文本段。最后,展示了每种策略的加权成功率,采用2:1的加权(优先考虑精确文章匹配)。
提供了评估方法和指标、合成数据集和现实世界用例来展示MRAG的有效性, 显示出在相关性方面比标准RAG基线提高了高达20% 。
MRAG(多头RAG)和标准RAG在25个查询中的检索成功率比较,每个查询包含10个不同的方面。 上半部分展示了精确文档匹配,而下半部分展示了仅类别匹配(我们在第3节中解释了使用的度量标准)。为了展示25个查询中详细的分布情况,为一个特定样本呈现了直方图(每个查询获取的文档数量为30)。MRAG在精确文档匹配的检索成功率上一贯优于标准RAG( 平均提高了超过10% )。在类别匹配上的检索性能提升更为显著( 平均提高了超过25%的检索成功率 )。
MRAG相对于标准RAG在不同数量方面和不同嵌入模型的查询中的相对检索改进10-20%(左侧为SFR,右侧为e5)。
在多方面数据集、法律数据集和事故数据集上的实验表明,MRAG在检索成功率上优于标准RAG和Split RAG。
在构建法律文件(左)和发现工业事故原因(右)这两个真实世界工作负载中,MRAG和Split RAG相对于标准RAG在检索成功率上的平均提升。
通过对不同解码器块的嵌入和不同投票策略的分析,证明了MRAG设计和选择的合理性。
对MRAG和Split RAG的不同投票策略的评估
RAG: Solving Multi-Aspect Problems with LLMs
本文转载自 PaperAgent