LLM 指标 | PPL vs. BLEU vs. ROUGE-L vs. METEOR vs. CIDEr

LLM 指标 | PPL vs. BLEU vs. ROUGE-L vs. METEOR vs. CIDEr

困惑度(Perplexity, PPL)↓

PPL的意义非常明了,用于测量模型对生成文本的不确定程度,不确定程度越低,模型的表现就越好。其计算方法是计算句子每个token的平均对数似然,再过一个指数函数。

定义

给定一个长度为\(n\)的token序列:

\[S=(w_1,w_2,\cdots,w_n) \]

那么该序列的PPL为:

\[PPL(S)=\exp\big(-\frac{1}{N}\sum^N_{i=1}\log P(w_i|w_1,\cdots,w_{i-1}\big) \]

BLEU(Bilingual Evaluation Understudy)↑

BLEU出自文章BLEU: a Method for Automatic Evaluation of Machine Translation."
Proceedings of the 40th Annual Meeting of the Association for Computational Linguistics
,主要用以评估翻译任务中生成文本与参考文本的匹配程度。其更具体的形式BLEU@N 用以定义在\(1,2,\cdots,N\)-gram情况下,生成文本与参考文本的匹配程度,再通过一个**长度惩罚项(brevity penalty, BP)**避免模型的生成文本过短。

定义

给定生成文本为\(C\),参考文本为\(\{R_1,R_2,\cdots,R_m\}\)

首先我们定义modified n-gram precision:

给定N-gram \(g_n\),\(Count_S(g_n)\)表示在序列\(S\)中\(g\)出现的次数,那么我们可以定义modified N-gram precision:

\[p_n = \frac{\sum_{g_n\in C}\min(Count_C(g_n), \max_j Count_{R_i}(g_n))}{\sum_{g_n\in C}Count_C(g)} \]

通俗解释\(p_n\)定义了生成文本与参考文本之间的重叠程度,并且设定了每个词的出现次数上界为参考文本中出现次数上界。

接下来我们计算\(1,2,\cdots,N\)-gram的几何平均值(通常取\(n=1,2,3,4\))

有:

\[P=\exp(\frac{1}{N}\sum^N_{n=1}\log p_n) \]

接下来计算长度惩罚项BP

\[\text{BP} = \begin{cases} 1 & \text{if } c > r \\[2mm] \exp\left(1 - \frac{r}{c}\right) & \text{if } c \leq r \end{cases} \]

其中\(c\)为生成文本的长度,\(r\)为与生成文本\(c\)长度最接近的参考文本的长度

最后相乘得到BLEU

\[BLEU=P\cdot BP \]

ROUGE-L ↑

ROUGE-L(Recall-Oriented Understudy for Gisting Evaluation - LCS)通过计算最长公共子串LCS 评估生成文本与参考文本之间的匹配程度,为此给定生成文本\(C\)和参考文本\(R\),我们可以模仿混淆矩阵定义其precison,recall以及F1-score:

ROUGE- L Precison

\[P_{LCS} = \frac{LCS(C,R)}{|C|} \]

recall

\[R_{LCS}=\frac{LCS(C, R)}{|R|} \]

F1-scoure

\[F_{LCS}=\frac{2\cdot R_{LCS}\cdot {P_{LCS}}}{R_{LCS}+P_{LCS}} \]

METEOR

METEOR出自文章*Meteor: An Automatic Metric for MT Evaluation with High Levels of Correlation with Human Judgments* ,为了解决BLEU指标不能处理非精确匹配 以及语序不敏感的两个缺陷,加入了语义对齐以及碎片化惩罚因子两个步骤。

语义对齐

首先通过贪心算法对所有的词语进行一一匹配,这种匹配考虑精确匹配、词干匹配或同义词匹配

PS:细节再补上去

计算recall和precision

给定生成文本\(C\)以及参考文本\(R\),\(m\)为成功匹配的词语数量,我们分别可以计算其precision和recall

\[P=\frac{m}{|C|},R=\frac{m}{|R|} \]

计算F-score

通过上一步计算的precision和recall

\[F_{mean} = \frac{P\cdot R}{(1-\alpha)\cdot R + \alpha \cdot P} \]

其中\(\alpha\)为平衡recall和precision的权重,一般取\(\alpha = 0.9\)

计算碎片化惩罚项(fragmentation penalty)

生成文本中连续的匹配词会被同一个块(chunk)中,块的数量越多说明语序越不匹配,我们可以给出其定义:

\[FP =\gamma \bigg(\frac{\#\text{chunks}}{m}\bigg)^\beta \]

其中\(\beta\)定义了惩罚项函数的形状,\(\gamma\)定义了惩罚项的相对权重,一般取\(\beta = 3, \gamma=0.5\)

最后我们可以计算METEOR:

\[METEOR = F_{mean}*(1-FP) \]

CIDEr

CIDEr(Consensus-based Image Description Evaluation)出自文章*CIDEr: Consensus-based Image Description Evaluation*,主要用于Image Captioning任务中,评估生成文本与参考文本的匹配程度

通过计算TF-IDF N-gram向量的余弦相似度评估生成样本与评估样本的匹配程度

TF-IDF N-gram向量

给定生成文本\(C\)以及参考文本\(\{R_1,R_2,\cdots,R_m\}\),我们可以计算每个文本\(S\)的TF-IDF向量:

\[g_n(S)=[w_S(g_1),w_S(g_2),\cdots,w_S(g_k)] \]

其中\(w_S(g_k)\)为N-gram \(g_k\)在文本\(S\)中的TF-IDF权重,定义为:

\[w_S(g_k)=TF(g_k,S)\cdot\log\frac{m}{\sum^m_{i=1}\mathbf{1}(g_k\in R_i)} \]

其中\(\sum^m_{i=1}\mathbf{1}(g_k\in R_i)\)表示在N-gram \(g_k\)在多少个参考文本中出现了

N-gram向量余弦相似度

接下来我们可以计算生成文本\(C\)和所有参考文本之间的N-gram向量余弦相似度

\[sim_n(C,R_i)=\frac{g_n(S)\cdot g_n(R_i)}{||g_n(S)||\ ||g_n(R_i)||} \]

对所有参考文本取平均得到\(CIDEr_n\)

\[CIDEr_n(C,R) = \frac{1}{m}\sum^m_{i=1}sim_n(C,R_i) \]

计算CIDEr

接下来我们计算\(1,2,\cdots,N\)-gram情况的平均值(通常取\(n=1,2,3,4\))

\[CIDEr = \sum^N_{n=1}w_n\cdot CIDEr_n(C,R) \]

其中\(w_n\)为不同的N-gram情况的权重,一般取\(w_n=\frac{1}{N}\)

相关推荐
小途软件13 小时前
基于深度学习的人脸属性增强器
java·人工智能·pytorch·python·深度学习·语言模型
bl4ckpe4ch14 小时前
LLM提示词,究极提高效率【WIP】
llm·大语言模型·提示词工程·llm提示词
audyxiao00114 小时前
自动驾驶论文分享|TrajVAE:无需强约束即可灵活生成高质量行车轨迹
人工智能·机器学习·自动驾驶·neurocomputing
Hcoco_me14 小时前
大模型面试题46:在训练7B LLM时,如果使用AdamW优化器,那么它需要的峰值显存是多少?
开发语言·人工智能·深度学习·transformer·word2vec
Niuguangshuo14 小时前
理解MCMC、Metropolis-Hastings和Gibbs采样:从随机游走到贝叶斯推断
人工智能·神经网络·机器学习
棒棒的皮皮14 小时前
【深度学习】YOLO模型精度优化全攻略
人工智能·深度学习·yolo·计算机视觉
雍凉明月夜14 小时前
深度学习网络笔记Ⅴ(Transformer源码详解)
笔记·深度学习·transformer
摆烂咸鱼~15 小时前
机器学习(11)
人工智能·机器学习
星云数灵15 小时前
大模型高级工程师考试练习题4
人工智能·算法·机器学习·大模型·大模型考试题库·阿里云aca·阿里云acp大模型考试题库
田里的水稻15 小时前
E2E_基于端到端(E2E)的ViT神经网络模仿目标机械臂的示教动作一
人工智能·深度学习·神经网络