在人工智能的浪潮中,大型语言模型(LLMs)以其卓越的多功能性和智能化水平,彻底改变了我们与信息互动的方式。然而,这些模型并非完美无缺,它们可能产生误导性的“幻觉”,依赖的信息可能过时,处理特定知识时效率不高,缺乏对专业领域的深入洞察,同时在推理能力上也有所欠缺。为了应对这些挑战,检索增强生成(Retrieval-Augmented Generation,RAG)技术应运而生,成为AI研究领域的一个激动人心的进展。

大模型RAG技术(一)核心范式、关键技术及未来发展趋势_AI大模型

  • 论文原文:https://arxiv.org/abs/2312.10997
  • 官方仓库:https://github.com/Tongji-KGLLM/RAG-Survey

一、RAG是什么?

大模型RAG技术(一)核心范式、关键技术及未来发展趋势_大模型_02

在RAG模型的一个典型应用场景中,我们可以观察到其处理信息的高效能力。例如,当用户向聊天机器人ChatGPT提出有关OpenAI首席执行官Sam Altman在短时间内被解雇然后又被重新任命的事件时,由于ChatGPT的预训练数据没有包含这一最新动态,它无法提供答案。然而,RAG模型通过访问外部知识库,检索到与用户问题相关的最新新闻报道,有效地弥补了这一信息差距。这些报道被整合进原始问题中,形成一个详细的提示,使得ChatGPT能够结合这些最新信息,提供一个有根据且综合的回答。

二、RAG技术范式发展

RAG技术自2020年首次提出以来,便迅速成为研究领域的热点。其发展过程可以划分为几个显著的阶段,具体如图中所示。在最初的发展阶段,研究者们致力于探索如何将额外知识融入预训练模型中,以提升语言模型的综合能力。随着ChatGPT的推出,对大型模型进行深度上下文学习的兴趣显著增加,这为RAG技术的迅速发展注入了新的动力。

随着大型语言模型(LLMs)潜力的进一步挖掘,研究者们开始专注于提高模型的可控性,以适应不断变化的需求。RAG技术的研究逐渐转向增强模型的推理能力,并在微调过程中探索多种改进策略。特别是GPT-4的发布,标志着RAG技术进入了一个新的发展阶段。研究的重点转向了一种结合RAG和微调策略的新方法,并持续优化预训练方法,以实现更高效的知识整合和信息处理。

大模型RAG技术(一)核心范式、关键技术及未来发展趋势_RAG_03

在 RAG 的技术发展过程中,我们从技术范式角度,将其总结成如下几个阶段:

1. 朴素RAG(Naive RAG)

在前述案例中,我们见证了RAG的经典流程,通常称为朴素RAG。这一流程主要分为三个核心步骤:

  • 索引 — 将文档库分解为较短的片段(Chunks),并利用编码器创建向量索引。
  • 检索 — 根据问题与文档片段的相似度来检索相关的文档片段。
  • 生成 — 利用检索到的文档片段作为条件,生成对问题的回答。
2. 进阶RAG(Advanced RAG)

朴素RAG在检索质量和生成响应的质量上面临一些挑战,并在增强过程中需要改进。为了解决这些问题,进阶RAG模型应运而生,它在索引、检索前和检索后阶段都进行了优化处理。通过更细致的数据清洗、文档结构设计和元数据添加,提高了文本的一致性、准确性和检索效率。在检索前阶段,可以通过问题重写、路由和扩展来减少问题与文档块之间的语义差异。在检索后阶段,可以通过重排序检索结果来避免“迷失在中间”的现象,或通过上下文筛选和压缩来缩短处理窗口。

3. 模块化RAG(Modular RAG)

随着RAG技术的持续发展,出现了突破传统朴素RAG检索—生成框架的新技术。我们提出了模块化RAG的概念,它在结构上更为自由和灵活,集成了更多具体的功能模块,如查询搜索引擎、合并多个答案等。技术上,它融合了检索与微调、强化学习等方法。在流程设计上,对RAG的各个模块进行了精心设计和编排,形成了多样化的RAG模式。值得注意的是,模块化RAG并非凭空出现,而是在前两种范式的基础上继承和发展而来。进阶RAG是模块化RAG的一种特殊形式,而朴素RAG则是进阶RAG的一种特例。

大模型RAG技术(一)核心范式、关键技术及未来发展趋势_大模型_04