SIGIR 25:人大+百度 揭秘RAG:LLM如何巧妙融合“大脑”与“外援”?
仅用于站内搜索,没有排版格式,具体信息请跳转上方微信公众号内链接
想象一下,你问一个LLM关于昨天新闻的问题,它可能会因为知识更新不及时而给出过时甚至错误的答案。为了解决这个问题,研究人员引入了一个强大的“外援”机制——检索增强生成(RetrievalAugmentedGeneration,简称RAG)。
尽管RAG取得了显著的进步,但我们对它内部的工作机制——LLM是如何巧妙地融合其内部知识和外部检索到的知识——仍然知之甚少。这就像我们看到了魔术的精彩,却不清楚魔术师的手法。
UnveilingKnowledgeUtilizationMechanismsinLLM-basedRetrieval-AugmentedGeneration
https ://arxiv. org/pdf/2505. 11995
本文深入探究了LLM在RAG场景下如何利用知识的内在机制,对知识在LLM内部的流动过程进行了“知识流分析”。他们发现,知识在LLM的不同层级中,会经历四个独特的阶段:
知识提炼(KnowledgeRefinement):在这个阶段,LLM会从检索到的外部信息中提取出最相关的关键点,就像从海量信息中筛选出金子一样。
知识启发(KnowledgeElicitation):LLM开始将提炼出的外部知识与自身已有的内部知识进行关联和整合,激发新的理解和洞察。
知识表达(KnowledgeExpression):LLM将融合后的知识转化为具体的语言表达,准备生成最终的回答或文本。
知识争夺(KnowledgeContestation):这是一个有趣的阶段,当内部知识和外部知识可能存在冲突时,LLM会进行一种“知识争夺”,以确定最终采纳哪一方的信息,或者如何进行调和。
过去,研究人员更多地关注如何让RAG在特定任务上表现得更好。但最近,大家的焦点开始转向更深层次的问题:RAG到底是如何利用知识的?现有研究已经开始探索检索增强对LLM知识边界的影响,并识别出RAG场景下影响这些边界的关键因素。也有研究关注当LLM同时利用内部参数化知识和外部上下文知识时,两者之间可能发生的冲突,并提出了修剪冲突模块以缓解冲突的方法。
尽管这些进展令人鼓舞,但目前我们仍然缺乏对RAG框架下LLM如何协调和整合内部(参数化)知识和外部(检索到)知识的全面机制性理解,尤其是在组成层面上。缺乏清晰的机制性洞察,就难以深入理解RAG的知识利用过程,也无法诊断基于Transformer架构的RAG可能出现的潜在问题。
RAG的解释性研究面临两大独特挑战:
非结构化数据:RAG的外部知识输入是非结构化数据,缺乏固定的格式。这增加了分析模型如何理解输入和提取信息作为参考的难度。
双重知识来源:RAG涉及内部和外部两种知识来源。这要求LLM整合并选择信息,需要对这些来源如何交互有细致的理解。
为了填补这一空白,本研究致力于对RAG框架下LLM的内在机制进行全面的、解释性的系统分析。我们提出了新的分析策略,从宏观层面的知识流和微观层面的模块贡献两个维度,来深入剖析Transformer架构中的知识利用机制。
我们主要关注两个核心研究问题:
知识如何在RAG框架内流动?为了回答这个问题,我们利用信息流方法定量评估知识在LLM每一层中的流动情况。这能帮助我们追踪内部和外部知识流在RAG框架中如何跨层演变。
LLM模块在知识利用中如何发挥作用?针对这个问题,我们引入了一种新方法,用于分析神经元、多头注意力(MHA)模块和多层感知机(MLP)模块在知识利用中的作用。这使我们能够进行有针对性的干预,调节LLM对内部知识或外部知识的依赖,从而更深入地了解这些模块的功能。
RAG的核心在于通过检索模块引入外部信息,从而增强模型的生成能力,使其能产生更准确、更符合上下文的回答。为了深入探究RAG中知识利用的机制,研究团队选择了其典型的应用场景——开放域问答(Open-DomainQuestionAnswering,ODQA)作为研究对象。
ODQA任务的目标是从庞大的外部知识库中提取相关信息,来回答一个给定的问题。这个任务涵盖了广泛的知识领域,并且允许LLM同时使用其参数化知识(即模型自身通过训练习得的“闭卷”知识)和检索增强的输入。这使得ODQA成为研究不同类型知识在不同设置下如何被利用的理想场景。
为了严谨地进行分析,研究团队基于ODQA任务,对LLM的内部知识和外部知识进行了形式化定义:
内部知识(InternalKnowledge):想象一下,你问一个LLM一个问题,它直接凭借自己“大脑”里已有的知识(也就是通过训练存储在模型参数中的知识),并遵循指令,就能生成一个答案。这个就被认为是LLM内部知识的直接体现。这展现了LLM自身处理知识密集型任务的能力。
数学表示为:
外部知识(ExternalKnowledge):当LLM被赋予RAG能力后,它会先通过一个检索器(Retriever),从一个大型语料库中检索出与问题相关的段落子集。然后,LLM会结合指令、问题和检索到的段落来生成答案。这个被视为LLM在生成过程中利用外部知识的具体体现。
数学表示为:
为了更清晰地区分,研究团队还制作了一张表格(与原文中的Table1相同),强调了这两种知识在获取阶段和存储机制上的不同:
类型
获取阶段
存储机制
训练
存储在LLM参数(权重)中
推理
作为上下文(检索到的文档)提供
简而言之,内部知识是LLM在训练时就“刻”在“脑子”里的,而外部知识则是在LLM需要回答问题时,临时从“外部资料”中“查阅”并引入的。
为了确保研究的严谨性和结论的普适性,研究团队在实验设置上做了精心安排。
为了全面探究RAG的知识流机制,研究人员选择了当下最流行的两个开源LLM家族进行分析:
LLaMA家族:包括不同版本和规模的LLaMA-3-8B、LLaMA-3. 1-8B和LLaMA-3-70B。
Qwen家族:研究了Qwen-2. 5-1. 5B和Qwen-2. 5-7B。
所有选用的模型都是基础版本(Baseversions),以确保分析的纯粹性,避免了微调带来的额外影响。
为了覆盖广泛的知识场景,研究团队收集了三个广泛采用的开放域问答基准数据集:
**NaturalQuestions(NQ)**:一个由真实Google搜索查询衍生的问答对数据集,答案由人类专家标注。
TriviaQA:包含冷知识问题、标注答案和支持证据文档。
HotpotQA:特点是问题需要多跳推理才能得出正确答案。
这些数据集涵盖了从直接事实查询到复杂推理的多种问答类型,为研究提供了丰富的实验素材。
为了保证检索增强的有效性,研究团队采用了开源的RocketQAv2作为段落检索器,并使用维基百科(Wikipediadump)作为外部知识语料库。
为了进行严谨的分析,他们采取了以下策略:
对于每个问题,检索最相关的段落,并只筛选出一个“金标准”段落。这个“金标准”段落与LLM的内部知识重叠度低,并且包含正确的答案。这确保了它作为LLM的外部知识来源是“新鲜”且“准确”的。
更巧妙的是,他们为每个查询构建了一个额外的“虚假段落”。这个虚假段落是基于“金标准”段落修改的,但将正确答案替换为不正确的信息。这种方法的优势在于,“虚假段落”中的知识是LLM完全没有见过的。这保证了LLM的内部知识与“虚假段落”中的外部知识之间没有任何重叠,从而能够更精确地观察外部知识对LLM行为的影响。
要理解知识的流动,我们首先需要一套科学的“追踪”方法。
在RAG系统中,知识流被定义为外部知识动态地融入模型处理过程的方式。这种融入是通过Transformer架构内部的token(词元)交互实现的。代表检索知识的token会影响最终响应的生成,并改变其他token的状态。通过观察这些交互模式,我们就能追踪知识在模型内部是如何被操作和利用的。
研究人员主要使用了两种方法来分析这些模式:基于注意力的信息流分析和基于显著性的信息流分析。这两种方法能够帮助我们探索信息流在不同层级上的变化,从而展现知识的流动过程。
在Transformer架构中,注意力分数直接反映了信息的流动。一个目标token的查询向量与一个源token的值向量的点积分数,决定了源token对目标token隐状态的影响程度。通过分析这些注意力分数在不同层级上的变化,我们可以评估LLM内部的直接信息流,从而深入了解信息是如何被动态管理和利用的。
为了便于分析,研究团队首先定义了RAG输入指令中的三个关键组成部分:
C(Context):用于检索增强的段落。
K(Key):LLM从上下文中提取的潜在答案(根据之前的定义)。
Q(Query):需要回答的问题。
A(AnswerPrompt):指令末尾引导模型生成答案的提示信息。
在此基础上,他们进一步定义了三个基于注意力分数的定量指标来评估信息流:
:信息从关键(Key)token流向上下文(Context)token的注意力流。
:信息从关键(Key)token流向查询(Query)token的注意力流。
:信息从关键(Key)token流向答案提示(AnswerPrompt)token的注意力流。
这些指标的计算公式如下:
其中,和代表上述定义的不同的组成部分token,代表第层中第个注意力头的注意力矩阵值。
除了注意力,研究人员还采用了基于梯度的显著性方法来分析RAG中的信息流。这种方法通过梯度评估特定输入或参数的边际效应。
具体来说,他们使用注意力指标和泰勒展开式计算显著性矩阵:
其中表示哈达玛积,是输入,表示监督微调损失。显著性矩阵衡量了信息流跨token的重要性。与基于注意力的信息流指标类似,他们也定义了三个基于显著性分数的定量指标:、和,计算方式与注意力指标相同。
这种方法提供了更深层次的洞察,因为它考虑了从输入嵌入到输出的整个梯度路径,而不仅仅是单个注意力步骤,从而捕捉了在特定优化目标下token级别的影响力趋势。
通过基于注意力的信息流方法,研究团队描绘了RAG中知识转移的动态过程。他们量化了知识流,并分析了三个关键指标、和的变化。
图1展示了在LLaMA-3系列模型中,RAG信息流在不同LLM层级上的变化趋势,包括使用“金标准”段落和“虚假段落”的对比。
关键到上下文的信息流():这种信息流在早期层级表现出强烈而稳定的趋势,随后在更深层级略有下降。这表明LLM在早期层级会强烈地与上下文信息进行互动,以快速提炼和调整对上下文的理解。随着层级的深入,这种影响减弱,说明上下文信息已经变得稳定,不再需要过多的键-上下文互动。
关键到查询的信息流():这种信息流在初期增加,随后在更深层级减少。这暗示着当LLM处理外部知识时,它会逐渐将这些信息整合到查询的隐状态中。在更深层级,这种影响减弱,表明知识在这一阶段已经被LLM充分编码。
关键到答案的信息流():这种信息流在大约前四分之一的层级开始增加,然后在最后四分之一的层级逐渐减少。这表明外部知识在中间层级对答案生成过程有显著贡献,提高了LLM形成响应的能力。在更深层级,这种影响减少,因为LLM正在整合答案信息,对外部输入的依赖减小。
研究发现,在不同LLM家族和规模的模型中,这些趋势都保持了高度的一致性,这证明了研究结果的普遍适用性。
即使将“金标准”段落中的正确答案替换为不正确的“虚假段落”,信息流的模式也基本保持一致。这不仅改变了“关键”部分,也确保了内容与LLM的预训练数据不一致,消除了内部知识的干扰。尽管有这些变化,虚假段落的信息流模式与金标准段落的信息流模式基本保持一致。这突出表明,即使外部关键信息不正确,LLM的内部处理过程仍然保持稳定,进一步验证了研究结果的鲁棒性。
通过观察知识流,研究团队提出了一个重要的假设:知识在RAG中会经历多个流阶段。具体来说,他们划分了四个截然不同的阶段(如图2所示):
阶段1:知识提炼(KnowledgeRefinement)。在这个阶段,外部知识(通过上下文和关键信息之间的互动体现)被深度整合,使LLM能够充分理解上下文并提炼出核心的外部知识。
阶段2:知识启发(KnowledgeElicitation)。随着上下文信息的吸收,从关键信息到查询的知识流增强,将提炼后的上下文信息传递并塑造查询的表示。
阶段3:知识表达(KnowledgeExpression)。随着外部知识和查询之间持续的流动,外部知识开始显著影响最终答案的生成。
阶段4:知识争夺(KnowledgeContestation)。在LLM内部,外部知识和内部知识之间出现竞争动态,最终决定最终的答案。
值得注意的是,这些阶段并非严格离散,可能存在过渡层。
为了验证提出的RAG知识流四阶段假设的合理性,研究团队从基于显著性的信息流角度进行了印证分析。显著性分数代表了注意力信息流的变化趋势,反映了LLM在特定时刻是倾向于增强还是削弱知识的表达。
图4展示了LLaMA-3-8B模型在NaturalQuestions和TriviaQA数据集上,基于显著性的三个信息流指标、和在不同层级上的变化。
知识提炼阶段:LLM倾向于增加从上下文到关键信息的流量,进一步提炼外部知识。
知识启发阶段:LLM增强从关键信息到查询的流量。
知识表达阶段:LLM显著增加从关键信息到答案提示的流量。
知识争夺阶段:这种趋势保持稳定和一致。
更重要的是,图1中的知识流模式显示在最终阶段,从关键信息到答案的流量减少了,而显著性分析却显示LLM倾向于增强它。这种差异证实了在最终阶段,外部知识和内部知识之间确实存在竞争关系。
之前的研究表明,外部段落的相关性显著影响RAG场景下LLM的性能。基于此,研究团队强烈假设,给定段落相关性对RAG性能的影响,主要源于其对模型内部知识流动的冲击。本部分将探索在不同段落相关性设置下,RAG中知识流动的动态。
为了进行全面的评估,研究团队根据输入问题,将段落的相关性分为以下几类:
Positive(正向段落):包含正确答案的段落。
Hard(困难负向段落):与查询相关但缺乏正确答案的段落,从检索结果的前几名中抽取。
Hard-(较不困难负向段落):与查询弱相关但缺乏正确答案的段落,从检索结果中随机抽取。
Random(随机采样段落):与查询不相关且不包含正确答案的段落,从整个语料库中随机抽取。
图3展示了不同相关性段落对RAG知识流动的注意力影响。
总体趋势一致性:当处理不同相关性的段落时,知识流动的整体趋势保持一致。之前定义的四个阶段在所有三种不同相关性场景(图3的前三个子图)中都清晰可见。
相关性越高,信息流越明显:随着相关性降低,三种信息流的变化及其差异变得不那么明显。对于更相关的段落,外部知识流增加,表明LLM更广泛地使用这些段落来生成响应。
知识启发阶段是关键:图中的灰色虚线突出了知识启发阶段中的变化。这表明随着相关性的降低,LLM将外部知识整合到查询理解中的能力显著减弱。灰色虚线还标志了知识表达阶段中关键到答案的和关键到上下文的之间的差异。我们可以观察到,当处理不相关内容时,LLM会最小化其对外部知识的使用。
研究团队的发现表明,LLM内部存在着类似人类大脑的专门区域和神经元。不同类型的知识(内部知识和外部知识)似乎由不同的神经元进行处理和利用。在本节中,他们提出了一种方法来识别这些“知识专业户”神经元,并通过“停用”它们来改变模型对内部或外部知识的偏好。
要识别这些神经元,首先要理解神经元的“激活”机制。
LLM中的神经元激活与门控机制:像LLaMA这样的现代LLM,其MLP层采用了门控线性单元(GLU)的门控机制。简单来说,一个神经元被认为是“激活”的,如果它的激活值超过零。
研究人员将神经元的激活概率通过L1归一化,转化为反映内部和外部知识的激活概率分布。这能帮助他们更好地分离和分析与每种知识类型相关的神经元。
形式化地,对于模型第层的第个神经元,其激活概率计算如下:
其中,是Heaviside阶跃函数,将原始激活概率转换为分布,专注于知识类型。
其中,和分别是该神经元在内部知识(Closed-Book设置)和外部知识(RAG设置,使用金标准段落)情境下的L1归一化激活概率。
KAPE分数越低,表明该神经元对其中一种知识类型的激活概率高,而对另一种激活概率低,这使其成为一个“知识特异性神经元”。
识别流程:
计算每个神经元在RAG(金标准段落)和Closed-Book(仅内部知识)设置下的KAPE分数。
选择KAPE分数最低的前1%的神经元作为知识特异性神经元。
进一步筛选:只保留那些在RAG或Closed-Book场景中具有显著激活概率的神经元,确保它们确实对某种知识类型有强烈响应。
识别出这些神经元后,研究团队通过停用(Deactivation)实验来验证其选择的准确性和这些神经元的功能作用。
神经元停用实验:他们随机选择检索结果,并通过将内部和外部知识特异性神经元的激活值设为零,来测量生成过程中困惑度(perplexity)的变化。困惑度越低,表示模型生成文本的质量越高。实验在多个问答数据集上进行。
主要结果:表2展示了神经元激活操作对知识利用的影响,结果令人振奋:
这些发现清晰地表明,通过操纵神经元的激活,可以改变LLM对内部和外部知识的依赖,为构建可控的RAG系统提供了宝贵的见解。
当问题难度较低时,停用内部神经元对性能的影响更大。
当检索到的文档质量很高时,停用外部神经元会导致准确性降低。
使用金标准文档时,停用外部知识神经元会导致事实准确性显著下降,下降幅度比停用内部知识神经元更大。这表明模型在利用外部知识时,外部知识神经元发挥着关键作用。
反之,当使用噪声文档(包含不正确信息的文档)时,停用外部知识神经元能够减少不相关内容的负面影响,提高了模型的准确性。而停用内部知识神经元则会让输出变得不那么准确。这说明这些外部知识神经元能识别并利用正确信息,也能被噪声信息干扰。
精准控制知识表达:
方法具有普适性:在NaturalQuestions数据集上识别出的知识特异性神经元,在TriviaQA和HotpotQA等其他数据集上测试时,也表现出一致的有效性。这表明该方法不仅适用于单跳问答,也适用于多跳问答任务。在LLaMA和Qwen模型家族中也观察到了一致的模式,进一步证实了该方法的普适性。
影响受问题难度和检索质量影响:
案例研究:图6展示了两个生动的案例,说明了知识特异性神经元停用如何影响知识利用倾向:
这两个案例直观地展现了通过“编辑”神经元,可以对LLM的知识利用行为进行精准干预。
案例一:模型初始被不正确但相关的外部段落误导。通过停用外部知识神经元,LLM的依赖转向其内部知识,从而纠正了回答。
案例二:模型最初未能有效利用包含正确答案的外部段落。通过停用内部知识神经元,LLM利用外部数据的能力得到增强,成功整合了正确答案。
除了神经元,Transformer架构中的多头注意力(MHA)模块和多层感知机(MLP)模块也是LLM能力的核心。本节将进一步分析它们在知识利用中的作用。
为了从模块层面进行研究,研究人员引入了残差流(ResidualStream)和早期解码(EarlyDecoding)两种方法。
残差流:在Transformer模型中,每个模块通过残差连接将新处理的信息添加到“残差流”中,这些贡献的总和构成了最终输出。这种设置能够隔离每个模块对隐藏状态的影响,从而揭示它们在生成最终答案中的作用。
早期解码:为了提高可解释性,早期解码策略将每个模块的增量更新投影到人类可读的词汇空间中。具体来说,在层归一化和线性变换之前,更新被映射如下:
其中,是第层的隐藏状态,是未嵌入矩阵,是预嵌入层归一化,是模型的词汇表。这种映射在中间层生成logits,作为一种早期退出机制。这些logits衡量模型在每个层级的预测,从而深入了解单个模块对输出的贡献。
研究人员评估了LLM中每个MLP和MHA模块在RAG设置下生成内部或外部知识的非嵌入logits。图7展示了使用金标准段落、虚假段落和随机检索段落作为外部知识来源时,内部或外部知识的非嵌入logits。
深层知识竞争的验证:实验揭示,内部和外部知识都开始在残差流的中间层显现。这表明MLP和MHA模块的参数在这一阶段开始显著促进内部和外部知识的形成。这印证了我们之前在3. 2.2节中对RAGLLM中知识表达和知识争夺阶段的划分。
MLP对外部知识正确性高度敏感:通过比较金标准段落和虚假段落的结果,研究发现,当外部知识源从金标准段落切换到虚假段落时,MLP对外部知识形成的贡献显著下降。考虑到金标准段落和虚假段落之间唯一的区别在于核心短答案的正确性,这表明MLP对外部知识的细粒度准确性高度敏感。相比之下,在类似条件下,MHA层中没有观察到显著的logits变化。这暗示MLP在验证知识准确性方面扮演着重要角色。
MLP在知识选择中的作用:研究进一步验证了MLP在不同知识源选择中的作用,也佐证了神经元停用策略的合理性。他们观察到,内部知识的logits在不同外部文档下差异可以忽略不计,但MLP层的贡献却显著不同。通过停用负责这些变化的神经元,可以改变模型利用内部与外部知识的倾向。这为设计可控的RAG系统提供了进一步的洞察。
这项研究对LLM在RAG框架中如何整合内部(参数化)和外部(非参数化)知识进行了开创性的探索。
宏观层面,我们识别出四个独特的知识利用阶段(知识提炼、知识启发、知识表达和知识争夺),揭示了内部和外部知识如何生成并相互作用。经验结果表明,检索到的证据的相关性是引导知识启发阶段的核心。
微观层面,我们引入了知识激活概率熵(KAPE)方法来识别知识特异性神经元。利用这个指标,我们证明选择性地停用这些神经元可以有效地调节LLM对每种知识类型的依赖。进一步的分析强调了多头注意力(MHA)和多层感知机(MLP)模块的互补作用:MHA模块促进了多源信息的整合,而MLP层则有助于确保最终输出中的事实一致性。
这些深刻的见解不仅提升了RAG系统的可解释性,也为设计更高效、更可控的LLM架构铺平了道路,使其能够更好地平衡参数化知识和上下文知识。
未来的工作将致力于完善这些机制,以改进实际应用,并扩展AI驱动的知识检索系统的边界,开发出能够更好地处理知识整合复杂性的更细致的模型。
#学习大模型&讨论Kaggle#
△长按添加竞赛小助手
每天大模型、算法竞赛、干货资讯
与36000+来自竞赛爱好者一起交流~