RAG系统性能提升秘诀:数据结构决定上限,噪声唤醒模型判断力
SIGIR 2024论文颠覆性发现:在RAG系统中加入"噪声"数据可提升性能35%,而看似相关但无用的数据反而降低67%。这表明RAG性能主要由数据决定而非算法。适当噪声能防止模型注意力过度集中,提高判断力。构建优质RAG数据集需考虑结构层次清晰、信息密度适中、噪声适量等因素,未来RAG优化应转向数据结构优化而非仅改进算法。
前排提示,文末有大模型AGI-CSDN独家资料包哦!

引言
最近在看一篇很有意思的论文,题目叫 《The Power of Noise: Redefining Retrieval for RAG Systems》。这篇SIGIR 2024的论文,得出了一个看似“反直觉”的结论——
往RAG系统里加点“无关的数据”(噪声),反而能让大模型表现更好。

一、RAG的核心:不在算法,在数据?

近几年,Retrieval-Augmented Generation(RAG,检索增强生成)成了热门技术。它的逻辑很简单:大模型知道得不够多?那我就给它“查资料”——检索(Retrieve)外部知识,把最相关的段落拼(Embed)进prompt里,让模型回答得更准。
于是,大家都在比拼“谁的retriever算法更强”、“谁的embedding更先进”。但这篇论文提醒我们:RAG性能的真正决定因素,其实不是算法,而是——你喂给模型的数据。
这是因为,RAG的本质是让 LLM 在生成时,依赖外部检索到的知识片段(retrieved data)来构建答案。也就是说,LLM在推理阶段不再“完全靠记忆”,而是靠检索器选出的数据(retriever output)以及这些数据在 prompt 中的组织方式。
二、实验验证

作者基于 Natural Questions (NQ-open) 数据集,设计了多组对比实验,考察以下变量:
文档类型
- Gold:NQ数据集中的原始上下文,即包含答案且与给定Query具有上下文相关性的段落。
- Relevant:与Gold文档类似,包含正确答案,但同时提供其他正确且与Query相关的信息。
- Distracting:在语义上与Query相似但不包含正确答案的文档,在评估生成器区分相关和非相关信息的能力方面起着至关重要的作用。
- Random:既不与Query相关也不包含答案的文档,有助于评估模型处理完全不相关信息的能力。
文档位置
RAG过程所生成的prompt中,Gold文档所在位置与Query的距离:
- Far:远,更靠近Instruction的位置。
- Mid:居中。
- Near:靠近Query。
使用模型
- LLM:Llama2-7B、Falcon-7B、MPT-7B、Phi-2。
- Retriever:Dense retriever(Contriever、ADORE)与 Sparse retriever(BM25)。
结果表明,不管使用什么模型**:**
- 只加入Relevant文档时,模型表现正常
- 加入Distracting文档,准确率最高下降67%
- 加入Random文档,准确率反而最高提升35%
也就是说,模型最怕的是“看似相关但没用的数据”,而完全随机的噪声反而能“唤醒”它的判断力。
可能的解释是,单纯使用Gold文档时,模型注意力集中度过高,可能出现注意力熵塌陷(Entropy collapse),导致输入退化。而加入“噪声”后,注意力熵增加,模型反而更容易聚焦于正确信息。就像人类一样,适度的干扰反而让大脑保持警觉。
此外,从数据的组织方式看,Gold文档越靠近(Near)Query,性能越好,放在中间(Mid)或远离Query(Far)都会显著降低准确率。
三、构造好的RAG数据集

透过这篇文章可以看出,RAG的性能上限,不由模型决定,而由数据结构决定。那么问题来了,怎样才算一个好的RAG数据集呢?我们总结了以下三个层次:
结构层:层次清晰、可分块、可追溯。每个文档应有明确主题路径,支持按章节、段落、实体粒度检索,方便Retriever精准定位
语义层:信息密度高、噪声适中。能够保持一定的检索性能,既要包含正确答案,也要保留一定“噪声”防止过拟合局部内容
检索层:Embedding 友好、粒度适中。分块长度、语义连续性、上下文窗口对齐,能被retriever正确捕捉,保证高可检索性和上下文衔接
或许,我们应该重新定义RAG:它不是“增强模型(Model)”,而是“增强数据(Data)”。未来的RAG优化方向也不再是“换个Embedding模型”或“调个Retrieval参数”,而是“优化数据结构”、“有控制地引入噪声”,构建让模型更易懂的数据集。
结语
一个好的RAG系统,绝不是简单的“模型+数据库”,而是一个有结构、有语义、有弹性的知识生态系统。
噪声不是敌人,数据才是灵魂。
读者福利:倘若大家对大模型感兴趣,那么这套大模型学习资料一定对你有用。
针对0基础小白:
如果你是零基础小白,快速入门大模型是可行的。
大模型学习流程较短,学习内容全面,需要理论与实践结合
学习计划和方向能根据资料进行归纳总结
包括:大模型学习线路汇总、学习阶段,大模型实战案例,大模型学习视频,人工智能、机器学习、大模型书籍PDF。带你从零基础系统性的学好大模型!
😝有需要的小伙伴,可以保存图片到wx扫描二v码免费领取【保证100%免费】🆓


👉AI大模型学习路线汇总👈
大模型学习路线图,整体分为7个大的阶段:(全套教程文末领取哈)
第一阶段: 从大模型系统设计入手,讲解大模型的主要方法;
第二阶段: 在通过大模型提示词工程从Prompts角度入手更好发挥模型的作用;
第三阶段: 大模型平台应用开发借助阿里云PAI平台构建电商领域虚拟试衣系统;
第四阶段: 大模型知识库应用开发以LangChain框架为例,构建物流行业咨询智能问答系统;
第五阶段: 大模型微调开发借助以大健康、新零售、新媒体领域构建适合当前领域大模型;
第六阶段: 以SD多模态大模型为主,搭建了文生图小程序案例;
第七阶段: 以大模型平台应用与开发为主,通过星火大模型,文心大模型等成熟大模型构建大模型行业应用。
👉大模型实战案例👈
光学理论是没用的,要学会跟着一起做,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

👉大模型视频和PDF合集👈
这里我们能提供零基础学习书籍和视频。作为最快捷也是最有效的方式之一,跟着老师的思路,由浅入深,从理论到实操,其实大模型并不难。

👉学会后的收获:👈
• 基于大模型全栈工程实现(前端、后端、产品经理、设计、数据分析等),通过这门课可获得不同能力;
• 能够利用大模型解决相关实际项目需求: 大数据时代,越来越多的企业和机构需要处理海量数据,利用大模型技术可以更好地处理这些数据,提高数据分析和决策的准确性。因此,掌握大模型应用开发技能,可以让程序员更好地应对实际项目需求;
• 基于大模型和企业数据AI应用开发,实现大模型理论、掌握GPU算力、硬件、LangChain开发框架和项目实战技能, 学会Fine-tuning垂直训练大模型(数据准备、数据蒸馏、大模型部署)一站式掌握;
• 能够完成时下热门大模型垂直领域模型训练能力,提高程序员的编码能力: 大模型应用开发需要掌握机器学习算法、深度学习框架等技术,这些技术的掌握可以提高程序员的编码能力和分析能力,让程序员更加熟练地编写高质量的代码。
👉获取方式:
😝有需要的小伙伴,可以保存图片到wx扫描二v码免费领取【保证100%免费】🆓
更多推荐


所有评论(0)