
RbFT:针对RAG中检索缺陷的鲁棒性微调
总体而言,这篇论文针对RAG系统在面对检索缺陷时的脆弱性问题,提出了一种有效的鲁棒性提升方法RbFT,并在多个数据集上验证了其有效性,为实际应用中提高RAG系统的鲁棒性提供了有价值的解决方案。
今天给大家分享一篇最新的RAG论文:
论文题目:Enhancing Retrieval-Augmented Generation: A Study of Best Practices
论文链接:https://arxiv.org/pdf/2501.18365
论文代码:https://github.com/StibiumT16/Robust-Fine-tuning
研究动机
这篇论文旨在提高大型语言模型(LLMs)在检索增强型生成(Retrieval-Augmented Generation, RAG)系统中对检索缺陷的鲁棒性。具体来说,论文关注以下几个关键问题:
1. 检索缺陷的影响
RAG系统通过整合来自知识库的外部知识来增强LLMs,但其有效性受限于检索器和知识库的可靠性。现实世界中的检索器和知识库可能存在缺陷,导致检索到的文档包含不准确、不相关或误导性的信息。这会影响LLMs生成准确响应的能力,从而降低RAG系统的性能和可靠性。
2. 提高LLMs的鲁棒性
为了应对检索缺陷,论文提出了一种名为**Robust Fine-Tuning (RbFT)**的方法。该方法通过两个针对性的微调任务来增强LLMs对检索缺陷的抵抗力:
-
缺陷检测(Defects Detection):识别检索结果中的缺陷,例如不准确或不相关的信息。
-
效用提取(Utility Extraction):从检索结果中提取有用的信息,即使存在缺陷。
这两个任务共同提升了LLMs在面对有缺陷检索结果时生成准确响应的能力。
3. 保持高效率和兼容性
在提高鲁棒性的同时,RbFT还保持了高推理效率,并且能够与其他鲁棒性技术兼容。
相关研究
1. RAG框架和扩展:
-
Parametric RAG [43]:通过将检索文档离线参数化,直接将检索文档注入LLM参数中,以实现知识注入而不扩展输入上下文。
-
GraphRAG [12, 16, 32]:利用预构建的知识图谱检索与给定查询相关的图元素,这种方法在依赖结构化和关系信息的任务中表现出改进。
-
Dynamic RAG [20, 41, 42]:在生成过程中动态触发检索模块,以处理LLM在生成过程中的不确定性。
2. RAG系统的鲁棒性:
-
Adversarial Addition and Modification [10]:展示了自动化事实核查系统在面对合成对抗性证据时的脆弱性。
-
Misinformation and Corruption [30, 31]:探索了虚假信息(无论是手工制作还是由LLM生成)对开放域问答(ODQA)系统的威胁。
-
PoisonedRAG [61], GARAG [6] 和 Phantom [3]:通过在知识库中注入恶意文本,操纵LLM生成特定错误或有害的响应。
3. 针对RAG系统鲁棒性的策略:
-
Wellner et al. [52]:通过查询增强和基于答案冗余的新型置信度方法来提高鲁棒性。
-
RobustRAG [53]:采用“隔离然后聚合”策略,独立生成每个检索文档的答案,然后聚合这些答案以产生最终输出。
-
InstructRAG [51]:通过生成自合成的解释性理由来显式地对检索内容进行去噪,增强RAG系统的鲁棒性。
-
CRAG [54] 和 AstuteRAG [48]:通过从不同来源精炼和整合知识来提高知识利用和增强生成答案的鲁棒性。
这些相关工作主要关注于通过改进检索质量、优化检索流程或重组知识表示来提高RAG系统的鲁棒性。与这些工作不同,本文提出的RbFT方法专注于增强LLM的固有防御能力,通过减少对外部检索的依赖来根本上提高RAG系统的鲁棒性。
核心内容
论文通过提出Robust Fine-Tuning(RbFT)方法来解决检索增强型生成(RAG)系统对检索缺陷的脆弱性问题。RbFT方法包含两个主要的微调任务,旨在增强大型语言模型(LLMs)对检索缺陷的鲁棒性:
- 缺陷检测(Defects Detection):
-
此任务旨在训练LLM识别检索到的文档是否有助于回答用户的查询。
-
如果文档无用,LLM还需要将其分类为三种缺陷类型之一:噪声文档、不相关文档或反事实文档。
-
通过将原始检索文档替换为有缺陷的文档,并以一定的概率进行训练,增强LLM对输入的批判性评估能力。
- 效用提取(Utility Extraction):
-
此任务旨在训练LLM从有缺陷的检索结果中提取尽可能多的有用信息。
-
LLM可以直接利用提取的相关信息,或者利用相关上下文激活其内部的参数知识以生成正确答案。
-
同时,效用提取训练还使LLM能够直接且高效地处理低质量或受污染的上下文,而无需事先清理。
通过联合训练这两个任务,RbFT使LLM在复杂输入环境中提高对干扰的抵抗力,从而增强RAG系统的整体鲁棒性。具体来说,RbFT通过以下方式解决问题:
-
增强LLM的自我检测和提取能力:使LLM能够在现实世界的场景中保持高效和准确的输出,即使面对不完美或恶意的检索结果。
-
减少对外部检索的依赖:通过直接在LLM上进行训练,以提高其处理有缺陷检索输入的能力,从而根本上增强RAG系统的鲁棒性。
-
提高系统效率:RbFT只对LLM进行微调,保持了与原始RAG相当的推理速度,同时提供了更好的性能和鲁棒性。
论文通过广泛的实验评估表明,RbFT在各种检索缺陷条件下的性能均显著优于现有的最先进方法,证明了其在提高RAG系统鲁棒性方面的有效性。
论文实验
论文中进行了一系列实验来评估Robust Fine-Tuning (RbFT)方法的有效性,具体实验包括:
数据集和评估指标
-
数据集:实验在三个广泛使用的问答(QA)数据集上进行:
这些数据集涵盖了事实性问答和多跳问答任务。
-
Natural Questions (NQ)
-
HotpotQA (HQA)
-
TriviaQA (TQA)
-
评估指标:使用标准的QA评估指标:
-
精确匹配(Exact Match, EM)
-
令牌级别的F1分数(F1)
基线比较
RbFT与以下几种方法进行比较:
-
No RAG
-
Vanilla RAG
-
四种针对RAG系统的最先进的鲁棒性方法:
-
RobustRAG
-
CRAG
-
InstructRAG
-
AstuteRAG
数据生成
-
通过不同的方法模拟三种类型的缺陷文档:
-
噪声文档
-
不相关文档
-
反事实文档
-
使用不同的方法生成噪声和不相关文档,而反事实文档则采用两步生成策略。
实现细节
-
使用LLaMA-Factory工具包对两个LLMs进行微调:
-
Llama-3.2-3B-Instruct
-
Qwen2.5-3B-Instruct
-
微调进行了2个epoch,学习率为1e-5,每个设备的批次大小为16。
-
在评估阶段,使用不同的𝜏值(0.2, 0.4, 0.6, 0.8, 1.0)来模拟不同程度的检索缺陷,并特别关注:
-
𝜏 = 0.4(Normal设置)
-
𝜏 = 1.0(Hard设置)
主要结果
-
展示了在不同检索缺陷条件下所有方法的性能,包括在以下设置下的平均结果:
-
Clean(𝜏 = 0)
-
Normal(𝜏 = 0.4)
-
Hard(𝜏 = 1.0)
-
评估了RbFT在平衡有效性和鲁棒性方面的表现,并与其他方法进行了比较。
消融研究
-
对RbFT中的两个微调任务进行了消融实验,以探索它们各自的角色和相互补充的效果:
-
Defects Detection(缺陷检测)
-
Utility Extraction(效用提取)
案例研究
- 通过分析LLMs在不同检索缺陷下对输入文档的注意力分布,进一步分析了RbFT如何增强LLM的防御能力。
效率分析
- 评估了不同方法在推理期间的时间效率,报告了每个RAG系统处理单个用户查询所需的平均时间。
论文总结
总体而言,这篇论文针对RAG系统在面对检索缺陷时的脆弱性问题,提出了一种有效的鲁棒性提升方法RbFT,并在多个数据集上验证了其有效性,为实际应用中提高RAG系统的鲁棒性提供了有价值的解决方案。
如何学习大模型 AI ?
由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。
但是具体到个人,只能说是:
“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。
这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。
我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。
我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。
第一阶段(10天):初阶应用
该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。
- 大模型 AI 能干什么?
- 大模型是怎样获得「智能」的?
- 用好 AI 的核心心法
- 大模型应用业务架构
- 大模型应用技术架构
- 代码示例:向 GPT-3.5 灌入新知识
- 提示工程的意义和核心思想
- Prompt 典型构成
- 指令调优方法论
- 思维链和思维树
- Prompt 攻击和防范
- …
第二阶段(30天):高阶应用
该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。
- 为什么要做 RAG
- 搭建一个简单的 ChatPDF
- 检索的基础概念
- 什么是向量表示(Embeddings)
- 向量数据库与向量检索
- 基于向量检索的 RAG
- 搭建 RAG 系统的扩展知识
- 混合检索与 RAG-Fusion 简介
- 向量模型本地部署
- …
第三阶段(30天):模型训练
恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。
到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?
- 为什么要做 RAG
- 什么是模型
- 什么是模型训练
- 求解器 & 损失函数简介
- 小实验2:手写一个简单的神经网络并训练它
- 什么是训练/预训练/微调/轻量化微调
- Transformer结构简介
- 轻量化微调
- 实验数据集的构建
- …
第四阶段(20天):商业闭环
对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。
- 硬件选型
- 带你了解全球大模型
- 使用国产大模型服务
- 搭建 OpenAI 代理
- 热身:基于阿里云 PAI 部署 Stable Diffusion
- 在本地计算机运行大模型
- 大模型的私有化部署
- 基于 vLLM 部署大模型
- 案例:如何优雅地在阿里云私有部署开源大模型
- 部署一套开源 LLM 项目
- 内容安全
- 互联网信息服务算法备案
- …
学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。
如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。
这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费
】
更多推荐
所有评论(0)