towardsdatascience.com/evaluating-text-generation-in-large-language-models-d4a4baee49a8
近年来,大型语言模型(LLM)在生成接近人类表达水平的文本方面取得了显著进展。为了评估这些模型所生成内容的质量,研究者提出了多种自动衡量指标,用以量化机器生成文本与人工撰写参考文本之间的语义相似度。缩小两者之间的差距,已成为自然语言处理领域的重要研究方向之一。
本文将重点介绍两种广泛使用的自动评估方法:BERTScore 和 Mauve,它们从不同角度对生成文本进行建模和比较。
BERTScore:基于上下文嵌入的语义匹配
假设我们有一段由人类撰写的参考文本,以及一段由大型语言模型生成的候选文本。传统基于n-gram重叠的指标(如BLEU)可能无法准确反映两者的语义一致性。例如:
- 参考文本:“今天天气很冷”
- 候选文本:“今天很冷”
尽管这两个句子在含义上高度相似,但由于词汇不完全重合,n-gram得分会偏低。为解决这一问题,BERTScore利用预训练语言模型中的上下文嵌入来计算语义层面的相似性。
具体而言,BERTScore通过以下步骤实现:
- 提取参考文本和候选文本中每个词元(token)的上下文向量表示;
- 计算所有词元对之间的余弦相似度;
- 基于最大相似度值,分别计算精度、召回率与F1分数。
其中:
- 召回率:对参考文本中的每个词元,取其在候选文本中最高的余弦相似度,然后求平均;
- 精度:对候选文本中的每个词元,取其在参考文本中最高的余弦相似度,再求平均;
- F1分数:是精度与召回率的调和平均值,用于综合评估整体匹配程度。
为进一步提升评估效果,BERTScore引入了“重要性加权”机制。该机制认为,在两个句子中共现的罕见词比常见词更能体现语义一致性。因此,采用逆文档频率(IDF)作为词元的重要性权重。
IDF的计算方式如下:
其中,
M 表示语料库中总句子数量,I 是一个指示函数,用于判断单词 w 是否出现在某一句子中。分子部分使用+1平滑技术,防止未登录词导致的零值问题。
结合IDF权重后,加权召回率的公式相应调整,从而更精准地反映关键信息单元的匹配情况。
最终,BERTScore的整体评分流程可总结为:
x
Mauve:从分布视角评估生成质量
不同于仅比较单个文本对的方法,Mauve从统计分布的角度出发,对比人类语言的真实分布P与语言模型生成文本的分布Q。
自回归语言模型通过对词汇表上的概率分布进行采样,逐个生成词元。Mauve的核心思想是:高质量的语言模型应使其输出分布Q尽可能接近真实的人类语言分布P。
在比较P与Q时,需考虑两类典型偏差:
- 第一类错误(假阳性):存在某些文本序列,其在模型分布Q中概率较高(
大),但在真实分布P中概率较低(Q(x)
小)。这意味着模型倾向于生成不符合人类表达习惯的内容;P(x) - 第二类错误(假阴性):存在符合人类语言习惯的文本,其在P中概率高(
大),但模型赋予其低概率(P(x)
小),说明模型未能充分覆盖真实语言模式。Q(x)
这两类错误可通过KL散度来衡量:
- KL(P||Q) 反映第一类错误;
- KL(Q||P) 对应第二类错误。
考虑两个离散分布P与Q的例子:
其中,
Q 是一个均匀分布,概率为1/3;而 P 则表现出不同的概率分配结构。
Mauve通过构建P与Q在隐空间中的近似表示,并绘制其累积分布曲线,进而计算二者之间的面积差异。该指标综合考虑了两个方向的KL散度行为,能够在高维空间中有效捕捉生成文本与真实文本之间的整体偏离程度。
下图展示了两个分布的对比情况:
KL(P||Q)假设一个分布的概率为 0.4,符合二项分布特征。我们可以据此计算 KL(P||Q) 与 KL(Q||P) 的 KL 散度,具体如下所示:
<…/Images/01179329f28336cd9fb9b6b8f17a46ed.png>
图片来自 [3]
然而,当两个概率分布的支持集不完全重合时,KL(P||Q) 或 KL(Q||P) 可能趋于无穷大,这种情况在自然语言生成任务中尤为常见。为了缓解这一问题,Mauve [2] 引入了一种新的解决方案——
分布混合方法
该方法通过构造混合分布来避免无限散度的问题,从而实现更稳定的比较。
<…/Images/d714ebfcabcab4a908d4032904e3dcea.png>
来自 [2] 的图片
借助这种混合策略,Mauve 能够量化“软 Type-I 错误”和“软 Type-II 错误”,并进一步构建一条反映二者权衡关系的
发散曲线
这条曲线由一系列二维数据点组成,每个点的第一个维度代表软 Type-I 错误率,第二个维度对应软 Type-II 错误率。整体上,这些点描绘出的轨迹即为发散曲线,用以刻画两种错误之间的平衡状态。
C(P,Q) 表示这组数据点的集合。而 Mauve(P,Q) 的值则定义为该发散曲线下方所覆盖的面积。
通常情况下,Mauve 值越大,说明生成分布 Q 与真实分布 P 越接近。
<…/Images/da3837d994ab0fb9a894ccf3438add1d.png>
来自 [2] 的图片
Mauve 的实际计算方式
在实际应用中,我们无法直接获取真实的文本分布 P,因此论文 [2] 提出了基于蒙特卡洛估计的方法来进行近似计算:
- 从真实分布 P 中采样文本实例 x,同时从生成分布 Q 中采样文本实例 x’。
- 收集足够数量的样本后,将它们输入编码器模型,提取对应的嵌入向量。
- 对 P 的所有嵌入向量执行聚类操作,划分为 k 个簇;同样地,使用 k-means 方法对 Q 的嵌入也进行 k 簇划分。
- 此时,每个分布的支持集大小为 k。每个簇标签的概率可通过落入该簇的样本比例来估算。
- 在获得 P 和 Q 的离散化(量化)分布之后,即可据此估算其 Mauve 分数,作为原始连续分布下 Mauve 的近似值。
研究人员通过实验对比了 GPT2 与 Grover 模型在不同解码策略下的发散曲线表现。结果表明,采用更大规模模型以及核采样(nucleus sampling)生成的文本,在 Mauve 指标下更贴近人类书写的真实文本 [2]。
<…/Images/7e52c8a53d280791276f01f02f7d425e.png>
来自 [2] 的图片
总结
本文介绍了两种用于系统评估大语言模型(LLM)生成文本与人类文本相似程度的指标。第一种是 BERTScore,它利用预训练模型(如 BERT)对文本中的标记进行编码,并通过成对余弦相似度来衡量语义一致性。第二种是 Mauve,该方法从分布层面出发,结合 KL 散度的混合机制,评估生成文本整体分布与真实分布之间的差异。
参考文献
- BERTScore: 使用 BERT 评估文本生成
- MAUVE:使用发散前沿测量神经文本与人类文本之间的差距
www.linkedin.com/in/minaghashami/
zh.wikipedia.org/wiki/Kullback%E2%80%93Leibler_divergence

雷达卡


京公网安备 11010802022788号







