4006-998-758
3000+课程任你选择
RAG课程详解
研发学院 RAG 开课时间:2024-10-31
Richard

  曾任百度资深算法专家,先后负责百度商业知识图谱、凤巢广告转化率算法等工作,多年搜索、大数据工作经验,专注自然语言处理与人工智能方向;

 现任腾讯系某子公司AIGC负责人,负责大模型、多模态、产研落地与知识管理与评估等多个团队工作,带领团队发布并落地内容行业垂类模型,并通过网信办备案;

  在多模态内容理解、角色对话、视频生成等多个方向有实际场景落地,有大量一线实操经验,搭建千卡规模集群,AIGC业务单日服务用户超百万,并走通商业化模式;

  曾获CCKS中文知识图谱大赛第一名,就职期间申请并有权的国家发明专利15+;中国计算机学会(CCF)上海自然语言处理专委(TF)委员; CCF-BDCI-2023第十一届大数据与计算智能大赛特等奖;


查看老师详情
课程内容

课程大纲:

1.     RAG概述

1.1 为什么需要RAG

1.1.1 大模型落地过程中的实际问题

1.     幻觉

2.     过时信息

3.     缺乏专业领域的知识

4.     推理能力弱

1.1.2 生产环境中的实际需求

1.     特定领域的准确回答

2.     数据频繁且实时更新

3.     生成内容的可追溯性和可解释性

4.     成本可控

5.     隐私保护(私有化部署)

1.2 RAG应运而生

在回答问题时,先检索领域相关片段文本,再让大模型根据这些片段输出答案;

通过附加一个外部知识库,无需特殊的训练任务重新更新整个大模型;

这种模式特别适合知识密集型任务。

1.2.1 大模型落地过程中的一般优化路径

除了 RAG,LLMs 主要优化手段还包括了提示工程 (Prompt Engineering)、微调 (Fine-tuning,FT)。他们都有自己独特的特点。根据对外部知识的依赖性和模型调整要求上的不同,各自有适合的场景。

一般来说,大语言模型优化的路径依次为:

1.     提示词工程(prompt engineering)

2.     检索式增强生成(RAG)

3.     指令微调(Fine-Tuning)

这三者的成本也是逐步上升的。

1.2.2 RAG 和微调的区分

RAG 就像给模型一本教科书,用于定制的信息检索,非常适合特定的查询。

另一方面,FT 就像一个学生随着时间的推移内化知识,更适合模仿特定的结构、风格或格式。FT 可以通过增强基础模型知识、调整输出和教授复杂指令来提高模型的性能和效率。然而,它不那么擅长整合新知识或快速迭代新的用例。RAG 和 FT,并不是相互排斥的,它们可以是互补的,联合使用可能会产生最佳性能。

1.2.3 RAG 的适用场景

一般来说,在遇到以下应用场景时,可以优先考虑RAG模式。

1.     知识数据长尾分布

2.     频繁的知识更新

3.     生成结果需要准确且可追溯

4.     细分垂类知识密集

5.     需要考虑数据隐私

具体的适用场景如下:

2.     RAG技术的范式演进

  2.1 经典的 RAG(Naive RAG)

前文案例中展示了经典的 RAG 流程,也被称为 Naive RAG。主要包括包括三个基本步骤:

1.     索引 — 将文档库分割成较短的 Chunk,并通过编码器构建向量索引。

2.     检索 — 根据问题和 chunks 的相似度检索相关文档片段。

3.     生成 — 以检索到的上下文为条件,生成问题的回答。

  2.2 进阶的 RAG(Advanced RAG)

Naive RAG 在检索质量、响应生成质量以及增强过程中存在多个挑战。

Advanced RAG 范式随后被提出,并在数据索引、检索前和检索后都进行了额外处理。

通过更精细的数据清洗、设计文档结构和添加元数据等方法,提升文本的一致性、准确性和检索效率。

在检索前阶段则可以使用问题的重写、路由和扩充等方式对齐问题和文档块之间的语义差异。

在检索后阶段则可以通过将检索出来的文档库进行重排序避免 “Lost in the Middle ” 现象的发生。

或是通过上下文筛选与压缩的方式缩短大模型所需窗口长度。

  2.3 模块化 RAG(Modular RAG)

随着 RAG 技术的进一步发展和演变,新的技术突破了传统的 Naive RAG 检索 — 生成框架,基于此我们提出模块化 RAG 的概念。

在结构上它更加自由的和灵活,引入了更多的具体功能模块,例如查询搜索引擎、融合多个回答。

技术上将检索与微调、强化学习等技术融合。

流程上也对 RAG 模块之间进行设计和编排,出现了多种的 RAG 模式。

 2.4 三种RAG模式的关系

然而,模块化 RAG 并不是突然出现的,三个范式之间是继承与发展的关系。

Advanced RAG 是 Modular RAG 的一种特例形式,而 Naive RAG 则是 Advanced RAG 的一种特例。

3.     RAG技术核心步骤

