Generated with sparks and insights from 53 sources

img6

img7

img8

img9

img10

img11

Introduction

  • 定义: 检索增强生成 (Retrieval-Augmented Generation, RAG) 是在利用大语言模型回答问题之前,先从外部知识库检索相关信息。

  • 历史: RAG的概念早在2020年就被提出,首版发布在arxiv于2020年5月。

  • 主要阶段: RAG系统包括两个主要阶段:1. 使用编码模型根据问题找到相关的文档;2. 生成阶段:以找到的上下文作为基础,系统生成文本。

  • 优势: 提高答案准确性,减少虚假信息,识别最新信息,保持回答的及时性和准确性。

  • 局限性: 不适合教授模型理解广泛领域或学习新的语言、格式或风格。

RAG与微调 [1]

  • RAG作用: 提供类似教科书的信息检索功能,适用于解答具体问题或执行特定信息检索任务。

  • RAG优势: 提高答案准确性,减少虚假信息,识别最新信息,保持回答的及时性和准确性。

  • 微调作用: 通过广泛学习吸收知识,适用于模型需要模仿特定结构、风格或格式时。

  • 微调优势: 强化模型已有知识,调整或定制模型输出,适用于复杂指令的训练,提升交互效率。

  • 结合使用: RAG和微调可以相互补充,结合使用可在不同层次上增强模型的能力。

img6

img7

img8

img9

img10

img11

RAG框架 [1]

  • 系统结构: RAG和常规的深度学习研究不太一样,它更像是一个系统,系统里面可以有多个组件。

  • 主要组件: 包括索引、检索和生成三个主要步骤。

  • 索引: 数据索引、分块、嵌入和创建索引。

  • 检索: 根据用户的输入,采用与第一阶段相同的编码模型将查询内容转换为向量。

  • 生成: 将给定的问题与相关文档合并为一个新的提示信息,随后大语言模型被赋予根据提供的信息来回答问题的任务。

img6

img7

img8

img9

img10

img11

Naive RAG [1]

  • 定义: 原始 RAG (Naive RAG) 代表了早期研究方法。

  • 流程: 包括传统的索引、检索和生成步骤。

  • 索引: 数据索引、分块、嵌入和创建索引。

  • 检索: 根据用户的输入,采用与第一阶段相同的编码模型将查询内容转换为向量。

  • 生成: 将给定的问题与相关文档合并为一个新的提示信息,随后大语言模型被赋予根据提供的信息来回答问题的任务。

img6

img7

img8

img9

img10

img11

Advanced RAG [1]

  • 定义: 高级的RAG能很大程度优化原始RAG的问题,主要的优化点会集中在索引、向量模型优化、检索后处理等模块进行优化。

  • 学术界: 论文《Retrieval-Augmented Generation for Large Language Models: A Survey》详细解释了RAG的升级路径。

  • 建索引优化: 提升数据粒度、优化索引结构、添加元数据信息、对齐优化、混合检索。

  • 向量表征模型优化: 微调embedding,针对特定问题、特定领域或者是特定的检索对。

  • 检索后处理: 重排序、prompt压缩。

img6

img7

img8

img9

img10

img11

Modular RAG [1]

  • 定义: 模块化RAG是对高级RAG的一种升级,集成了大量优化策略,并将这些策略进行重组。

  • 搜索模块: 涵盖大量经典搜索的必要组件,如query改写、意图识别、实体检索等。

  • 记忆模块: 借助大模型本身的记忆功能来实现,寻找和大模型历史回复最接近的,来进行回复。

  • 额外生成模块: 提供除生成回复结果之外的其他生成能力,例如对文档的精简,删除检索噪音等。

  • 任务适配模块: 让RAG系统能够适配不同的下游任务,有些时候,类似用大模型进行分类,其实也能使用RAG的模式进行优化。

img6

img7

img8

img9

img10

img11

评估 [1]

  • 端到端评估: 对于整个RAG系统,可以用答案相关性、答案准确性、忠实度等指标进行评估。

  • 检索层评估: 基本的对答案召回的准确和召回率。

  • 向量模型评估: 向量模型的训练一般基于分类的训练策略,可以考虑准确率召回率。

  • 文本生成评估: 大模型的文本生成可以使用BLEU、Rouge之类的指标。

  • 系统效应: 短板效应和接近效应对评估方案的影响。

img6

img7

img8

img9

img10

img11

系统效应 [1]

  • 短板效应: 某一个模块质量不行对整体的影响会很大,越偏上游的问题影响越大。

  • 接近效应: 两个模块越接近,两者的影响程度越高。

  • 知识依赖问题: RAG解决的是知识依赖问题,这与大模型的Context Length并无直接关联。

  • 信息反馈及时性: 模型对信息反馈的及时性不足,新发布的模型可能对新知识不了解。

  • 显存优势: RAG检索的方式能在低显存占用的情况下高效利用文档信息。

img6

img7

Related Videos

<br><br>

<div class="-md-ext-youtube-widget"> { "title": "\u3010Advanced RAG - 02\u3011GPT-4V\u5b9e\u73b0\u591a\u6a21\u6001RAG", "link": "https://www.youtube.com/watch?v=WoFU4lpy-4M", "channel": { "name": ""}, "published_date": "Nov 22, 2023", "length": "" }</div>

<div class="-md-ext-youtube-widget"> { "title": "\u7b2c\u4e00\u7bc7: \u5148\u8fdb\u7684RAG\u7ba1\u9053(Advanced RAG Pipeline) \u4e2d\u82f1\u6587\u5b57\u5e55", "link": "https://www.youtube.com/watch?v=6wT25y67oBA", "channel": { "name": ""}, "published_date": "Dec 25, 2023", "length": "" }</div>