LLMs NLP模型评估Model evaluation ROUGE and BLEU SCORE

在整个课程中,你看到过类似模型在这个任务上表现良好,或者这个微调模型在性能上相对于基础模型有显著提升等陈述。

这些陈述是什么意思?如何形式化你的微调模型在你起初的预训练模型上的性能改进?让我们探讨一些由大型语言模型开发者使用的指标,你可以用这些指标评估你自己的模型的性能,并与世界上的其他模型进行比较。

在传统的机器学习中,你可以通过观察模型在已知输出的训练和验证数据集上的表现来评估模型的表现。
在这里插入图片描述

你可以计算诸如准确率这样的简单指标,准确率表示所有预测中正确的比例,因为模型是确定性的。

但是在大型语言模型中,输出是非确定性的,基于语言的评估要困难得多。

以句子为例,Mike really loves drinking tea. 这句话与 Mike adores sipping tea. 相似。但是如何衡量相似性呢?
在这里插入图片描述

让我们看看另外两个句子:Mike does not drink coffee. 和 Mike does drink coffee. 这两个句子之间只有一个词的差异,但含义完全不同。
在这里插入图片描述

对于像我们这样具有有机软脑的人类来说,我们可以看出相似之处和不同之处。但当你在数百万个句子上训练模型时,你需要一种自动化的结构化方法来进行测量。

ROUGE和BLEU是两个广泛使用的用于不同任务的评估指标。ROUGE代表Recall Oriented Under Generated summaries Evaluation回忆定向自动摘要评估,主要用于通过将自动生成的摘要与人工生成的参考摘要进行比较来评估其质量。
在这里插入图片描述

另一方面,BLEU代表Billingual Evaluation双语评估研究,是一种用于评估机器翻译文本质量的算法,同样是通过将其与人工生成的翻译进行比较来评估的。
在这里插入图片描述

现在,单词BLEU是法语中的“蓝色”。你可能听到人们称之为“蓝色”,但我将坚持使用原始的BLEU。

在开始计算指标之前,让我们先复习一些术语。在语言的解剖学中,一个unigram等同于一个单词。一个bigram是两个单词,n-gram是n个单词的组合。
在这里插入图片描述

非常简单的东西。首先,让我们看一下ROUGE-1指标。
为此,让我们看一个人工生成的参考句子:It is cold outside 和一个生成的输出:very cold outside。

你可以执行类似于其他机器学习任务的简单度量计算,使用召回率、精确率和F1。

召回率指标测量了参考和生成输出之间匹配的单词或unigram数量,除以参考中的单词或unigram数量。在这种情况下,完全匹配的单词得分为1,因为所有生成的单词都与参考中的单词匹配。
在这里插入图片描述

精确率测量了unigram匹配除以输出大小。
在这里插入图片描述

F1分数是这两个值的调和平均。
在这里插入图片描述

这些都是非常基本的指标,只关注单个单词,因此名称中有“1”,并且不考虑单词的顺序。它可能具有误导性。生成得分高但主观上可能较差的句子是完全可能的。

暂停片刻,想象一下,如果模型生成的句子只是多了一个单词,而不是 “It is not cold outside.”,得分将是相同的。
在这里插入图片描述

通过考虑一次从参考和生成句子中获取两个词的bigram或两个词的组合,你能够计算ROUGE-2。
在这里插入图片描述

现在,你可以使用bigram匹配来计算召回率、精确率和F1分数,而不是使用单个单词。你会注意到分数比ROUGE-1分数要低。
在这里插入图片描述

在较长的句子中,bigram不匹配的可能性更大,分数可能更低。

与继续计算ROUGE分数的n-gram增大到三个或四个不同,让我们采取不同的方法。

相反,你将寻找在生成输出和参考输出中都存在的最长公共子序列。在这种情况下,最长匹配子序列是 “it is” 和 “cold outside”,每个子序列的长度都为2。
在这里插入图片描述