RAG 系统中主要包含三个核心部分,分别是 “检索”,“增强” 和 “生成”。正好也对应的 RAG 中的三个首字母。想要构建一个好的 RAG 系统,增强部分是核心,则需要考虑三个关键问题:检索什么?什么时候检索?怎么用检索的内容?

 3.1 RAG检索什么?

检索增强的数据源

增强可以采用多种形式的数据,包括非结构化的文本数据,如文本段落、短语或单个词汇。此外,也可以利用结构化数据,比如带有索引的文档、三元组数据或子图。另一种途径是不依赖外部信息源,而是充分发挥 LLMs 的内在能力,从模型自身生成的内容中检索。

 3.2 RAG什么时候触发检索?

检索增强的过程

最初的检索是一次性过程,在 RAG 发展过程中逐渐出现了迭代检索、递归检索以及交由 LLMs 自行判断检索时刻的自适应检索方法,检索频次逐步增强。

 3.3 RAG如何使用检索的内容?

在大模型推理输出的过程中,可以将模型集成到生成模型的不同层中。

检索增强的阶段:在模型的每一层均可加入检索的内容来进行干预。

数据层:惯用做法,使用简单,但只能支持有限长度的输入;

中间层:可以用embedding的方式输入更多的知识块,但也需要特殊的训练来理解这样的输入;

预测层:保证输出结果与检索片段直接相关,但也降低了大模型的特性;

 3.4 当前RAG增强能力发展综述回顾:

按照检索内容的结构化程度,以及检索结果所强化的大模型阶段,和检索所触发的事件,简单汇总历史工作如下图:

4.     RAG技术的细节实现

  4.1 数据准备阶段优化

   4.1.1 数据存储优化

考虑分块逻辑、滑动窗口逻辑,并筛选不重要的数据。

   4.1.2 结构化语料库

层次化检索语料库,例如一些复合对象文档(表格图表等),先检索其文档块,再获取其内部细节。

  4.1.3 检索源优化

结构化数据>非结构化数据>大语言模型自动生成的数据。

  4.1.4 KG作为检索数据源

把精准结构化内容作为检索的一部分

4.2 检索能力优化

  4.2.1 查询优化

  4.2.2

  4.2.3 检索过程优化

 4.3 混合(RAG + 微调)

 4.4 相关研究综述文献汇总

5.     如何评价 RAG?

RAG 的评估方法多样,主要包括三个质量评分:上下文相关性、答案忠实性和答案相关性。此外,评估还涉及四个关键能力:噪声鲁棒性、拒答能力、信息整合和反事实鲁棒性。这些评估维度结合了传统量化指标和针对 RAG 特性的专门评估标准,尽管这些标准尚未统一。

5.1 评估框架

在评估框架方面,存在如 RGB 和 RECALL 这样的基准测试,以及 RAGAS、ARES 和 TruLens 等自动化评估工具,它们有助于全面衡量 RAG 模型的表现。表中汇总了如何将传统量化指标应用于 RAG 评估以及各种 RAG 评估框架的评估内容,包括评估的对象、维度和指标,为深入理解 RAG 模型的性能和潜在应用提供了宝贵信息。

 5.2 评估流程

分节点评估,与端到端评估

6.     未来 RAG 还有哪些发展前景?

RAG 的发展方兴未艾,还有哪些问题值得进一步去研究?我们从三个方面进行展望:

  6.1 RAG 的垂直优化

垂直优化旨在进一步解决 RAG 当前面临的挑战;

长下文长度。检索内容过多,超过窗口限制怎么办 ?如果 LLMs 的上下文窗口不再受限制,RAG 应该如何改进?

鲁棒性。检索到错误内容怎么处理?怎么对检索出来内容进行过滤和验证?怎么提高模型抗毒、抗噪声的能力。

与微调协同。如何同时发挥 RAG 和 FT 的效果,两者怎么协同,怎么组织,是串行、交替还是端到端?

Scaling-Law:RAG 模型是否满足 Scaling Law?RAG 是否会,或是在什么场景下会出现 Inverse Scaling Law 的现象?

LLM 的角色。LLMs 可以用于检索(用 LLMs 的生成代替检索或检索 LLMs 记忆)、用于生成、用于评估。如何进一步挖掘 LLMs 在 RAG 中的潜力?

工程实践。如何降低超大规模语料的检索时延?如何保证检索出来内容不被大模型泄露?

  6.2 RAG 的多模态的拓展

如何将 RAG 不断发展的技术和思想拓展到图片、音频、视频或代码等其他模态的数据中?一方面可以增强单一模态的任务,另一方面可以通过 RAG 的思想将多模态进行融合。

  6.3 RAG 的生态

RAG 的应用已经不仅仅局限于问答系统,其影响力正在扩展到更多领域。现在,推荐系统、信息抽取和报告生成等多种任务都开始受益于 RAG 技术的应用。与此同时,RAG 技术栈也在井喷。除了已知的 Langchain 和 LlamaIndex 等工具,市场上涌现出更多针对性的 RAG 工具,例如:用途定制化,满足更加聚焦场景的需求;使用简易化,进一步降低上手门槛的;功能专业化,逐渐面向生产环境。

 



返回上一级