语言模型的评测

news2024/11/25 16:38:57

语言模型的评测

内在评测

在内在评测中,测试文本通常由与预训练中所用的文本独立同分布的文本构成,不依赖于具体任务。最为常用的内部评测指标是困惑度(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 =Ni=1NP(wiw<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(N1i=1NlogP(wiw<i))

其中, P ( w i ∣ w < i ) P(w_i | w_{<i}) P(wiw<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=1SgengnSgeniCount(gn)i=1SgengnSgeniCountmatch(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=sSrefgnsCount(gn)sSrefgnsCountmatch(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=Y1yYmaxxXsim(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=X1xXmaxyYsim(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=2Precision+RecallPrecisionRecall

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

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

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

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

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

G-EVAL通过加权平均机制对模型输出的得分进行改进,以提高评分的区分度。
在这里插入图片描述
例如摘要生成任务中的输入文本是原文,而生成的文本就是生成摘要。将上述三部分组合在一个prompt 里面然后输入给 GPT-4,GPT-4 便可给出对应的评分

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2234204.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Golang | Leetcode Golang题解之第535题TinyURL的加密与解密

题目&#xff1a; 题解&#xff1a; import "math/rand"type Codec map[int]stringfunc Constructor() Codec {return Codec{} }func (c Codec) encode(longUrl string) string {for {key : rand.Int()if c[key] "" {c[key] longUrlreturn "http:/…

德国卡赫携丰硕成果七赴进博会

第七届中国国际进口博览会于11月5日在国家会展中心&#xff08;上海&#xff09;正式拉开帷幕。作为全球最大的清洁设备和清洁解决方案提供商&#xff0c;“全勤生”德国卡赫连续七年参展&#xff0c;并携集团旗下子品牌HAWK霍克一同亮相技术装备展区3号馆&#xff0c;更带来多…

IT架构管理

目录 总则 IT架构管理目的 明确组织与职责 IT架构管理旨在桥接技术实施与业务需求之间的鸿沟&#xff0c;通过深入理解业务战略和技术能力&#xff0c;推动技术创新以支持业务增长&#xff0c;实现技术投资的最大价值。 设定目标与范围 IT架构管理的首要目的是确立清晰的组织…

Rust项目结构

文章目录 一、module模块1.文件内的module 二、模块化项目结构1.关于module2.各个模块之间互相引用 三、推荐项目结构1.实例 参考 一、module模块 1.文件内的module 关键字&#xff1a;mod 引入模块中的方法 usemod名字&#xff1a;方法名usemod名字.*写全路径 二、模块化…

HiveSQL 中判断字段是否包含某个值的方法

HiveSQL 中判断字段是否包含某个值的方法 在 HiveSQL 中&#xff0c;有时我们需要判断一个字段是否包含某个特定的值。下面将介绍几种常用的方法来实现这个功能。 一、创建示例表并插入数据 首先&#xff0c;我们创建一个名为employee的表&#xff0c;并插入一些示例数据&am…

408——计算机网络(持续更新)

文章目录 一、计算机网络概述1.1 计算机网络的概念1.2 计算机网络体系结构1.3 总结 二、物理层2.1 物理层的基本概念2.2 物理层的基本通信技术2.3 总结 三、数据链路层3.1 数据链路层基础概论3.2 数据链路层的通信协议 一、计算机网络概述 1.1 计算机网络的概念 计算机网络的定…

正反shell反弹的区分

在shell反弹中我们会根据参照物的不同来区分正反shell反弹。 本次我们需要使用win和kali进行实验&#xff1a; 在shell反弹中我们需要在win上面安装netcat&#xff08;瑞士军刀&#xff09;用于可以执行监听指令。 下载指导链接https://blog.csdn.net/qq_40359932/article/d…

CSS的配色

目录 1 十六进制2 CSS中的十六进制2.1 十六进制颜色的基本结构2.2 十六进制颜色的范围2.3 简写形式2.4 透明度 3 CSS的命名颜色4 配色4.1 色轮4.2 互补色4.3 类似色4.4 配色工具 日常在开发小程序中&#xff0c;客户总是希望你的配色是美的&#xff0c;但是美如何定义&#xff…

Java 基于SpringBoot+Vue 的公交智能化系统,附源码、文档

博主介绍&#xff1a;✌程序员徐师兄、7年大厂程序员经历。全网粉丝12w、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专栏推荐订阅&#x1f447;…

qt QFile详解

1、概述 QFile类是Qt框架中用于读取和写入文本和二进制文件资源的I/O工具类。它继承自QFileDevice类&#xff0c;后者又继承自QIODevice类。QFile类提供了一个接口&#xff0c;允许开发者以二进制模式或文本模式对文件进行读写操作。默认情况下&#xff0c;QFile假定文件内容为…

react jsx基本语法,脚手架,父子传参,refs等详解

1&#xff0c;简介 1.1 概念 react是一个渲染html界面的一个js库&#xff0c;类似于vue&#xff0c;但是更加灵活&#xff0c;写法也比较像原生js&#xff0c;之前我们写出一个完成的是分为html&#xff0c;js&#xff0c;css&#xff0c;现在我们使用react库我们把html和js结…

Qt学习笔记第41到50讲

第41讲 UI美化遗留问题解决 如上图所示目前记事本的雏形已现&#xff0c;但是还是有待优化&#xff0c;比如右下角的拖动问题。 解决方法&#xff1a; ①首先修改了Widget类的构造函数。 Widget::Widget(QWidget *parent) : QWidget(parent) , ui(new Ui::Widget) {ui->s…

Linux(VMware + CentOS )设置固定ip

需求&#xff1a;设置ip为 192.168.88.130 先关闭虚拟机 启动虚拟机 查看当前自动获取的ip 使用 FinalShell 通过 ssh 服务远程登录系统&#xff0c;更换到 root 用户 修改ip配置文件 vim /etc/sysconfig/network-scripts/ifcfg-ens33 重启网卡 systemctl restart network …

CAN总线学习笔记(1、CAN总线定义)

CAN总线学习笔记&#xff08;1、CAN总线定义&#xff09; 江协科技CAN总线入门教程视频学习笔记 CAN特性 两根通信线&#xff08;CAN_H\CAN_L&#xff09;,两根线&#xff0c;无需工地 差分信号&#xff0c;抗干扰能力强 高速CAN&#xff08;ISO11898&#xff09;&#xff…

伍光和《自然地理学》电子书(含考研真题、课后习题、章节题库、模拟试题)

《自然地理学》&#xff08;第4版&#xff09;由伍光和、王乃昂、胡双熙、田连恕、张建明合著&#xff0c;于2018年11月出版。作为普通高等教育“十一五”国家级规划教材&#xff0c;本书不仅适用于高校地球科学各专业的基础课程&#xff0c;还可供环境、生态等有关科研、教学人…

Idea如何推送项目到gitee

第一步&#xff1a;先在你的gitee创建一个仓库 第二步&#xff1a; 点击推送 点击定义远程&#xff0c;将URL换成你仓库的&#xff0c;填好你的用户名和密码 可以看到已经推送到仓库了

AI笔筒操作说明及应用场景

AI笔筒由来&#xff1a; 在快节奏的现代办公环境中&#xff0c;我们一直在寻找既能提升效率、增添便利&#xff0c;又能融入企业文化、展现个人品味的桌面伙伴。为此&#xff0c;我们特推出专为追求卓越、注重细节的您设计的AI笔筒礼品版&#xff0c;它集高科技与实用性于一身…

【C++】内存管理(二):operator new/delete

大家好&#xff0c;我是苏貝&#xff0c;本篇博客带大家了解C的operator new/delete&#xff0c;如果你觉得我写的还不错的话&#xff0c;可以给我一个赞&#x1f44d;吗&#xff0c;感谢❤️ 目录 1 new/delete的底层2 new/delete的底层调用顺序3 delete[ ]调用析构函数的次数…

【工具变量】中国制造2025试点城市数据集(2000-2023年)

数据简介&#xff1a;《中国制造2025》是中国ZF于2015年5月8日印发的一项战略规划&#xff0c;旨在加快制造业的转型升级&#xff0c;提升制造业的质量和效益&#xff0c;实现从制造大国向制造强国的转变。该规划是中国实施制造强国战略的第一个十年行动纲领&#xff0c;明确提…

小菜家教平台(一):基于SpringBoot+Vue打造一站式学习管理系统

前言 现在已经学习了很多与Java相关的知识&#xff0c;但是迟迟没有进行一个完整的实践&#xff08;之前这个项目开发到一半&#xff0c;很多东西没学搁置了&#xff0c;同时原先的项目中也有很多的问题&#xff09;&#xff0c;所以现在准备从零开始做一个基于SpringBootVue的…