原标题:Towards a Search Engine for Machines: Unified Ranking for Multiple Retrieval-Augmented Large Language Models
论文地址: arxiv.org/pdf/2405.00…
框架预览和介绍
如图所示,作者主要的思想是利用常规信息检索的思想,认为大规模用户的反馈有利于改进检索系统,从而将RAG系统拆分为上游的用户,和下游的检索-重排器,通过用户的反馈训练的重排器会具有更好的性能和泛化能力。
实验构造
上游是18个不同的模型, 分别执行open-domain question answering, fact verification, and slot-filling for relation extraction. 三种任务,使用KILT 的六个数据集作为评估。除了这 18 个与我们的统一搜索引擎进行优化的 RAG 模型外,我们还考虑了另一组 18个具有不同属性的 RAG 模型作为 uRAG 的新用户,这些模型不参与优化,并且搜索引擎部分或完全不知道它们。这些模型可能使用不同的 LLM 架构、引入新任务和/或将新数据集用于已知任务。鉴于这些研究问题的范围和篇幅限制,作者将限制在Reranker的优化上,其中搜索引擎使用 BM25 检索文档,并根据从下游 RAG 模型收到的反馈优化作为reranker的一个cross-encoder。
数学建模
- 对于上游的RAG模型 ,每个模型都有各自的训练集 , 表示这个训练集里第j个输入输出,这些数据对于下游的搜索引擎 是不可见的
- 对于训练集里的一对儿输入输出 ,对应的RAG模型 需要构建一个给搜索引擎的输入 , 搜索引擎会使用这个输入返回一个文档列表。因此,我们就利用数据集和模型,得到了搜索引擎的数据集
- 对于每个RAG模型 ,我们需要定义一个函数 ,这个函数是用于量化模型在任务 上的表现。为了简化,函数的返回值处于01之间,将会作为 的反馈。
- 因此最后我们得到了搜索引擎最优化的方式
解释为: 对每个数据集上的各个样本点的Loss求和后,除以样本数量,之后对全体数据集的数据求和 Loss是某个损失函数,计算搜索引擎在输入q和文档库C之后的输出,和上游返回的feedback 之间的差距,实际上是一个交叉熵。 而 的计算方式为: 定义某个函数,计算在得到下游返回的文档列表之后产生的输出 和数据集中 y之间的差距。
可以注意到 说的是一个东西,只是替换了一下q
实验
基于模型不同的窗口长度, RA-T5设置为k=10,RA-BART k=4, FiD k = 10, k是搜索引擎返回的文档数量。
Utility 函数被设置为数据集推荐的方式,为短形式问答数据集采用精确匹配(Exact Match, EM),为长形式问答数据集采用ROUGE-L,并将准确度作为其余任务的效用函数.
搜索引擎构造
为了实现 ,作者采用了一个两阶段的级联检索流程。
- KILT基准提供的维基百科转储被用作非结构化知识源。其中每个文档被划分为段落,每个段落的最大长度为100个单词。此外,并且将文档标题与每个段落连接起来,形成检索语料库中的文档。这个语料库包含大约3600万个段落。采用Pyserini对BM25算法的实现,通过输入q 获取100个段落。
- 第二阶段的模型是一个 cross-encoder 的重排器, q和段落作为输入,产生一个标量作为关联度, 为了实现个性化的输入输出, 根据𝑀𝑖及其下游任务𝑇𝑖来上下文化cross-encoder 表示。使用与开始标记(即[CLS])相关的表示上的线性投影来获得相关性得分
tid 和 mid 表示任务和RAGmodel的标识符 本文选择BERT-base作为encoder, 在100个文档重排之后,我们就得到了topK
搜索引擎训练
得到了RAG model的反馈后,我们定义一个基于任务和模型的阈值, 大于等于阈值的为正样本,其他为负样本, 因此对于每一次查询,我们会得到两个正负样本的集合,之后计算交叉熵作为Loss
结论
角标表示针对第i项统计学上有显著的改进(p<0.05)
训练统一的reranker和为每个模型单独训练reranker有什么差别
实验表明,统一重新排序的表现与为每个下游 RAG 模型单独训练的相同重新排序模型相当或明显更好。更详细地说,61% 的下游模型的改进具有统计意义,并且在参与训练过程的 18 个 RAG 模型中没有统计意义的性能下降。
训练统一的reranker和在每个任务上训练的reranker有什么差别
实验表明,训练统一的重新排名器在性能上与基于使用相同数据集的所有RAG模型提供的反馈训练的重新排名器相当或显著更好。更具体地说,在我们的实验中,39%的下游RAG模型观察到统计学上显著的改进,而大多数观察到没有显著差异。这表明知识迁移是有效的。
定制个性化的反馈对实验结果有什么影响
假设不同的RAG系统行为不同,那么为不同的系统定制搜索结构可能是有益的, 在实验过程中,在查询和文档之外,加入了任务和模型的标识符。观察到,通过包含任务和模型标识符在相关性评分中,有50%的下游RAG模型观察到了性能提升。然而,在绝大多数情况下,这些改进并不具有统计学意义。
对于新加入的不确定结构和数据集的RAG模型有什么影响
结论:对于某些类型的任务有所改进
结论(机翻)
我们研究了为多个下游RAG系统开发搜索引擎的前景和挑战。我们引入了uRAG生态系统,使我们能够进行大规模实验,以回答这一领域的一些基本研究问题。我们展示了优化统一的重排器与当前标准做法——即为每个下游RAG模型学习一个检索模型——相比,可以带来显著的改进。我们强调了统一重排器的改进对于基于已知数据集的新(未知)模型或与训练过程中使用的密切相关的未知数据集是可推广的。我们进一步解释了为下游RAG模型个性化重排器和推广到未知下游任务的挑战。
本文开辟了一系列未来研究方向。通过提出的uRAG生态系统,未来的工作可以关注:
- 从各种下游RAG模型中最优地聚合反馈;
- 校准他们的反馈;
- 考虑每个下游模型的多个效用函数;
- 将工作扩展到检索模型优化而不仅仅是重排;
- 研究新的正则化技术以提高uRAG的泛化能力;
- 研究uRAG的在线优化方法,因为下游RAG模型与检索模型交互;
- 在uRAG的背景下探索交错和反事实学习方法;
- 超越文本生成,扩展到更一般的REML场景等等。