以往的钻研重要集中在经过参与检索文档的数量或长度来裁减检索增强生成(RAG)中检索到的常识。但是,仅参与常识量而不提供进一步的指点存在必定的局限性。
为此,Google DeepMind钻研了RAG在推理计算裁减(Inference Scaling)状况下的性能,特意是当高低文很长时。经过运行最优性能,在长高低文LLMs上裁减推理计算可以成功高达58.9%的性能优化。
用于RAG的推理裁减战略
为了权衡推理计算,定义了有效高低文长度,即在LLM生成最终答案之前一切迭代中的输入token总数。关于大少数只调用LLM一次性的方法,有效高低文长度同等于提醒中的输入token数量,并遭到LLM的高低文窗口限度。关于迭代调用LLM的方法,有效高低文长度可以经过战略有限裁减。
目的是了解RAG性能如何随着推理计算的裁减而变动。为此,引入了两种裁减战略:示范基础RAG(DRAG)和迭代示范基础RAG(IterDRAG)。
DRAG与IterDRAG的对比。IterDRAG将输入查问分解为子查问并回答它们,以提高最终答案的准确性。在测试时,IterDRAG经过多个推理步骤来裁减计算,分解复杂查问并检索文档。
RAG性能和推理计算扩摸
接上去重点钻研提醒RAG性能与推理计算规模之间的相关,并尝试预测在不同计算解放下到达最佳性能的推理参数性能。
固定估算下的最佳性能:
关于固定的有效高低文长度估算,经过枚举不同的推理参数性能(如检索文档的数量、高低文示例的数量、生成迭代的次数)来找到最优平均目的。
最优性能的详细示例:
RAG性能随文档数量和高低文示例的变动而变动。(a)报告了跨数据集的平均目的值,而在(b)和(c)中,每条线代表在逐渐参与文档/示例的分歧性能下的规范化性能。
全体性能:
经过裁减最大有效高低文长度,DRAG和IterDRAG的性能分歧地优化,标明参与计算估算对RAG性能是有益的。
特意地,IterDRAG在更长的有效高低文长度下(例如超越128k tokens)展现了比DRAG更有效的裁减。
不同方法在不同最大有效高低文长度 LmaxLmax(即一切迭代中的输入token总数)下的最佳性能。ZS QA和MS QA区分指one shot QA和many shot QA。关于不随 LmaxLmax 参与而进一步裁减的方法。将每个 LmaxLmax 的最佳结果加粗显示。
RAG的推理裁减规律:
经过分析不同有效高低文长度下的性能变动,提出了RAG性能随着推理计算规模的参与而近乎线性优化的观察结果,这被称为RAG的推理裁减规律。
跨数据集的规范化性能与有效高低文长度的对比。每条线代表一个固定的性能,经过扭转文档数量来启动缩放。红点示意最优性能,虚线显示拟合结果。观察到的最优性能可以经过与有效高低文长度的线性相关来近似。
MuSiQue上规范化性能与有效高低文长度的对比。每条线代表一个固定的性能,经过调整文档数量来启动缩放。红点和虚线代表最优性能及其拟合结果。规范RAG在104104个token时早早到达颠簸形态,相比之下,DRAG和IterDRAG随着有效高低文长度的增长显示出近乎线性的优化。
经常使用不同方法评价Gemini 1.5 Flash的准确率:零-shot QA、多-shot QA、RAG(带有最佳数量的文档)、DRAG和IterDRAG在基准QA数据集上的体现。经过裁减推理计算(最多5M个token),DRAG继续优于基线,而IterDRAG经过交织检索和迭代生成改良了DRAG。
Scaling for Long-Context Retrieval Augmented GenerationGoogle DeepMind
本文转载自 PaperAgent