大模型如何通过人工指标来评估效果?有哪些常用的人工指标?
一、常用的大模型评价指标
常用的大模型评测指标有准确率(Accuracy)、精确率(Precision)、召回率(Recall)、F1分数(F1 Score)、ROUGE、Perplexity, BLEU等等,我们一一来解释这些指标是什么,适用于什么任务,以及这些指标是如何应用在评估任务中的。
F1 score
F1 score. 这个指标为基于深度学习的方法常用的评价指标,也可被用于大模型的实际效果评估
其中, Precision 为精确率,Recall为召回率,其计算分别为:
其中,TP(True positive)为真正例,TN(True nagative)为真负例,FP(False positive)为假正例,FN(False nagative)为假负例。简单来说就是预测正确的样本数量,除以全部的样本数量。即精确率可被解释为:在被识别为正类别的样本中,识别正确的比例。召回率可被解释为:在所有正类别样本中,被正确识别为正类别的比例。
对于一般的模型,精确率和召回率往往是此消彼长。也就是说,提高精确率通常会降低召回率,反之亦然。
而F1 score则为比较综合性的指标,其脱胎于F值,其计算公式为:
其中,权重因子a 的值取1时,即变为F1 score。
EM (Exact Match)
EM (Exact Match) 指标可被译为确切匹配或绝对匹配,是根据大模型给出的结果与标准值之间的匹配度来计算的。
取值范围:0~1,完全匹配时(生成的答案与参考答案完全相同,字符级匹配),EM值为1,不完全匹配时,EM值为0。
EM是一种比较严格的匹配,其衡量预测答案是否与标准答案完全一致。匹配的衡量方式比较呆板,可以设定一个阈值,来衡量完全匹配这个概念,比如:
BLEU:基于准确率,得分越高越好
BLEU(Bilingual Evaluation Understudy)指标是机器翻译质量评估中最广泛使用的自动化评测指标之一。BLEU通过比较机器翻译的结果与一个或多个参考译文之间的相似度来衡量翻译质量。
BLEU 主要是基于精确率(Precision)的。
主要思想:比较候选译文和参考译文里的 n-gram 的重合程度,重合程度越高就认为译文质量越高。通常取N=1~4,再加权平均。
取值范围:0~1,分数越接近1,说明翻译的质量越高。
- BLEU 需要计算译文 1-gram,2-gram,…,N-gram 的精确率,一般 N 设置为 4 即可,公式中的 Pn 指 n-gram 的精确率。
- Wn 指 n-gram 的权重,一般设为均匀权重,即对于任意 n 都有 Wn = 1/N。
- BP 是惩罚因子,如果译文的长度小于最短的参考译文,则 BP 小于 1。
- BLEU 的 1-gram 精确率表示译文忠于原文的程度,而其他 n-gram 表示翻译的流畅程度。
N-gram
使用机器学习的方法生成文本的翻译之后,需要评价模型翻译的性能,一般用C表示机器翻译的译文,另外还需要提供 m 个参考的翻译S1,S2, …,Sm。评价指标就可以衡量机器翻译的C和参考翻译S1,S2, …,Sm的匹配程度。
假设机器翻译的译文C和一个参考翻译S1如下:
C: a cat is on the table
S1: there is a cat on the table
则可以计算出 1-gram,2-gram,… 的精确率:
1-gram匹配:计算 a cat is on the table 分别都在参考翻译S1中,所以 p1 = 1
2-gram匹配:p2 (a, cat)在, (cat is) 没在, (is on) 没在, (on the) 在, (the table)在,所以p2 = 3/5
3-gram匹配: (a cat is)不在, (cat is on)不在, (is on the)不在, (on the table)在,所以 p3 = 1/4
上面的在或者不在, 说的都是当前词组有没有在参考翻译中,直接这样子计算 Precision 会存在一些问题,例如:
C: there there there there there
S1: there is a cat on the table
惩罚因子
上面介绍了 BLEU 计算 n-gram 精确率的方法, 但是仍然存在一些问题,当机器翻译的长度比较短时,BLEU 得分也会比较高,但是这个翻译是会损失很多信息的,例如:
C: a cat
S1: there is a cat on the table
因此需要在 BLEU 分数乘上惩罚因子:
优缺点
优点
- 它的易于计算且速度快,特别是与人工翻译模型的输出对比;
- 它应用范围广泛,这可以让你很轻松将模型与相同任务的基准作对比。
缺点
- 它不考虑语义,句子结构
- 不能很好地处理形态丰富的语句(BLEU原文建议大家配备4条翻译参考译文)
- BLEU 指标偏向于较短的翻译结果(brevity penalty 没有想象中那么强)
ROUGE:基于召回率,得分越高越好
ROUGE (Recall-Oriented Understudy for Gisting Evaluation)专注于召回率(关注有多少个参考译句中的 n- gram出现在了输出之中)而非精度(候选译文中的n-gram有没有在参考译文中出现过)。
ROUGE-N: 在 N-gram 上计算召回率
ROUGE-L: 考虑了机器译文和参考译文之间的最长公共子序列
ROUGE-W: 改进了ROUGE-L,用加权的方法计算最长公共子序列
ROUGE-S: 允许n-gram出现跳词(skip)
取值范围:0~1,分数越接近1,说明生成文本与参考文本匹配度越高。
在真实场景中,ROUGE得分通常分布在以下区间(具体取决于任务难度和文本长度):
低质量生成:0 ~ 0.3
中等质量生成:0.3 ~ 0.6
高质量生成:0.6 ~ 0.9
接近人类水平:> 0.9(罕见,除非生成文本与参考文本高度相似)
ROUGE 用作机器翻译评价指标的初衷是这样的:在 SMT(统计机器翻译)时代,机器翻译效果稀烂,需要同时评价翻译的准确度和流畅度;等到 NMT (神经网络机器翻译)出来以后,神经网络脑补能力极强,翻译出的结果都是通顺的,但是有时候容易瞎翻译。
ROUGE的出现很大程度上是为了解决NMT的漏翻问题(低召回率)。所以 ROUGE 只适合评价 NMT,而不适用于 SMT,因为它不管候选译文流不流畅
ROUGE-N
ROUGE-N 主要统计 N-gram 上的召回率,对于 N-gram,可以计算得到 ROUGE-N 分数,计算公式如下:
公式的分母是统计在参考译文中 N-gram 的个数,而分子是统计参考译文与机器译文共有的 N-gram 个数。
C: a cat is on the table
S1: there is a cat on the table
上面例子的 ROUGE-1 和 ROUGE-2 分数如下:
ROUGE-L
ROUGE-L 中的 L 指最长公共子序列 (longest common subsequence, LCS),ROUGE-L 计算的时候使用了机器译文C和参考译文S的最长公共子序列,计算公式如下:
公式中的 RLCS 表示召回率,而 PLCS 表示精确率,FLCS 就是 ROUGE-L。一般 beta 会设置为很大的数,因此 FLCS 几乎只考虑了 RLCS (即召回率)。注意这里 beta 大,则 F 会更加关注 R,而不是 P,可以看下面的公式。如果 beta 很大,则 PLCS 那一项可以忽略不计。
PPL (Perplexity)
(1)PPL定义
PPL的全称为Perplexity,中文名为困惑度,是衡量语言模型好坏的一个常用指标。
语言模型(language model)是用来预测句子中的next word的概率分布(probability distribution),并计算一个句子的概率。一个好的语言模型,应该给well-written 的句子更高的生成概率,阅读这些句子不应该让人感到困惑。
基本定义:PPL是语言模型对测试文本中每个token预测概率的倒数的几何平均数。
取值范围:[ 1 , + ∞ ),PPL越小(困惑度越低),则模型的性能越好。反之,PPL的值越大(困惑度越高),模型的性能越差。