基于模型内部的检索增强型生成答案归属方法:MIRAGE

人工智能咨询培训老师叶梓 转载标明出处

在自然语言处理(NLP)中,确保模型生成答案的可验证性是一个重要挑战。特别是在检索增强型生成(RAG)用于问答(QA)领域时,如何验证模型答案是否忠实于检索到的来源是一个关键问题。近期一种名为自引用提示的方法被提出,以使大型语言模型(LLMs)在生成答案的同时生成对支持文档的引用。然而,自引用的LLMs经常难以匹配所需格式,引用不存在的来源,并且未能忠实反映LLMs在生成过程中对上下文的使用。针对这一问题,荷兰格罗宁根大学和阿姆斯特丹大学的研究者们提出了一种名为MIRAGE(Model Internals-based RAG Explanations)的新方法。

方法

MIRAGE是一种插件式方法,利用模型内部信息来忠实地归属RAG应用中的答案。该方法首先通过测量输入上下文引起的语言模型预测分布的变化来识别对上下文敏感的答案标记。然后,它使用基于梯度的显著性或其他特征归属技术,将这种变化归因于上下文中的具体影响标记。MIRAGE通过将依赖上下文的生成句子与有助于其预测的检索文档匹配,并将结果对转换为标准答案归属(AA)格式的引用,从而适应RAG设置。

图1展示了MIRAGE模型内部答案归因框架的工作流程。

  1. 检测上下文敏感答案片段:MIRAGE首先识别出在生成的答案中哪些部分(答案片段)是受输入上下文影响的,这些片段用彩色表示,意味着它们与检索到的文档有直接关联。

  2. 匹配上下文线索:接着,MIRAGE将这些彩色的、上下文敏感的答案片段与检索文档中的相关线索进行匹配。这些线索是文档中影响答案生成的关键信息。

  3. 评估答案的可信度:通过上述匹配过程,MIRAGE评估模型生成的答案是否忠实于检索到的文档,即评估答案的可信度。

图3为MIRAGE的两步方法,这是对PECORE框架的扩展,用于RAG答案归因。第一步是CTI,检测生成中受上下文影响的标记;第二步是CCI,将检测到的标记归因回上下文中的具体标记。

步骤1:上下文敏感Token识别(CTI)

在这一步骤中,对于由查询q和上下文c提示生成的答案句子y中的每个token,使用对比度量(如KL散度)来量化当上下文存在或不存在时,在第i步生成时语言模型(LM)预测分布的变化。这些分数反映了每个生成token的上下文敏感性,并且可以使用选择函数sCTI转换为二进制标签。

公式1:

步骤2:上下文提示归因(CCI)

对于CTI步骤中识别的每个上下文敏感token yi,通过排除c但使用原始生成的前缀y<i来产生对比替代y\ci。然后,使用对比特征归因来获得每个上下文token cj的归因分数ai。

公式2:其中 ∇j 是上下文token cj 输入嵌入的梯度向量的L2范数。

归因分数再次二值化,形成上下文敏感生成token和影响其预测的输入上下文token的配对。

从细粒度归属到文档级引用

  • CTI过滤:通过设置选择函数sCTI的阈值m来获得离散标签,m 可以是校准阈值mCAL或示例级阈值mEX。
  • CCI过滤:通过设置选择函数sCCI的阈值ai*来提取细粒度文档引用,使用文档标识符docid(cj)作为上下文敏感token yi的引用索引。
  • 句子级聚合:按照标准句子级答案归属(AA)实践,将token级引用聚合为y中所有被引用文档docid()的并集。

公式5:

这种方法允许MIRAGE在保持高效率的同时,对大模型生成的答案进行细粒度的归属分析,从而提高答案的可验证性和可信度。

与人类答案归属的一致性

MIRAGE方法的评估始于将其预测与人类产生的答案归属进行比较。目的是评估MIRAGE框架在从大模型内部生成答案归属方面的性能,并非比较多种答案归属方法以声称最佳忠实度。研究者使用了XOR-AttriQA数据集,据他们所知,这是唯一一个公开的数据集,包含了由公开可访问的大模型生成的RAG输出的人类注释。

XOR-AttriQA包含500/4720个验证/测试元组,每个元组包含一个简洁的事实查询q、一组作为上下文c的检索文档,以及由mT5基础模型生成的单句答案y。人类注释者被要求标记元组(q, doci, y)以指示doci中的信息是否支持y的生成。重要的是,MIRAGE需要提取模型内部信息,这些信息导致生成了人类注释者评估的答案。因此,研究者执行了一个选择过程,以识别XOR-AttriQA示例,其中通过填充LM提示中的连接文档c产生的答案与提供的答案相匹配。产生的子集,被称为XOR-AttriQAmatch,包含142/1144个校准/测试示例,用于评估。

Table 2 展示了MIRAGE和基于蕴含的基线与人类答案归属在XOR-AttriQAmatch上的一致性百分比。结果显示,MIRAGE在与人类注释的一致性上与NLI MT系统相当或略好,尽管后者增加了自动翻译。尽管校准通常可以提高MIRAGE与人类注释者的一致性,但未校准的MIRAGE EX也表现出色,尽管没有访问外部模块或调整数据。这些发现证实了大模型的内部工作机制可以用来执行答案归属,即使在没有注释用于校准的情况下,也能与监督答案归属方法相媲美。

Muller等人(2023年)使用在NLI上微调的mT5 XXL模型来执行XOR-AttriQA上的答案归属。由于调整后的模型和调整数据都没有发布,研究者选择使用TRUE,这是一个微调的T5 11B模型,被证明与英语答案归属任务中的人类注释高度重叠。研究者在两种设置下评估TRUE与人类注释的一致性:NLI ORIG和NLI MT。在NLI ORIG中,直接评估所有示例,包括非英语数据。而在NLI MT中,所有查询和文档都使用Google Translate API翻译成英语。