现在,你可以使用LCS值来计算召回率、精确率和F1分数,其中召回率和精确率计算中的分子都是最长公共子序列的长度,即2。总体上,这三个量被称为Rouge-L分数。与所有ROUGE分数一样,你需要将值放在上下文中进行解释。
在这里插入图片描述

只有在为相同的任务确定了分数时,你才能使用这些分数来比较模型的能力。

例如,摘要任务。不同任务的Rouge分数不能相互比较。

正如你所见,简单的Rouge分数的一个特定问题是,不好的完成可能会得到很好的分数。

例如,考虑以下生成的输出:cold, cold, cold, cold。由于这个生成的输出包含了参考句子中的一个单词,它的分数会相当高,即使同一个单词多次重复。

Rouge-1精确率分数将是完美的。
在这里插入图片描述

你可以通过使用剪辑函数来解决这个问题,将unigram匹配的数量限制为参考中该unigram的最大计数。

在这种情况下,参考中出现了一个 “cold”,因此在带有unigram匹配剪辑的修改精确率下,分数大幅降低。
在这里插入图片描述

然而,如果生成的单词都存在,但顺序不同,你仍然会面临挑战。

例如,对于这个生成的句子:“outside cold it is.”,即使在带有剪辑函数的修改精确率下,这个句子仍然是完美的,因为在参考中的所有单词和生成的输出都存在。
在这里插入图片描述

虽然使用不同的ROUGE分数可以帮助解决这个问题,但选择一个计算最有用分数的n-gram大小将取决于句子、句子大小和你的用例。

需要注意的是,许多语言模型库(例如,Hugging Face,你在第一周的实验中使用过)都包含了Rouge分数的实现,你可以用它来轻松评估模型的输出。

在本周的实验中,你将有机会尝试使用Rouge分数,并将其用于比较模型在微调前后的性能。

评估模型性能的另一个有用分数是BLEU分数,它代表双语评估研究。提醒一下,BLEU分数对于评估机器翻译文本的质量非常有用。
在这里插入图片描述

该分数本身是通过多个n-gram大小的平均精确率来计算的,就像我们之前看过的Rouge-1分数一样,但是计算的是一系列n-gram大小,并进行平均。

让我们更详细地看看这个指标的测量方法以及如何计算。

BLEU分数通过检查机器生成的翻译中有多少个n-gram与参考翻译中的n-gram相匹配来量化翻译质量。
在这里插入图片描述

为了计算分数,你需要在一系列不同的n-gram大小上计算平均精确率。如果你手动计算,你将进行多次计算,然后将所有结果平均,以找到BLEU分数。

在这个示例中,让我们看一个较长的句子,以便更好地了解分数的值。

人类提供的参考句子是:“I am very happy to say that I am drinking a warm cup of tea.”。现在,由于你已经深入研究了这些单独的计算,我将使用标准库展示BLEU的结果。

使用来自Hugging Face等提供商的预编写库来计算BLEU分数非常简单,我已经为我们的每个候选句子计算了BLEU分数。

第一个候选句子是:“I am very happy that I am drinking a cup of tea.”,BLEU分数为0.495。

随着我们越来越接近原始句子,得分也越来越接近1。
在这里插入图片描述

无论如何,Rouge和BLEU都是相当简单的指标,并且计算成本相对较低。

你可以在迭代模型时使用它们进行简单的参考,但不应仅凭此来报告大型语言模型的最终评估。

对于摘要任务,使用Rouge进行诊断性评估,对于翻译任务,使用BLEU。

然而,为了全面评估模型的性能,你需要查看研究人员开发的评估基准之一。在下一个视频中,让我们更详细地看看其中一些。

参考

https://www.coursera.org/learn/generative-ai-with-llms/lecture/8Wvg3/model-evaluation

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

httpd协议与apache

