在2020年,Meta 发表了一篇名为“Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks”的论文。这篇论文介绍了一种通过利用外部数据库来扩展语言模型(LLMs)知识的方法,从而超越其初始训练数据。自那时以来,这种方法引起了研究人员的极大关注,并因其显著的优势成为了一个备受讨论的话题。这些优势包括能够轻松更新知识数据库,使较小的模型在特定任务上匹敌较大的模型,使生成结果能够泛化到训练数据之外的领域,减少幻觉的发生等等。
所有这些实验和发现都围绕着测量模型在给定任务上的性能展开。不幸的是,评估生成文本的质量是一个很大的挑战,因为生成文本本质上是开放且包容的。在“搜索”场景中,存在一个“理想”的文档排序,这使得可以通过简单的比较来衡量与理想排序的接近程度。然而,当涉及到评估生成文本在回答问题或总结内容方面的质量时,任务变得相当复杂。
在这篇博客中,我们将主要关注 RAG(Retrieval-Augmented Generation)问答任务,特别是封闭域问答。我们将深入探讨该领域常用的一些指标,并解释 Elastic 为有效监控模型性能所做的决策。
在这一系列指标中,主要思路是检查生成文本与“真实答案”的相似程度。基于这个想法有许多变体,我们这里只讨论其中的一些。
图1 - 用于计算 BLEU 的 1-gram 精度(也称为 BLEU-1),由这些不同 n-gram 的分数和一个额外的长度惩罚因子组成。
虽然这些指标是快速和简便评估 LLMs 的有用工具,但它们也有一些限制,使其不尽如人意。首先,它们在评估段落的流畅性、连贯性和整体意义方面显得不足。它们对词序也相对不敏感。尽管 METEOR 尝试通过同义词和词干来解决这个问题,这些评估工具缺乏语义知识,无法识别语义变化。这在有效评估长文本时尤为明显,将文本视为简单的段落集合过于简化。此外,依赖“模板答案”使其在大规模评估中成本高昂,并引入了对模板中使用的确切措辞的偏见。最后,对于特定任务,研究表明 BLEU 和 ROUGE 分数与人类判断之间的相关性实际上相当低。由于这些原因,研究人员尝试寻找改进的指标。
困惑度(通常缩写为 PPL)是评估语言模型(LLMs)的最常见指标之一。计算困惑度需要访问模型生成的每个词的概率分布。它衡量模型预测词序列的置信度。困惑度越高,模型预测观察到的序列的置信度越低。正式定义如下:
[ PPL{model} = \exp\left(-\sum{i=1}^{t} \log(P{\theta}(x_i \mid x{j \neq i}))\right) ]
其中,(\log(P{\theta}(x_i \mid x{j \neq i}))) 是模型根据句子中其他词(不等于 i)预测第 i 个词的概率的对数。为了说明,下面是一个仅包含三个词的词汇表的模型计算困惑度的示例。
图2 - 困惑度分数示例
困惑度的一个显著优势在于其计算速度,因为它仅依赖于输出概率,不涉及外部模型。此外,它往往与模型的质量有较强的相关性(尽管这种相关性可能因使用的测试数据集而异)。
尽管如此,困惑度也有一些限制,可能会带来挑战。首先,它依赖于模型的信息密度,使得难以比较词汇大小或上下文长度不同的两个模型。还无法在数据集之间比较分数,因为某些评估数据可能本身具有更高的困惑度。此外,它对词汇差异过于敏感,可能会因表达相同答案的不同方式而对模型进行惩罚,即使两者都是有效的答案。最后,困惑度不适合评估模型处理语言歧义、创造力或幻觉的能力。特别是在歧义方面,由于序列的其余部分无法确定的词会推高困惑度,但这些并不是生成或理解差的指标。它可能会对理解歧义比能力较差的模型更好的模型进行惩罚。由于这些缺点,NLP 社区探索了更高级的外在指标来解决这些问题。
内在指标和 N-gram 指标的一个显著缺陷在于它们没有利用语义理解来评估生成内容的准确性。因此,它们可能与我们期望的人类判断不太一致。基于模型的指标被认为是解决这一问题的更有前途的解决方案。
图3 - BARTScore 论文中不同指标在 WMT19 数据集上的 Kendall’s Tau 相关性
BERTScore 和 BLEURT 本质上可以看作是使用上下文表示的 n-gram 召回,而 BARTScore 更接近于困惑度测量,在目标文本和生成文本之间使用批评模型而不是模型本身。虽然这些基于模型的指标提供了强大的评估能力,但由于涉及外部模型,它们比 BLEU 或 PPL 慢。考虑到 BLEU 在许多生成上下文中与人类判断的相关性较低,这种权衡是合理的。简单的相似性基础指标仍然是选择 LLMs 的热门方法(如 Hugging Face leaderboard所见)。这种方法可能是一个合理的代理,但考虑到当前最先进 LLMs 的能力,它是不足够的。
UniEval 将所有评估维度统一到一个布尔问答框架中,允许单个模型从多个角度评估生成文本。例如,如果其中一个评估维度是相关性,那么可以直接问模型“这是对这个问题的相关答案吗?”。根据评估维度确定的一组任务,训练一个模型,使其能够根据这些维度评估生成文本。使用 T5 作为基础模型,UniEval 采用了两步训练过程。第一步,称为“中间多任务学习”,利用查询和上下文处理多个任务,这些任务统一为现有相关数据集中的布尔问答任务。随后,第二步是序列训练,模型逐维学习如何评估生成文本的不同方面。预训练的 UniEval 模型面向摘要,但我们认为 RAG 问答可以视为避免参数记忆以获得准确回答的积极总结任务。它在以下维度上进行了训练:
图4 - Topical-Chat 基准上所有 UniEval 维度的 Pearson 和 Spearman 相关性平均值
虽然 UniEval 非常强大,但截至我们撰写本文时,它尚未成为“最先进”的评估模型。似乎基于 GPT 的评估器,如 G-Eval,可能在与人类判断的相关性方面比 UniEval 更强(仅在基于 GPT-4 的评估器上下文中)。然而,必须考虑到显著的成本差异。UniEval 是一个 8 亿参数的模型,而 GPT-4 估计拥有巨大的 1.76 万亿参数。我们坚信 G-Eval-4 的轻微优势不足以证明其显著增加的成本是合理的。
我们刚刚开始探索 UniEval,并计划将其纳入未来涉及文本生成的多个令人兴奋的项目。然而,拥有这个评估模型后,我们决定通过解决三个具体问题来测试其能力。
我们能否轻松地用 UniEval 比较 LLMs 的质量?
这是当你拥有一个评估指标时最先想到的问题。它是预测 LLMs 质量的有效工具吗?我们对 Mistral-7b-Instruct 和 Falcon-7b-Instruct 进行了基准测试,以评估它们在流畅性、一致性、连贯性和相关性方面的可区分性。为此基准测试,我们使用了 18 个数据集中的 200 个查询,确保了多样化的上下文(包括 BioASQ、BoolQ、CoQA、CosmosQA、HAGRID、HotpotQA、MSMARCO、MultiSpanQA、NarrativeQA、NewsQA、NQ、PopQA、QuAC、SearchQA、SleepQA、SQuAD、ToolQA、TriviaQA、TruthfulQA)。给 Mistral/Falcon 的提示包括查询和包含回答查询所需信息的上下文。
图5 - UniEval 对 Mistral 和 Falcon 的评估,3600 个查询的分数分布。分数越高越好。
在这个特定实例中,很明显 Mistral 在所有评估维度上都优于 Falcon,使得决策相当简单。然而,在其他情况下,特别是当在相关性和一致性之间做出决定时,可能会更具挑战性,这两者对于 RAG 问答都非常重要。
“一致性分数”与模型生成的幻觉数量相关吗?
实验很简单。我们收集了约 100 个来自 SQuAD 2.0 数据集的查询。接下来,我们使用 UniEval 评估一个模型(在这种情况下是 Mistral-7B-Instruct-v0.1,但它可以是任何模型)。然后,我们手动检查和标注显示幻觉的生成文本。随后,我们创建一个校准曲线,以检查“一致性分数”是否是幻觉概率的可靠预测。在更简单的术语中,我们正在研究“一致性分数”和幻觉数量是否相关。
图6 - 一致性对幻觉检测的校准曲线
如所观察到的那样,一致性确实是幻觉概率的可靠指标,尽管它并不完美。我们遇到了一些幻觉微妙且难以识别的情况。此外,我们测试的模型有时提供了正确的答案,这些答案并非来自提示的上下文,而是来自其参数记忆。在一致性指标方面,这类似于幻觉,尽管答案是准确的。这就是为什么平均而言,我们检测到的幻觉数量比实际的真幻觉数量更多。在某些实验中,我们故意包含误导性提示,我们成功地误导了生成过程和我们的评估。这证明 UniEval 并非万能之物。
解码策略如何影响评估维度?
在这个实验中,我们想比较 Falcon-7b-Instruct 中不同的信息解码方法。我们在 18 个数据集中尝试了几种方法,每个数据集使用 5 个查询(总共 90 个查询):
图7 - 使用 UniEval 进行的解码策略基准测试
根据先前的研究,最有效的方法是对比解码。需要注意的是,尽管贪婪解码被认为是一种受限策略,但在这种情况下表现得相当不错。这可能归因于对短答案的关注(最多64个新token)或 UniEval 在评估“多样性”方面不够准确。
在这篇博客中,我们旨在介绍评估 LLMs,特别是在使用 RAG 进行问答方面的挑战。这个领域仍处于早期阶段,有大量的论文在这一主题上发表。尽管 UniEval 不是万能的解决方案,但我们认为它是一种有前途的方法,可以更精确地评估我们 RAG 管道的性能。这标志着 Elastic 在持续研究工作中的初步成果。我们始终致力于提升搜索体验,并相信像 UniEval 这样的解决方案或类似的方法将为我们的用户开发出更有价值的工具。
本文所述的任何功能或特性发布的时间和方式完全由 Elastic 决定。任何当前不可用的功能或特性可能不会按时交付,甚至可能根本无法交付。
Elastic、Elasticsearch 及相关标志是 Elasticsearch N.V. 在美国和其他国家的商标、徽标或注册商标。所有其他公司和产品名称是其各自所有者的商标、徽标或注册商标。
Elasticsearch 带来了许多新功能,帮助您为您的用例构建最佳的搜索解决方案。请探索我们的 示例笔记本 了解更多信息,开始 免费云试用,或者现在就在您的 本地机器 上试用 Elastic。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有