在当下自然语言处理的浩瀚世界里,大型语言模型(LLM)正悄然改变我们与知识碰撞和传递的方式。与此同时,召回增强生成(Retrieval Augmented Generation,简称 RAG)作为一种新颖的信息访问机制,也在不断突破传统生成模式的局限。然而,RAG 生成的答案往往会出现“幻觉” —— 即生成一些事实错误的信息,因此如何高效而透明地评估这些答案的正确性和信实性成为当务之急。本文将带您穿越实验室的神秘走廊,以一种小说般引人入胜的叙述方式,揭开一项旨在评测 RAG 系统的轻量化与鲁棒性背后秘密的面纱。
🌟 初遇 RAG —— 跨越知识的界限
在科学探索的旅途中,我们常常会遇到这样的困惑:当模型被问及超出其内置知识范畴的问题时,该如何从浩瀚的外部信息中取回答案?RAG 的出现正是为了解决这个问题,将检索和生成两大步骤融合,使得答案不仅基于模型内部所学,还能够利用外部知识库加以佐证。传统的评估方法(例如基于词元匹配的精确匹配或 F1 分数)在面对语义多样性以及信息扩展时显得捉襟见肘;而人工评估固然准确,却代价高昂且难以推广。于是人们寻求一种既便捷又透明的评测框架,这正是本文所探讨的主题。
本文所介绍的方法,以“正确性”(Correctness)和“信实性”(Faithfulness)作为评估切入点,提出了一整套基于量化、轻量化 LLM 的评测流程。这种方法不仅能给出连续得分,还能为每个回答内部分statement提供详细的解释,从而为我们判断所生成内容的可靠性提供了新的视角。
🔍 正确性评估:拆解事实与信息对比的艺术
在评估 RAG 生成答案时,首先引入了所谓的“正确性”(Correctness)指标。通俗来说,一个答案是否正确,取决于这份答案中的各个声明(statement)能否直接获得与“地面真相”(ground truth)的匹配支持。
想象一下,一个复杂的答案被切分成若干简单的陈述。例如,“爱因斯坦于1879年出生在巴塞罗那西班牙”这一复杂句被拆解为:
- “爱因斯坦出生于西班牙”
- “爱因斯坦出生于巴塞罗那”
- “爱因斯坦出生于1879年”
其中,每一个简单的声明都可单独验证是否与地面真相匹配。
本文采用了两种量化指标:
- 回召率:Recall=\frac{TP}{TP+FN},其中 TP(True Positive)代表被正确标记为支持的声明,FN(False Negative)则指那些在地面真相中存在却未与答案对齐的声明。
- F1 分数:F1=\frac{TP}{TP+0.5\times(FP+FN)},FP(False Positive)则为答案中存在但与地面真相不符的多余信息。
在实际应用中,针对不同场景,我们可以选择使用“回召率”来过滤那些额外冗余信息,或采用“F1 分数”来追求完美匹配,从而在一定程度上平衡解释信息的充分性与精炼性。
🔗 信实性评估:从上下文中寻找支持的蛛丝马迹
如果说正确性的评估侧重于答案和地面真相之间的直接匹配,那么“信实性”(Faithfulness)的评估则更多着眼于答案所依赖的背景或上下文信息。换句话说,一则答案是否可信,要看其中的声明是否能直接从提供的上下文中推导出来。
举个例子:假设一个回答中包含关于爱因斯坦童年时期在德国的表述,而对应上下文中却只提到了他在德国的生活,而未曾涉及巴塞罗那或西班牙的信息,那么这些关于巴塞罗那和西班牙的声明就应被视为不信实。为此,论文中采用了基于精确度的定义:
Precision=\frac{Passed}{Passed+Failed}
其中,若声明能够从上下文中直接推导出来,我们称该声明为“PASSED”;反之,则标记为“FAILED”。这种评估方法有效地降低了因为表面相似性可能导致误判的风险,为实际应用中的答案选择提供了有力支持。
🛠️ 评测流程的三大构件:简化器、评估器与解析器
评估系统的核心在于一个结构化的三段式流程,它们分别是:
简化器(Simplifier)
简化器的作用类似于将一大块复合蛋糕切成一片片小蛋糕。它会将输入答案和地面真相文本分别拆分成一系列基本的、独立的声明。这一过程通过 LLM 的少样本提示(few-shot prompting)进行,从而确保每条声明都是可以单独理解的基本信息单位。
评估器(Evaluator)
接下来,评估器会逐个比较生成的声明与相应的参照(无论是地面真相还是上下文),判断它们之间是否存在语义对应的关系。借助于 LLM 的语义理解能力,此步骤能够识别出即使表述不完全一致但意思相近的信息匹配。
例如,当答案中描述“爱因斯坦是物理学巨匠”而地面真相描述“爱因斯坦被广泛认为是有史以来最伟大的物理学家”时,二者将被视为匹配,从而被标记为 TP。
解析器(Parser)
因为评估器的输出多数为自然语言文本(包含诸如“VERDICT: TP”之类的标签),解析器的任务就是抽取这些结构化信息,并依据预设的正则表达式或约束生成方式(Constrained Generation)将其转换为可操作的数值指标。
在解析过程中,论文中介绍了两种方案:
基于正则表达式的确定性解析。例如,使用正则表达式 \bVERDICT:.*TP\b 来抓取所有被标为 TP 的声明。
基于 JSON 架构的约束生成,这种方法要求 LLM 在生成过程中严格遵守 JSON 结构规则,确保最终输出符合预期格式。
虽然约束生成在时间上可能更耗费,但它在处理模型输出不确定性上表现出更高的鲁棒性和一致性。
📚 数据集与实验设置:从自然提问到维基百科评分
为验证该评测框架,作者选择了两个主要数据集:
📖 Natural Questions 数据集
此数据集提取自多个问答数据集(如 SQuAD、HotpotQA 及 TopioCQA),其子集经过重新注释后包含 396 个样本。每个样本均包含问题、LLM 生成的答案以及相应的地面真相,且由一组学生进行二元注释(正确或错误),达到 92.42% 的互评一致率。
在此数据集中,我们主要关注答案正确性。为了与人工评注进行对比,论文采用了 Spearman 的 ρ 与 Kendall 的 τ 两种非参数相关系数,同时还计算了通过不同阈值下 F1 分数的面积(F1 AUC),以表达评测器在判别正确与错误答案时的分布分离程度。
🌐 WikiEval 数据集
WikiEval 则聚焦于信实性评测。数据集从 50 个维基百科页面抽取问题,并利用 GPT3.5 进行生成,生成时既有上下文信息的版本又有无上下文的版本。由人工标注员对比后确定哪一答案更具信实性,并形成一个可量化的准确率指标。
在该任务下,为减小由于两答案得分相近而产生的“平局”问题,评测指标采用了多层评分标准:
- 当高信实答案得分严格大于对比答案时得 1 分;
- 若两者得分完全相同,则得 0.5 分;
- 否则得 0 分。
这种评分方式保证了即便在得分分布有重叠的情况下,也能较好地区分优劣答案。
⚙️ 实验探索:轻量化 LLM 如何角逐重量级评估者的宝座
实验部分集中在量化 LLM 上的评估性能。为探讨轻量级模型在 4-bit 和 16-bit 精度下的表现,作者分别采用 Llama 和 Gemma 两大系列模型。实验采用的设置中,温度参数均设定为 1,以鼓励采样多样性,并通过少样本提示使每个阶段(简化、评估、解析)均能高效执行。
实验结果显示:
- 在正确性评估中,利用正则表达式解析(特别是第二版正则表达式允许更多字符插入)与约束生成解析各有千秋。例如,在 Llama3 8B 模型上采用第二正则表达式解析时,评测指标表现优异,而在不同模型上则发现确定性解析能够以更低时间开销达到稳定效果。
- 从密度分布图(如论文中的 Figure 2 和 Figure 3 可以直观感受到)看,正确答案与错误答案在分数分布上存在明显分离现象,这对于区分回答质量至关重要。特别值得一提的是,Gemma2 9B 模型虽然体量较轻,却在很多指标上接近甚至超过了 Llama3 70B 等重量级模型。
- 信实性评估实验中,我们注意到上下文信息对答案判断起到了关键作用。通过对照上下文与答案声明的匹配情况,可以发现那些具有“幻觉”倾向的生成答案,在信实性指标上的分布明显低于靠得住的答案。
在整体对比中,使用了诸如 bag-of-tokens Recall 指标作为基准对比,而轻量级 LLM 评测器在 F1 AUC 与相关度等指标上均展现出与企业级评估器(如 GPT3.5-Turbo)相媲美的表现,这无疑为 RAG 系统未来的可重复性实验和透明评估提供了新的技术路径。
🚀 跨越挑战:解析策略与未来展望
从解析技术来看,本文区分了两种途径:
- 确定性解析:基于固定正则表达式,快速而高效地解析输出。但在面对语言生成的多样性时,可能会出错;
- 约束生成解析:依照 JSON 架构,通过有限自动机的形式严格控制输出,尽管时间成本较高但能保证输出格式的一致性。
这种设计理念使得评测框架不仅拥有较强的解释性,同时也便于扩展与迁移到其它领域中,如金融问答场景等。论文结论中指出,正确答案和错误答案在得分分布上的“分离度”越高,评估指标的可靠性就越强——这也正是轻量级 LLM 评测器能够成为企业级“大黑箱”评估器有力的竞争者的原因。
对于未来的研究,作者建议探索混合评测方式,即不再依赖单一模型,而是通过多模型联合判断,进一步降低偏差并提升整体准确率。此外,如何更有效地处理复杂问题中各个子句的语义拆解,以及进阶优化解析策略,也是研究的热门方向。
✨ 总结:【真相就在细节之间】
在这场奇幻评测之旅中,我们逐步揭开了 RAG 系统生成回答背后的层层迷雾。从简化回答、逐句匹配、再到解析并量化分数,每一步都像是在解一道复杂的密码,既考验着模型的语言理解能力,又考验着我们对语义关系的把控。
轻量化 LLM 模型如 Llama3 70B 和 Gemma2 9B 的出色表现,证明了即便资源有限,也能获得与 GPT3.5-Turbo 等商业模型相近的评估效果。这不仅为学术界提供了一种低成本、透明且可重复的评测方法,也为实际应用中减少成本、提高效率开辟了一条新途径。
正如本文所展示的那样,我们不再满足于单维度的评判,而是力图从正确性与信实性两个方向,全方位捕捉模型生成答案中的每个细节。未来,无论是 RAG 技术本身的不断演进,还是评测方法的持续优化,都将为自然语言处理领域注入更多可能。
在这段旅程中,科学不再是冰冷的数据和公式,而是一场充满惊喜与探索的故事。正如我们在评测过程中看到的,每个被拆解出的陈述都犹如一个小小的故事,每个分数背后都藏着细腻的逻辑与判断。未来的研究者将继续沿着这条路走下去,不断探索如何在海量信息中找到真正的“真相”。
📑 参考文献
- Achiam, J. et al. (2023). GPT-4 technical report. arXiv preprint arXiv:2303.08774.
- Adlakha, V. et al. (2023). Evaluating correctness and faithfulness of instruction-following models for question answering. Transactions of the Association for Computational Linguistics.
- Es, S. et al. (2023). RAGAS: Automated evaluation of retrieval augmented generation. Proceedings of the 18th Conference of the European Chapter of the Association for Computational Linguistics: System Demonstrations.
- Manakul, P. et al. (2023). SelfcheckGPT: Zero-resource black-box hallucination detection for generative large language models. In Proceedings of the Conference on Empirical Methods in Natural Language Processing.
- Zheng, L. et al. (2024). Judging LLM-as-a-Judge with MT-bench and Chatbot Arena. Advances in Neural Information Processing Systems, 36.
通过对以上各个层面的详细探讨,我们相信这种面向 RAG 生成回答的轻量级、透明化评测方式,将为未来模型评价提供更加坚实和灵活的技术支撑,亦能帮助科技爱好者与开发者在无尽的信息海洋中把握住真正的“真相”。