RAG,可以说是大模型时代最成功的落地模式之一,通过检索-生成的方式,极大的拓展了大模型的应用边界, 但是,RAG 在落地实践上却没有那么简单。相信做过 RAG 系统的小伙伴都碰到过如下的问题:
什么场景或问题下需要检索?1+2=?的计算题好像不需要,但为什么 1+2=3 好像就需要。
检索到的信息是否有用?是否正确?
检索到的信息怎么用?直接与用户的问题拼接还是需要进行信息压缩后拼接?
以什么逻辑进行召回?召回信息是否需要排序?
……
这些问题没有“放之四海皆准”的答案,在不同的场景、数据下,解决方案各不相同。
可以看出以下几个趋势:
专业化趋势:许多 RAG 变体都针对特定领域进行了优化,如医疗、金融、材料科学等
多模态融合:越来越多的 RAG 技术开始处理多模态数据,如视频、图像、文本的结合
安全性考虑:随着 RAG 技术的普及,安全性问题(如 RAG-Thief 所研究的)也开始受到关注
效率优化:新的 RAG 变体都在尝试通过各种方式提升处理效率,降低计算成本
看到区别了吧,AutoRAG 就像一个会自主思考的助手,知道该怎么一步步找到最准确的答案。同时,它还可以用自然语言解释自己的思考过程,让你明白它为什么这样做。这种透明度在实际应用中特别重要。
CORAG 则从另一个角度提出了解决方案。现有的 RAG 系统在选择文本块时往往独立考虑,忽视了文本块之间的相关性。这就像是在解答一个复杂问题时,只看到了各个零散的知识点,却没有将它们有机地联系起来。
CORAG 的核心创新在于使用蒙特卡洛树搜索(MCTS)来探索文本块的最优组合顺序,同时引入配置代理来动态调整系统参数。它就像是在玩一个高级版的拼图游戏:
不过,这种方法也有其局限性:构建和遍历策略树需要较多计算资源,参数的调整也需要仔细权衡。
可能 AssistantRAG 的作者出发点是想借鉴 Adapter 的思想,提出了一个很类似的设计:既然一个大模型的记忆能力有限,那么给主模型配备一个“专业秘书”模型。
MemoryRAG 采用了双重架构,一个负责处理长文本形成整体印象,另一个负责最终的回答生成。这种设计特别适合处理需要全局理解的复杂查询,比如分析文学作品中的人物关系、总结长篇报告等任务。
为了更好的利用外部的知识,RuAG 通过规则增强的方式来提升模型的理解能力。比如在天气预测场景中,与其让模型记住大量天气数据,不如教会它理解“如果温度超过 30 度且湿度低于 50%,那么天气晴朗”这样的规则。这种方法更容易理解和记忆,计算成本也较低。
随着 RAG 应用场景的不断增多,我们可能会遇到各种各样的数据,网页、PDF、文本、时序、音频、视频等等,每种数据类型都带来了独特的挑战。
在网页数据处理方面,HtmlRAG 提供了一个很巧妙的解决方案。它不是简单地把网页转换成纯文本,而是尝试保留那些传达重要含义的 HTML 标签。它首先会清理掉网页中的广告代码、样式表等“干扰信息”,但会保留那些传达重要含义的 HTML 标签。
比如说,“<h1>Windows 安装教程</h1>”这样的标签就会被保留,因为它告诉我们这是一个重要的标题。相比纯文本的方式,基于这样的结构化信息, HtmlRAG 能够更加高效的利用网页信息。
这就是论文提出检索增强预测(RAF)的核心思想。它会先在历史数据中找到类似的模式片段,看看那个历史数据之后模式是怎么变化的,再将这些历史经验作为预测的参考。
除了文本之外,有没有想过,RAG 的思想也是可以应用到视频理解场景的,但你知道现在的大语言模型处理长视频时会遇到什么问题吗?最主要的就是“记不住” - 上下文窗口的限制让它们难以处理长视频。
有的团队试图通过微调来扩展模型的处理能力,有的则尝试使用更大的模型。但这些方法要么需要大量训练数据,要么成本太高。
VideoRAG 提出了一个很独特的方法。它从不同角度来理解视频:
在材料科学领域,G-RAG 提供了一个非常创新的解决方案。它将图数据库整合到检索过程中,通过实体提取与关联、智能文档解析、图谱增强检索等技术,在准确性评分上远高于传统 RAG 系统。这种提升在材料科学这样需要精确信息的领域特别重要。
RAGDiffusion 为时尚电商领域提供了一个实用的解决方案。它像一个经验丰富的摄影师,通过分析输入的服装照片,在标准服装图片数据库中寻找相似的参考样本,再采用多层次的生成对齐策略,确保生成图片的高质量。
比较让人意外的是,这个系统的泛化性也非常的好,通过简单更新检索数据库,就能够处理全新的服装款式,这种灵活性在快速变化的时尚行业特别重要。
金融分析师每天要阅读大量的财报、公告、研究报告,而且时效性要求特别高。针对这种情况,研究者们开发了 MultiReranker 系统。它的工作方式如下:
首先,它会对用户的问题进行多维度的拆解和改写,比如当你问“Q3 的 ROE 是多少”时,系统会先理解:
然后,它采用了一个“多级筛选”的策略,就像是组建了一个金融分析师团队:
随着 RAG 技术在医疗、金融、法律等敏感领域的广泛应用,安全性问题日益凸显。RAG-Thief 的研究让我们清晰地看到了当前 RAG 系统中存在的安全隐患。
很多人可能会觉得疑惑:RAG 系统不是只会返回相关信息吗,怎么会有安全问题呢?但研究者通过巧妙设计的实验揭示了其中的风险。
想象一下,如果一家医院使用 RAG 系统来回答医疗咨询,当有人问“感冒有什么症状”时,系统会正常地返回一般性的医学知识。
但如果有人用特殊的方式提问,比如巧妙地设计问题来套取原始病例信息,系统可能就会不经意间泄露病人的隐私数据。论文发现,在没有特殊防护措施的情况下,攻击者能够提取出超过 70% 的知识库内容。
针对这些问题,也有一些可以探索的措施。例如,在系统层面,需要建立严格的访问控制机制,对检索内容进行脱敏处理,并建立完善的安全审计系统。在算法层面,可以引入噪声扰动和差分隐私技术,降低信息泄露的风险。在日常运营中,定期的安全评估和及时的漏洞修复也是不可或缺的。
最后,来一个小小的总结吧。RAG 的范式是简单可理解的,但真正落地实践的过程中,会有许许多多的问题和痛点。上面提到的 RAG 方法或框架,也只是给出了优化探索的方向,真正在自己的场景中发挥 RAG 的效果,还是有一段路需要摸索。
在实际中应用 RAG 的时候,可以进行综合的考虑,效果不佳的情况下可以尝试进行各种组合,在效果不达标的情况下,不要过度的考虑性能,毕竟,抛开效果谈性能也是耍流氓!
参考文献
[1] https://arxiv.org/pdf/2411.02959
[2] https://arxiv.org/pdf/2411.13773
[3] https://arxiv.org/pdf/2411.19443
[4]https://arxiv.org/pdf/2411.00744
[5]https://arxiv.org/pdf/2409.05591
[6]https://arxiv.org/pdf/2411.14110
[7]https://arxiv.org/pdf/2411.06805
[8]https://arxiv.org/pdf/2411.16523
[9]https://arxiv.org/pdf/2411.13093
[10]https://arxiv.org/pdf/2411.08249
[11]https://arxiv.org/pdf/2411.03349
[12]https://arxiv.org/pdf/2410.13085
[13]https://arxiv.org/pdf/2411.17073
[14]https://arxiv.org/pdf/2411.16732
[15]https://arxiv.org/pdf/2411.14592
[16]https://arxiv.org/pdf/2411.19528技术交流群邀请函 △长按添加小助手 扫描二维码添加小助手微信
请备注:姓名-学校/公司-研究方向 (如:小张-哈工大-对话系统) 即可申请加入自然语言处理/Pytorch等技术交流群 MLNLP 社区是由国内外机器学习与自然语言处理学者联合构建的民间学术社区,目前已经发展为国内外知名的机器学习与自然语言处理社区,旨在促进机器学习,自然语言处理学术界、产业界和广大爱好者之间的进步。 社区可以为相关从业者的深造、就业及研究等方面提供开放交流平台。欢迎大家关注和加入我们。