大模型RAG从入门到精通(非常详细)看这篇就够了,草履虫都能轻松看懂!!!

本文会先介绍几篇关于RAG优化的论文,再记录一些常见的RAG工程实践经验。

在大模型实际落地的时候,存在一些问题,主要集中在以下方面:

缺少垂直领域知识: 虽然大模型压缩了大量的人类知识,但在垂直场景上明显存在短板,需要专业化的服务去解决特定问题。

存在幻觉、应用有一定门槛: 在大模型使用上有一些幻觉、合规问题,没有办法很好地落地,配套工作不足,缺乏现成的方案来管理非结构化文本、进行测试、运营和管理等。

存在重复建设: 各业务孤立摸索,资产无法沉淀,存在低水平重复建设,对公司来说ROI低,不够高效。

站在应用的角度,需要一种能够有效解决大模型在垂直领域知识短板、降低应用门槛、提高效率并发挥规模优势的技术方案。

当前业内RAG是一种相对有效的解决上面问题的方案(平台化能力、开箱即用垂直私域数据)。

在这里插入图片描述

实现一个基本的不难,但要真正优化RAG的效果,还需要投入大量的精力。这里根据个人的理解,梳理总结一些常见的RAG优化方法,以便日后在实践RAG时提供参考。

首先,介绍几篇关于RAG优化的论文;

然后,记录一些常见的RAG工程实践经验;

希望能给大家带来一些参考,后续个人也会重点投入在RAG这块,希望和大家多多交流。

RAG介绍

RAG 是 “Retrieval-Augmented Generation”(检索增强生成)的缩写,它通过结合检索系统和生成模型来提高语言生成的准确性和相关性。

RAG 的优势在于它能够在生成响应时引入外部知识,这使得生成的内容更加准确和信息丰富,对于处理需要专业知识或大量背景信息的问题尤其有效。随着大型语言模型(LLMs)的发展,RAG 技术也在不断进化,以适应更长的上下文和更复杂的查询。

目前,大部分公司倾向于使用 RAG方法进行信息检索,因为相比长文本的使用成本,使用向量数据库的成本更低。

而在 RAG 应用过程中,一些公司会使用微调的 Embedding Model,以增强RAG 的检索能力;另一些些公司会选择使用知识图谱或者ES 等非向量数据库的 RAG 方法。

大多数第三方个人和企业开发者会使用集成好的 RAG 框架(例如llamaindex、langchain、etcs),或者直接使用LLMOps 里内建的RAG 工具。

相关优化论文

RAPTOR

论文地址:https://arxiv.org/pdf/2401.18059

传统的RAG方法通常仅检索较短的连续文本块,这限制了对整体文档上下文的全面理解。RAPTOR(Recursive Abstractive Processing for Tree-Organized Retrieval)通过递归嵌入、聚类和总结文本块,构建一个自底向上的树形结构,在推理时从这棵树中检索信息,从而在不同抽象层次上整合来自长文档的信息。

1.树形结构构建:

**文本分块:**首先将检索语料库分割成短的、连续的文本块。

**嵌入和聚类:**使用SBERT(基于BERT的编码器)将这些文本块嵌入,然后使用高斯混合模型(GMM)进行聚类。

**摘要生成:**对聚类后的文本块使用语言模型生成摘要,这些摘要文本再重新嵌入,并继续聚类和生成摘要,直到无法进一步聚类,最终构建出多层次的树形结构。

在这里插入图片描述

2.查询方法:

**树遍历:**从树的根层开始,逐层选择与查询向量余弦相似度最高的节点,直到到达叶节点,将所有选中的节点文本拼接形成检索上下文。

**平铺遍历:**将整个树结构平铺成一个单层,将所有节点同时进行比较,选出与查询向量余弦相似度最高的节点,直到达到预定义的最大token数。

3.**实验结果:**RAPTOR在多个任务上显著优于传统的检索增强方法,特别是在涉及复杂多步推理的问答任务中。RAPTOR与GPT-4结合后,在QuALITY基准上的准确率提高了20%。

代码:RAPTOR的源代码将在GitHub上公开。

数据集:实验中使用了NarrativeQA、QASPER和QuALITY等问答数据集。

参考视频:https://www.youtube.com/watch?v=jbGchdTL7d0

Self-RAG

论文地址:https://arxiv.org/pdf/2310.11511

SELF-RAG(自反思检索增强生成)是一种新框架,通过让语言模型在生成过程中进行自我反思,来提高生成质量和事实正确性,同时不损失语言模型的多样性。

主要过程:

解释:

生成器语言模型 M

检索器 R

段落集合 {d1,d2,…,dN}

**输入:**接收输入提示 ( x ) 和之前生成的文本 (y<t) ,其中(y-t)是模型基于本次问题生成的文本?

**检索预测:**模型 ( M ) 预测是否需要检索(Retrieve),基于 ( (x, y<t) )。

检索判断:

如果 ( Retrieve ) == 是:

1.**检索相关文本段落:**使用 ( R ) 基于 ( (x, y<t) ) 检索相关文本段落 ( D )。

2.**相关性预测:**模型 ( M ) 预测相关性 ( ISREL ),基于 ( x ),段落 ( d ) 和 ( y<t ) 对每个 ( d ) 进行评估。

3.**支持性和有用性预测:**模型 ( M ) 预测支持性 ( ISSUP ) 和有用性 ( ISUSE ),基于 ( x, y<t, d ) 对每个 ( d ) 进行评估。

4.**排序:**基于 ( ISREL ), ( ISSUP ), 和 ( ISUSE ) 对 ( y<t ) 进行排序。

如果 ( Retrieve ) == 否:

1.生成下一个段落:模型 ( M ) 基于 ( x ) 生成 ( y_t )。

