最近在测试RAG相关产品,看了一些文章,发现之前对RAG实力的认识还是粗浅了。
RAG 的优势
虽然 RAG 和微调都可以用于将新信息整合到 LLM 并提高特定任务的性能,但研究表明,对于训练期间遇到的知识以及全新知识,RAG 的表现始终优于无监督微调(也称为持续预训练)。一项研究比较了 RAG 和无监督微调在 MMLU 子集和时事上的表现,发现 RAG 的表现始终优于微调。另一篇论文将 RAG 与农业数据集上的监督微调进行了比较,结果表明,RAG 带来的性能提升大于微调,特别是对于 GPT-4。
除了性能提升之外,与微调相比,RAG 还具有以下几个实际优势:
- 易于更新: 与需要对模型进行重新训练的连续预训练或微调相比,更新检索索引更容易、成本也更低。
- 控制和可解释性: 如果检索索引中存在包含有害或偏见内容的有问题文档,可以轻松删除或修改这些文档。此外,RAG 中的“R”(检索)支持更精细地控制如何检索文档,例如,通过划分检索索引,可以确保每个组织只能检索其自身索引中的文档,从而防止信息泄露。
长上下文模型不会淘汰 RAG
有人认为,随着 Gemini 1.5 等具有高达 1000 万个标记的上下文窗口的模型的出现,RAG 的价值将降低。然而,这种观点过于夸大了长上下文模型的影响力。
即使使用 1000 万个标记的上下文窗口,仍然需要一种方法来选择要输入模型的信息。此外,除了在“大海捞针”这类狭义任务上的评估之外,还没有令人信服的数据表明模型可以有效地推理如此大的上下文。因此,如果没有良好的检索(和排序),可能会用无关信息淹没模型,导致性能下降。
最后,还需要考虑成本问题。Transformer 的推理成本与上下文长度成二次方(或在空间和时间上呈线性)关系。仅仅因为存在一个可以在回答每个问题之前读取整个 Google Drive 内容的模型,并不意味着这是一个好主意。
结论
RAG 在获取新知识方面比微调具有明显的优势,包括易于更新、更好的控制和可解释性。虽然长上下文模型可能会改变某些用例的游戏规则,但 RAG 仍然是 LLM 应用中不可或缺的一部分,尤其是在处理新知识和需要精细控制的情况下。
参考:https://www.oreilly.com/radar/what-we-learned-from-a-year-of-building-with-llms-part-i/