微信扫码
与创始人交个朋友
我要投稿
在RAG模型的一个典型应用场景中,我们可以观察到其处理信息的高效能力。例如,当用户向聊天机器人ChatGPT提出有关OpenAI首席执行官Sam Altman在短时间内被解雇然后又被重新任命的事件时,由于ChatGPT的预训练数据没有包含这一最新动态,它无法提供答案。然而,RAG模型通过访问外部知识库,检索到与用户问题相关的最新新闻报道,有效地弥补了这一信息差距。这些报道被整合进原始问题中,形成一个详细的提示,使得ChatGPT能够结合这些最新信息,提供一个有根据且综合的回答。
RAG技术自2020年首次提出以来,便迅速成为研究领域的热点。其发展过程可以划分为几个显著的阶段,具体如图中所示。在最初的发展阶段,研究者们致力于探索如何将额外知识融入预训练模型中,以提升语言模型的综合能力。随着ChatGPT的推出,对大型模型进行深度上下文学习的兴趣显著增加,这为RAG技术的迅速发展注入了新的动力。
随着大型语言模型(LLMs)潜力的进一步挖掘,研究者们开始专注于提高模型的可控性,以适应不断变化的需求。RAG技术的研究逐渐转向增强模型的推理能力,并在微调过程中探索多种改进策略。特别是GPT-4的发布,标志着RAG技术进入了一个新的发展阶段。研究的重点转向了一种结合RAG和微调策略的新方法,并持续优化预训练方法,以实现更高效的知识整合和信息处理。
在 RAG 的技术发展过程中,我们从技术范式角度,将其总结成如下几个阶段:
朴素RAG(Naive RAG)
在前述案例中,我们见证了RAG的经典流程,通常称为朴素RAG。这一流程主要分为三个核心步骤:
1. 索引 — 将文档库分解为较短的片段(Chunks),并利用编码器创建向量索引。
2. 检索 — 根据问题与文档片段的相似度来检索相关的文档片段。
3. 生成 — 利用检索到的文档片段作为条件,生成对问题的回答。
进阶RAG(Advanced RAG)
朴素RAG在检索质量和生成响应的质量上面临一些挑战,并在增强过程中需要改进。为了解决这些问题,进阶RAG模型应运而生,它在索引、检索前和检索后阶段都进行了优化处理。通过更细致的数据清洗、文档结构设计和元数据添加,提高了文本的一致性、准确性和检索效率。在检索前阶段,可以通过问题重写、路由和扩展来减少问题与文档块之间的语义差异。在检索后阶段,可以通过重排序检索结果来避免“迷失在中间”的现象,或通过上下文筛选和压缩来缩短处理窗口。
模块化RAG(Modular RAG)
随着RAG技术的持续发展,出现了突破传统朴素RAG检索—生成框架的新技术。我们提出了模块化RAG的概念,它在结构上更为自由和灵活,集成了更多具体的功能模块,如查询搜索引擎、合并多个答案等。技术上,它融合了检索与微调、强化学习等方法。在流程设计上,对RAG的各个模块进行了精心设计和编排,形成了多样化的RAG模式。值得注意的是,模块化RAG并非凭空出现,而是在前两种范式的基础上继承和发展而来。进阶RAG是模块化RAG的一种特殊形式,而朴素RAG则是进阶RAG的一种特例。
RAG系统由三个关键组成部分构成:"检索"、"增强"和"生成",这三个词的首字母恰好对应RAG的缩写。构建一个高效的RAG系统,关键在于增强环节,它涉及到三个核心问题:应该检索什么内容?何时进行检索?以及如何利用检索到的内容?
检索增强的阶段:检索增强可以在预训练、微调和推理三个阶段实施,这影响着外部知识整合的深度,以及所需的计算资源。
检索增强的数据源:增强环节可以利用多种类型的数据,包括非结构化的文本数据,例如文本段落、短语或单词。同时,也可以使用结构化数据,如索引化的文档、三元组或子图。此外,还可以不依赖外部数据源,而是利用大型语言模型(LLMs)的内在能力,从模型生成的内容中进行检索。
检索增强的过程:最初,检索是一个单一的步骤。随着RAG技术的发展,出现了迭代检索、递归检索,以及由LLMs根据需要自行决定检索时机的自适应检索方法。这些方法使得检索过程更加灵活和高效。
除了RAG技术,大型语言模型(LLMs)的优化手段还包括提示工程(Prompt Engineering)和微调(Fine-tuning,简称FT)。这些方法各有其独特的优势和适用场景,它们在依赖外部知识以及模型调整需求上各有侧重。
RAG技术可以类比为给模型提供一本参考书,它通过定制化的信息检索来满足特定查询的需求。而微调则类似于学生通过不断学习来吸收和内化知识,更适合于模仿特定的结构、风格或格式。微调可以通过增强模型的基础知识、调整输出结果和教授模型执行复杂指令来提升性能和效率。不过,微调在整合新知识或快速适应新用例方面的能力相对较弱。
RAG和微调并非相互排斥,它们可以相互补充。将两者结合使用,可以发挥各自的优势,从而实现最佳的性能表现。通过这种方式,模型能够在保持知识更新的同时,也能够模仿和适应特定的输出要求。
RAG的评估方法涵盖了多种维度,主要聚焦于三个核心的质量评分:上下文相关性、答案的忠实度以及答案相关性。除此之外,评估还考察模型的四个关键能力:噪声鲁棒性、拒答能力、信息整合和反事实鲁棒性。这些评估标准综合了传统的量化指标和针对RAG特性的专门评估方法,尽管目前这些评估标准尚未完全统一。
在评估框架的构建上,我们可以看到RGB、RECALL等基准测试的存在,以及RAGAS、ARES、TruLens等自动化评估工具的应用,它们为全面评估RAG模型的性能提供了支持。这些工具和方法帮助我们从不同的角度衡量RAG模型的表现,包括评估的对象、所涉及的维度和具体的评估指标。通过这些综合的评估手段,我们能够更深入地理解RAG模型的性能,并探索其潜在的应用领域。
RAG技术的发展仍在持续进行中,未来研究的方向可以从以下三个方面进行展望:
1. AG的垂直优化
长下文长度:面对检索内容超出模型上下文窗口限制的问题,如何改进RAG以适应不受限制的上下文窗口?
鲁棒性:如何处理检索到的错误内容,以及如何增强模型对错误信息的过滤和验证能力?
与微调的协同:探索RAG与微调(FT)的结合方式,是采取串行、交替还是端到端的策略?
规模效应:研究RAG模型是否遵循规模法则(Scaling Law),以及在何种情况下可能出现逆规模法则现象。
LLM的角色扩展:探讨如何更深入地挖掘LLMs在RAG中的潜力,包括检索、生成和评估等不同角色。
程实践优化:研究如何降低大规模语料检索的延迟,并确保检索内容的安全性。
2. RAG的多模态拓展
探索将RAG技术应用于图像、音频、视频或代码等多模态数据的可能性,以增强单一模态任务的性能,并通过RAG理念实现多模态数据的融合。
3. RAG的生态系统构建
RAG技术的应用已经超越了问答系统,其影响力正在向推荐系统、信息抽取、报告生成等更广泛的领域扩展。
RAG技术栈正在迅速增长,市场上出现了更多针对性的RAG工具,如定制化工具以满足特定场景需求,简易化工具降低使用门槛,以及专业化工具面向生产环境。例如:用途定制化,满足更加聚焦场景的需求;使用简易化,进一步降低上手门槛的;功能专业化,逐渐面向生产环境。
这些研究方向不仅能够推动RAG技术的进一步发展,还可能为人工智能领域带来新的突破和应用场景。
53AI,企业落地应用大模型首选服务商
产品:大模型应用平台+智能体定制开发+落地咨询服务
承诺:先做场景POC验证,看到效果再签署服务协议。零风险落地应用大模型,已交付160+中大型企业
2024-11-15
复旦发布:最佳RAG方案
2024-11-15
破解PDF解析难题:RAG中高效解析复杂PDF的最佳选择
2024-11-15
RAG技术全解析:从基础到前沿,掌握智能问答新动向
2024-11-15
RAG在未来会消失吗?附RAG的5种切分策略
2024-11-15
HtmlRAG:利用 HTML 结构化信息增强 RAG 系统的知识检索能力和准确性
2024-11-15
打造自己的RAG解析大模型:表格数据标注的三条黄金规则
2024-11-13
RAGCache:让RAG系统更高效的多级动态缓存新方案
2024-11-13
Glean:企业AI搜索,估值46亿美元,ARR一年翻4倍
2024-07-18
2024-07-09
2024-05-05
2024-07-09
2024-05-19
2024-06-20
2024-07-07
2024-07-07
2024-07-08
2024-07-09
2024-11-06
2024-11-06
2024-11-05
2024-11-04
2024-10-27
2024-10-25
2024-10-21
2024-10-21