1.http 相关概念 HTTP是处于应用层的协议,使用TCP传输层协议进行可靠的传送。因此,需要特别提醒的是,万维网是基于因特网的一种广泛因特网应用系统,且万维网采用的是HTTP(80/TCP)和 HTTPS(443/…

哔哩哔哩 B站 bilibili 视频视频音效调节 清澈人声

视频音效调节方式:直接视频播放内容界面内鼠标右键点击视频音效调节 注意:需要使用的是谷歌浏览器,我的火狐浏览器试了不行,都没选项,火狐的出来的界面是这样的: 目录 具体操作如下: 1、谷歌…

第八章,帖子列表

8.1添加帖子列表 <script> import { mapState } from vuex . . . </script> computed: {...mapState([auth,user,articles]) }, <Message :sh

mysql sql 执行流程

监控查询缓存的命中率 show status like ‘%qcache%’; mysql 缓存机制&#xff0c;以及 8.0 为啥取消 select sql_NO_Cache * from 表 where xxx; # 不使用缓存

(WAF)Web应用程序防火墙介绍

&#xff08;WAF&#xff09;Web应用程序防火墙介绍 1. WAF概述 ​ Web应用程序防火墙&#xff08;WAF&#xff09;是一种关键的网络安全解决方案&#xff0c;用于保护Web应用程序免受各种网络攻击和威胁。随着互联网的不断发展&#xff0c;Web应用程序变得越来越复杂&#x…

微服务集成spring cloud sentinel

目录 1. sentinel使用场景 2. sentinel组成 3. sentinel dashboard搭建 4. sentinel客户端详细使用 4.1 引入依赖 4.2 application.properties增加dashboard注册地址 4.3 手动增加限流配置类 4.4 rest接口及service类 4.5 通过dashboard动态配置限流规则 1. sentinel使…

TIM输入捕获笔记 (计算编码电机的频率和占空比)

1. 输入捕获简介 IC (Input Capture) 输入捕获输入捕获模式下&#xff0c;当通道输入引脚出现指定电平跳变时&#xff0c;当前CNT的值将被锁存到CCR中&#xff0c;可用于测量PWM波形的频率、占空比、脉冲间隔、电平持续时间等参数每个高级定时器和通用定时器都拥有4个输入捕获…

[管理与领导-53]:IT基层管理者 - 8项核心技能 - 8 - 持续改进

前言&#xff1a; 管理者存在的价值就是制定目标&#xff0c;即目标管理、通过团队&#xff08;他人&#xff09;拿到结果。 要想通过他人拿到结果&#xff1a; &#xff08;1&#xff09;目标&#xff1a;制定符合SMART原则的符合业务需求的目标&#xff0c;团队跳一跳就可以…

AUTOSAR规范与ECU软件开发(实践篇)6.7 服务软件组件与应用层软件组件端口连接

在生成了BSW模块的代码后, 切换到ISOLAR-A系统级设计界面,会发现产生一些基础软件模块的服务软件组件: BswM、 ComM、 Det和EcuM等, 如图6.60所示。 图6.60 生成了BSW后的服务软件组件 此时, 如果涉及服务软件组件与应用层软件组件的交互, 就需要为应用层软件组…

数据结构--树4.1

目录 一、树的定义 二、结点的分类 三、结点间的关系 四、结点的层次 五、树的存储结构 一、树的定义 树&#xff08;Tree&#xff09;是n&#xff08;n>0&#xff09;个结点的有限集。当n0时称为空树&#xff0c;在任意一个非空树中&#xff1a; ——有且仅有一个特定的…

2023年高教社杯 国赛数学建模思路 - 复盘:校园消费行为分析

文章目录 0 赛题思路1 赛题背景2 分析目标3 数据说明4 数据预处理5 数据分析5.1 食堂就餐行为分析5.2 学生消费行为分析 建模资料 0 赛题思路 &#xff08;赛题出来以后第一时间在CSDN分享&#xff09; https://blog.csdn.net/dc_sinor?typeblog 1 赛题背景 校园一卡通是集…

Apache StreamPark系列教程第一篇——安装和体验

一、StreamPark介绍 实时即未来,在实时处理流域 Apache Spark 和 Apache Flink 是一个伟大的进步,尤其是Apache Flink被普遍认为是下一代大数据流计算引擎, 我们在使用 Flink & Spark 时发现从编程模型, 启动配置到运维管理都有很多可以抽象共用的地方, 我们将一些好的经验…

02.sqlite3学习——嵌入式数据库的基本要求和SQLite3的安装

目录 嵌入式数据库的基本要求和SQLite3的安装 嵌入式数据库的基本要求 常见嵌入式数据库 sqlite3简介 SQLite3编程接口模型 ubuntu 22.04下的SQLite安装 嵌入式数据库的基本要求和SQLite3的安装 嵌入式数据库的基本要求 常见嵌入式数据库 sqlite3简介 SQLite3编程接口模…

【awd系列】Bugku S3 AWD排位赛-9 pwn类型

文章目录 二进制下载检查分析运行二进制ida分析解题思路exp 二进制下载 下载地址&#xff1a;传送门 检查分析 [rootningan 3rd]# file pwn pwn: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for …

Vue中ElementUI结合transform使用时,发现弹框定位不准确问题

在近期开发中&#xff0c;需要将1920*1080放到更大像素大屏上演示&#xff0c;所以需要使用到transform来对页面进行缩放&#xff0c;但是此时发现弹框定位出错问题&#xff0c;无法准备定位到实际位置。 查看element-ui官方文档无果后&#xff0c;打算更换新的框架进行开发&am…

【业务功能篇85】微服务-springcloud-Nginx-反向代理-网关

Nginx域名 1.hosts文件 在c:/window/system32/drivers/etc/hosts文件&#xff0c;我们在这个文件中添加 192.168.56.100 msb.mall.com注意如果是没有操作权限&#xff0c;那么点击该文件右击属性&#xff0c;去掉只读属性即可 通过这个域名访问到Nginx服务 2.Nginx的方向代…

[牛客复盘] 牛客周赛 Round 9 20230827

[牛客复盘] 牛客周赛 Round 9 20230827 总结小美的外卖订单编号1. 题目描述2. 思路分析3. 代码实现 小美的加法1. 题目描述2. 思路分析3. 代码实现 小美的01串翻转1. 题目描述2. 思路分析3. 代码实现 小美的数组操作1. 题目描述2. 思路分析3. 代码实现 六、参考链接 总结 又是…

Batbot电力云平台在智能配电室中的应用

智能配电室管理系统是物联网应用中的底层应用场景&#xff0c;无论是新基建下的智能升级&#xff0c;还是双碳目标下的能源管理&#xff0c;都离不开智能配电运维对传统配电室的智慧改造。Batbot智慧电力&#xff08;运维&#xff09;云平台通过对配电室关键电力设备部署传感器…

【Redis】Redis是什么、能干什么、主要功能和工作原理的详细讲解

&#x1f680;欢迎来到本文&#x1f680; &#x1f349;个人简介&#xff1a;陈童学哦&#xff0c;目前学习C/C、算法、Python、Java等方向&#xff0c;一个正在慢慢前行的普通人。 &#x1f3c0;系列专栏&#xff1a;陈童学的日记 &#x1f4a1;其他专栏&#xff1a;CSTL&…

Spring Authorization Server入门 (十六) Spring Cloud Gateway对接认证服务

前言 之前虽然单独讲过Security Client和Resource Server的对接&#xff0c;但是都是基于Spring webmvc的&#xff0c;Gateway这种非阻塞式的网关是基于webflux的&#xff0c;对于集成Security相关内容略有不同&#xff0c;且涉及到代理其它微服务&#xff0c;所以会稍微比较麻…