2.**有用性预测:**模型 ( M ) 预测有用性 ( ISUSE ),基于 ( x, y_t ) 进行评估。

**传统RAG:**先检索固定数量的文档,然后将这些文档结合生成回答,容易引入无关信息或虚假信息。

**SELF-RAG:**通过自反思机制,按需检索相关文档,并评估每个生成段落的质量,选择最佳段落生成最终回答,提高生成的准确性和可靠性。

CRAG

论文地址:https://arxiv.org/pdf/2401.15884

纠错检索增强生成(Corrective RetrievalAugmented Generation, CRAG),旨在解决现有大语言模型(LLMs)在生成过程中可能出现的虚假信息(hallucinations)问题。

核心思想:

**问题背景:**大语言模型(LLMs)在生成过程中难免会出现虚假信息,因为单靠模型内部的参数知识无法保证生成文本的准确性。尽管检索增强生成(RAG)是LLMs的有效补充,但它严重依赖于检索到的文档的相关性和准确性。

**解决方案:**为此,提出了纠错检索增强生成(CRAG)框架,旨在提高生成过程的鲁棒性。具体来说,设计了一个轻量级的检索评估器来评估检索到的文档的整体质量,并基于评估结果触发不同的知识检索操作。

具体方法:

解释:

1、 输入和输出:

x 是输入的问题。

D 是检索到的文档集合。

y 是生成的响应。

2、 评估步骤:

scorei 是每个问题-文档对的相关性得分,由检索评估器 E 计算。

Confidence 是基于所有相关性得分计算出的最终置信度判断。

3、 动作触发:

如果置信度为 CORRECT,则提取内部知识并进行细化。

如果置信度为 INCORRECT,则进行网络搜索获取外部知识。

如果置信度为 AMBIGUOUS,则结合内部和外部知识。

4、 生成步骤:

使用生成器 G 基于输入问题 x 和处理后的知识 k 生成响应 y。
关键的组件:

1、检索评估器:

基于置信度分数,触发不同的知识检索操作:Correct(正确)、Incorrect(错误)和Ambiguous(模糊)。
2、知识重组算法:

对于相关性高的检索结果,设计了一个先分解再重组的知识重组方法。首先,通过启发式规则将每个检索到的文档分解成细粒度的知识片段。

然后,使用检索评估器计算每个知识片段的相关性得分。基于这些得分,过滤掉不相关的知识片段,仅保留相关的知识片段,并将其按顺序重组。

3、网络搜索:

由于从静态和有限的语料库中检索只能返回次优的文档,因此引入了大规模网络搜索作为补充,以扩展和增强检索结果。

当所有检索到的文档都被认为是错误的时,引入网络搜索作为补充知识源。通过网络搜索来扩展和丰富最初获取的文档。

输入查询被重写为由关键词组成的查询,然后使用搜索API(如Google Search API)生成一系列URL链接。通过URL链接导航网页,转录其内容,并采用与内部知识相同的知识重组方法,提取相关的网络知识。

实验结果

在四个数据集(PopQA、Biography、PubHealth和Arc-Challenge)上的实验表明,CRAG可以显著提高RAG方法的性能,验证了其在短文本生成和长文本生成任务中的通用性和适应性。

Dense X Retrivel

论文地址:https://arxiv.org/pdf/2312.06648

探讨在密集检索任务中,选择适当的检索单元粒度(如文档、段落或句子)的重要性,作者提出了一种新的检索单元“命题”(proposition),并通过实验证明,在密集检索和下游任务(如开放域问答)中,基于命题的检索显著优于传统的段落或句子检索方法。

**命题定义:**命题被定义为文本中的原子表达,每个命题包含一个独立的事实,并以简洁、自包含的自然语言形式呈现。命题代表文本中的原子意义表达,定义如下:

a.**独立意义:**每个命题应对应文本中的一个独立意义,所有命题的组合应能表示整个文本的语义。

b.**最小化:**命题应是最小的,即不能进一步分割成更小的命题。

c.**上下文自包含:**命题应是上下文化且自包含的。即命题应包含所有必要的上下文信息,以便独立理解其意义。

具体的方法:

具体的步骤:

分割段落为命题(A部分)

创建FactoidWiki(B部分)(命题化处理器将段落分割成独立的命题,从而创建了一个新的检索语料库FactoidWiki。)

比较不同粒度的检索单元(C部分)

在开放域问答任务中使用(D部分)

AI时代的职场新潮流

听说AI要来抢工作了?别担心,新岗位可比旧岗位有趣多了!想象一下,你从搬砖工升级成了机器人操作员,从算盘小能手变成了大数据分析师,这不是美滋滋吗?所以,社会生产效率提升了,我们也能更轻松地工作。不过,想成为AI界的佼佼者?那就得赶紧学起来,不然就会被同行们甩得连AI的尾巴都摸不着了!

如何学习AI大模型?

作为一名热心肠的互联网老兵,我决定把宝贵的AI知识分享给大家。 至于能学习到多少就看你的学习毅力和能力了 。我已将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

一、全套AGI大模型学习路线

AI大模型时代的学习之旅:从基础到前沿,掌握人工智能的核心技能!

img

二、640套AI大模型报告合集

这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。

img

三、AI大模型经典PDF籍

随着人工智能技术的飞速发展,AI大模型已经成为了当今科技领域的一大热点。这些大型预训练模型,如GPT-3、BERT、XLNet等,以其强大的语言理解和生成能力,正在改变我们对人工智能的认识。 那以下这些PDF籍就是非常不错的学习资源。

img

四、AI大模型商业化落地方案

img

作为普通人,入局大模型时代需要持续学习和实践,不断提高自己的技能和认知水平,同时也需要有责任感和伦理意识,为人工智能的健康发展贡献力量。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值