语言模型的评测

语言模型的评测

内在评测

在内在评测中,测试文本通常由与预训练中所用的文本独立同分布的文本构成,不依赖于具体任务。最为常用的内部评测指标是困惑度(Perplexity)

困惑度是衡量语言模型对测试文本预测能力的一个指标,它反映了模型对测试数据的"困惑"程度。困惑度越低,意味着模型对测试文本的预测越准确,语言模型的性能越好。

困惑度的计算公式如下:

P P L ( s t e s t ) = 1 P ( w 1 : N ) N = ∏ i = 1 N 1 P ( w i ∣ w < i ) N PP_L(stest) = \sqrt[N]{\frac{1}{P(w_1:N)}} = \sqrt[N]{\prod_{i=1}^{N} \frac{1}{P(w_i | w_{<i})}} PPL(stest)=NP(w1:N)1 =N∏i=1NP(wi∣w<i)1

这个公式也可以改写为:

P P L ( s t e s t ) = exp ⁡ ( − 1 N ∑ i = 1 N log ⁡ P ( w i ∣ w < i ) ) PP_L(stest) = \exp\left(-\frac{1}{N} \sum_{i=1}^{N} \log P(w_i | w_{<i})\right) PPL(stest)=exp(−N1∑i=1NlogP(wi∣w<i))

其中, P ( w i ∣ w < i ) P(w_i | w_{<i}) P(wi∣w<i) 表示给定前 i-1 个词的情况下,第 i 个词出现的概率。这个概率越大,说明模型对测试数据的预测越有信心,困惑度就越低。

困惑度与交叉熵(Cross-Entropy)

交叉熵是衡量两个概率分布差异的指标。

在语言模型中,交叉熵可以用来衡量模型生成的词分布与测试样本真实词分布之间的差异。困惑度实际上是生成模型生成的词分布的信息熵的上界,因此,困惑度的降低也意味着模型"胡言乱语"的可能性降低,即模型的预测更加准确和可靠。

外在评测

外在评测是评估语言模型在特定任务上性能的一种方法,它通过比较模型生成的文本和标准答案来进行。这种方法通常包括基于统计指标 的评测和基于语言模型的评测两种类型。

基于统计指标的评测

基于统计指标的评测方法通过构造统计指标来评估语言模型的输出与标准答案之间的契合程度,以此来衡量语言模型的生成能力。这种方法主要依赖于n-gram重合度、最长公共子序列(LCS)等指标,以及它们的变体,如BLEU和ROUGE。

BLEU(BiLingual Evaluation Understudy)

BLEU是一种精度导向的指标,主要用于机器翻译任务。它通过计算生成的翻译与参考翻译之间的n-gram重合程度来评估翻译的精度。BLEU的计算公式如下:

P r ( g n ) = ∑ i = 1 ∣ S g e n ∣ ∑ g n ∈ S g e n i Countmatch ( g n , S r e f i ) ∑ i = 1 ∣ S g e n ∣ ∑ g n ∈ S g e n i Count ( g n ) P_r(g_n) = \frac{\sum_{i=1}^{|S_{gen}|} \sum_{gn \in S_{gen_i}} \text{Countmatch}(gn, S_{ref_i})}{\sum_{i=1}^{|S_{gen}|} \sum_{gn \in S_{gen_i}} \text{Count}(gn)} Pr(gn)=∑i=1∣Sgen∣∑gn∈SgeniCount(gn)∑i=1∣Sgen∣∑gn∈SgeniCountmatch(gn,Srefi)

其中, P r ( g n ) P_r(g_n) Pr(gn)表示n-gram精度,分子计算了生成的翻译与参考翻译重合的n-gram个数,分母计算了生成的翻译中包含的n-gram总数。

BLEU得分是多个n-gram精度的几何平均,可以通过调整不同的n-gram长度和权重来得到更贴近人类评价的结果。此外,还可以通过设置惩罚项来调整BLEU得分,以考虑不同文本长度对翻译质量的影响。

ROUGE(Recall-Oriented Understudy for Gisting Evaluation)

ROUGE是一种召回导向的指标,主要用于摘要生成任务。它包含多种基于n-gram和基于LCS的召回指标,如ROUGE-N、ROUGE-L、ROUGE-W和ROUGE-S。

  • ROUGE-N是基于n-gram的召回指标
  • ROUGE-L是基于LCS的召回指标
  • ROUGE-W和ROUGE-S进一步发展了这些概念,分别引入了加权操作和基于Skip-bigram的召回指标。

ROUGE-N的计算公式如下:

ROUGE-N = ∑ s ∈ S r e f ∑ g n ∈ s Countmatch ( g n , s g e n ) ∑ s ∈ S r e f ∑ g n ∈ s Count ( g n ) \text{ROUGE-N} = \frac{\sum_{s \in S_{ref}} \sum_{gn \in s} \text{Countmatch}(gn, s_{gen})}{\sum_{s \in S_{ref}} \sum_{gn \in s} \text{Count}(gn)} ROUGE-N=∑s∈Sref∑gn∈sCount(gn)∑s∈Sref∑gn∈sCountmatch(gn,sgen)