Figure 4 展示了MIRAGE EX在不同Top-% CCI过滤阈值下与人类注释一致性的稳健性。结果显示,Top %值在3%到20%之间时,与人类注释的一致性相当高,表明这个过滤阈值可以不经过特别的参数调整被选择。

长形式QA的答案归属

由于XOR-AttriQA的例子来源于Wikipedia文章,其答案非常简洁,对真实世界答案归属评估的洞察有限。因此将评估扩展到ELI5,这是一个挑战性的长形式QA数据集,最近被用来评估大模型自引用能力。

ELI5数据集包含来自"Explain Like I'm Five" subreddit的开放式为什么/如何/什么查询,引发长形式的多句答案。对于评估,研究者使用了由Gao等人(2023a)改编的RAG版本的ELI5,其中包含每个查询的前5个匹配文档。答案归属任务是通过使用LLM生成多句答案,并识别支持答案句生成的文档来执行的。

Table 3 显示,MIRAGE为Zephyr β模型提供了答案归属精确度和召回率的显著提升,同时在LLaMA 2上大大提高了引用召回率,尽管精确度有所下降,但总体上提高了MIRAGE EX Top 5%设置的F1分数。这些结果证实了MIRAGE能够在更长、更复杂的设置中产生有效的答案归属,同时不使用自引用方法等外部资源。

Figure 5 可视化了Zephyr β生成的答案中,检索文档的token对于预测上下文敏感token '9'的归因分数分布,显示大多数上下文token在检索文档中获得的归因分数很低,只有少数几个token对生成的上下文敏感token '9'有贡献。这个例子也直观地解释了Top-%选择阈值的稳健性。最终,Top 5%的阈值足以选择包含生成token直接提及的文档。

由于MIRAGE EX用于选择上下文敏感token的m*EX阈值取决于生成答案的分数的平均值和标准差,预计生成答案的长度可能会影响引用质量。Figure 6 显示,对于较短的答案句子,MIRAGE的引用质量确实较低。然而,自引用也呈现出类似的趋势,除了最短长度范围(≤10个token)之外,MIRAGE的表现都优于自引用。未归因句子的比例(红线)表明,较低的质量可能是ALCE评估协议的副产品,其中未归因句子获得0精确度/召回率。未来人类注释的RAG数据集的可用性可能会更多地揭示这种效果。

为了更好地理解MIRAGE的性能,研究者检查了一些ELI5示例,其中MIRAGE与Zephyr β的自引用在归属上存在分歧。Table 4 和 Table 5 展示了两个案例,其中基于蕴含的TRUE模型的结果与MIRAGE或自引用一致。

在Table 4中,模型提供的答案直接得到Document [1]的支持,TRUE也识别了这一点。然而,自引用未能在两个句子的末尾引用相关文档。相比之下,MIRAGE将几个跨度归因于Document [1],为两个句子得出了正确的答案归属。尽管TRUE与人类判断的一致性很高,但在答案和支持文档之间存在高度词汇重叠的情况下,基于NLI的答案归属仍然可能不可靠。

Table 5 展示了这样一个案例,自引用和TRUE都将答案归因于Document [3],而MIRAGE没有将任何上下文文档标记为答案的重要文档。在这里,答案错误地声明条形码可以用来防止报警,而Document [3]提到代码可以用来在意外激活后取消报警。因此,尽管存在高度的词汇和语义相关性,但答案并不得到Document [3]的支持。TRUE在这种情况下的失败突出了基于蕴含的系统的敏感性,它们容易受到表面级相似性的影响,在模型的上下文使用不直接的情况下变得脆弱。

尽管MIRAGE在长形式问答(QA)的答案归属任务中展现出了显著的效果和稳健性,但仍存在一些局限性。首先,MIRAGE主要针对未经特别优化以执行自引用的大模型,这意味着对于那些已经将自引用能力整合进模型训练中的系统,MIRAGE可能不会产生同样的效果。其次,基于自然语言推理(NLI)的评估方法可能在面对复杂场景时显得脆弱,尤其是在模型的上下文使用并不直接时。此外,MIRAGE的适用性和模型大小限制了其在更广泛领域和更大模型中的泛化能力。对于更长的上下文,MIRAGE的计算成本可能会显著增加,尤其是在面对大型模型和大规模上下文时。

尽管存在这些挑战,MIRAGE的研究为利用大模型内部信息来开发忠实的答案归属方法提供了一个有希望的起点。

https://arxiv.org/pdf/2406.13663

https://github.com/Betswish/MIRAGE

相关推荐
风象南10 小时前
Claude Code这个隐藏技能,让我告别PPT焦虑
人工智能·后端
Mintopia11 小时前
OpenClaw 对软件行业产生的影响
人工智能
陈广亮11 小时前
构建具有长期记忆的 AI Agent:从设计模式到生产实践
人工智能
会写代码的柯基犬11 小时前
DeepSeek vs Kimi vs Qwen —— AI 生成俄罗斯方块代码效果横评
人工智能·llm
Mintopia12 小时前
OpenClaw 是什么?为什么节后热度如此之高?
人工智能
爱可生开源社区12 小时前
DBA 的未来?八位行业先锋的年度圆桌讨论
人工智能·dba
叁两15 小时前
用opencode打造全自动公众号写作流水线,AI 代笔太香了!
前端·人工智能·agent
前端付豪15 小时前
LangChain记忆:通过Memory记住上次的对话细节
人工智能·python·langchain
strayCat2325515 小时前
Clawdbot 源码解读 7: 扩展机制
人工智能·开源