其中, R r g R_{rg} Rrg和 R g r R_{gr} Rgr分别表示模型生成的摘要与参考摘要之间的最大公共子序列长度与参考摘要和模型生成的摘要之间的最大公共子序列长度。

基于语言模型的评测

基于语言模型的评测方法通常涉及复杂的数学计算和模型操作。主要关注语言模型生成的文本与参考文本之间的相似度或质量

基于上下文词嵌入的评测方法:

BERTScore:这种方法利用BERT模型的上下文词嵌入向量来计算生成文本和参考文本之间的相似度。

BERTScore通过比较生成文本和参考文本中每个词的BERT嵌入向量来计算精度(Precision)、召回(Recall)和F1量度。

BERTScore的计算过程主要包括以下几个步骤:

  • 使用BERT模型对候选句子和参考句子进行编码,得到每个词的上下文嵌入表示。
  • 计算候选句子中每个词与参考句子中每个词的余弦相似度。
  • 使用贪心匹配算法,为候选句子中的每个词找到参考句子中最相似的词。
  • 基于匹配结果计算精确率(Precision)、召回率(Recall)和F1分数。
  • List item

BERTScore的召回率
Recall = 1 ∣ Y ∣ ∑ y ∈ Y max ⁡ x ∈ X sim ( B E R T ( x ) , B E R T ( y ) ) \text{Recall} = \frac{1}{|Y|} \sum_{y \in Y} \max_{x \in X} \text{sim}(BERT(x), BERT(y)) Recall=∣Y∣1∑y∈Ymaxx∈Xsim(BERT(x),BERT(y))

其中,(x)和(y)分别表示候选句子和参考句子中的词,(BERT(x))表示词(x)的BERT嵌入表示。

BERTScore的精确率
Precision = 1 ∣ X ∣ ∑ x ∈ X max ⁡ y ∈ Y sim ( B E R T ( x ) , B E R T ( y ) ) \text{Precision} = \frac{1}{|X|} \sum_{x \in X} \max_{y \in Y} \text{sim}(BERT(x), BERT(y)) Precision=∣X∣1∑x∈Xmaxy∈Ysim(BERT(x),BERT(y))

其中,(X)和(Y)分别表示候选句子和参考句子中的词集合。

F1分数是召回率和精确率的调和平均值
F1 = 2 ⋅ Precision ⋅ Recall Precision + Recall \text{F1} = 2 \cdot \frac{\text{Precision} \cdot \text{Recall}}{\text{Precision} + \text{Recall}} F1=2⋅Precision+RecallPrecision⋅Recall

BERTScore的优势在于它利用了BERT模型的上下文嵌入,能够捕捉词语的语义信息,而不仅仅是表面的字符匹配。通过计算词嵌入的相似度,BERTScore可以识别同义词或相似表达,而不局限于完全相同的词语。

此外,BERTScore考虑了上下文信息,使得它能够更好地处理多义词等复杂情况。实验表明,BERTScore在句子级和系统级评估上都与人工判断有较高的相关性。

基于生成模型的评测方法:

G-EVAL:这种方法利用生成式大语言模型(如GPT-4)在没有参考文本的情况下对生成文本进行评分。G-EVAL通过提示工程(Prompt Engineering)引导模型输出评测分数。

  • 提示工程包括任务描述
  • 评分标准和评测步骤
  • 以及输入文本与生成的文本

G-EVAL通过加权平均机制对模型输出的得分进行改进,以提高评分的区分度。

例如摘要生成任务中的输入文本是原文,而生成的文本就是生成摘要。将上述三部分组合在一个prompt 里面然后输入给 GPT-4,GPT-4 便可给出对应的评分

相关推荐
HPC_fac1305206781616 分钟前
以科学计算为切入点:剖析英伟达服务器过热难题
服务器·人工智能·深度学习·机器学习·计算机视觉·数据挖掘·gpu算力
小陈phd3 小时前
OpenCV从入门到精通实战(九)——基于dlib的疲劳监测 ear计算
人工智能·opencv·计算机视觉
Guofu_Liao4 小时前
大语言模型---LoRA简介;LoRA的优势;LoRA训练步骤;总结
人工智能·语言模型·自然语言处理·矩阵·llama
ZHOU_WUYI8 小时前
3.langchain中的prompt模板 (few shot examples in chat models)
人工智能·langchain·prompt
如若1238 小时前
主要用于图像的颜色提取、替换以及区域修改
人工智能·opencv·计算机视觉
老艾的AI世界8 小时前
AI翻唱神器,一键用你喜欢的歌手翻唱他人的曲目(附下载链接)
人工智能·深度学习·神经网络·机器学习·ai·ai翻唱·ai唱歌·ai歌曲
DK221518 小时前
机器学习系列----关联分析
人工智能·机器学习
Robot2518 小时前
Figure 02迎重大升级!!人形机器人独角兽[Figure AI]商业化加速
人工智能·机器人·微信公众平台
浊酒南街9 小时前
Statsmodels之OLS回归
人工智能·数据挖掘·回归
畅联云平台10 小时前
美畅物联丨智能分析,安全管控:视频汇聚平台助力智慧工地建设
人工智能·物联网