【LLM评估篇】Ceval | rouge | MMLU等指标

news2024/12/24 20:19:26

note

  • 一些大模型的评估模型:
  • 多轮:MTBench
  • 关注评估:agent bench
  • 长文本评估:longbench,longeval
  • 工具调用评估:toolbench
  • 安全评估:cvalue,safetyprompt等

文章目录

  • note
  • 常见评测benchmark
  • rouge
  • factool
  • MMLU
  • C-Eval
  • GSM8K
  • BBH
  • zhenbench case
  • 使用gpt进行评估模型
  • 其他人工评估指标
  • 相关排行榜
  • Reference

常见评测benchmark

在这里插入图片描述
图源自《A Survey on Evaluation of Large Language Models》

rouge

ROUGE-1、ROUGE-2、ROUGE-L和 BERTScore

  • ROUGE指标是在机器翻译、自动摘要、问答生成等领域常见的评估指标。ROUGE通过将模型生成的摘要或者回答与参考答案(一般是人工生成的)进行比较计算得到得分。
  • 一般看f值,f是取了f和r的调和平均值
  • 下面的rouge包不能直接使用中文文本,需要分词后使用,如果文本长度不长时可以手动修改,如“你好吗”改为“你 好 吗”
from rouge import Rouge 

hypothesis = "the #### transcript is a written version of each day 's cnn student news program use this transcript to he    lp students with reading comprehension and vocabulary use the weekly newsquiz to test your knowledge of storie s you     saw on cnn student news"

reference = "this page includes the show transcript use the transcript to help students with reading comprehension and     vocabulary at the bottom of the page , comment for a chance to be mentioned on cnn student news . you must be a teac    her or a student age # # or older to request a mention on the cnn student news roll call . the weekly newsquiz tests     students ' knowledge of even ts in the news"

rouger = Rouge()
scores = rouger.get_scores(hypothesis, reference)
[
  {
    "rouge-1": {
      "f": 0.4786324739396596,
      "p": 0.6363636363636364,
      "r": 0.3835616438356164
    },
    "rouge-2": {
      "f": 0.2608695605353498,
      "p": 0.3488372093023256,
      "r": 0.20833333333333334
    },
    "rouge-l": {
      "f": 0.44705881864636676,
      "p": 0.5277777777777778,
      "r": 0.3877551020408163
    }
  }
]

factool

https://github.com/GAIR-NLP/factool

以下的几个指标都是chatglm2使用到的评估指标:

MMLU

ModelAverageSTEMSocial SciencesHumanitiesOthers
ChatGLM-6B40.6333.8944.8439.0245.71
ChatGLM2-6B (base)47.8641.2054.4443.6654.46
ChatGLM2-6B45.4640.0651.6141.2351.24

Chat 模型使用 zero-shot CoT (Chain-of-Thought) 的方法测试,Base 模型使用 few-shot answer-only 的方法测试

C-Eval

如果是做题问答,可以用Ceval指标,chatglm2-6b项目中就有代码
我们选取了部分中英文典型数据集进行了评测,以下为 ChatGLM2-6B 模型在 MMLU (英文)、C-Eval(中文)、GSM8K(数学)、BBH(英文) 上的测评结果。在 evaluation 中提供了在 C-Eval 上进行测评的脚本。

ModelAverageSTEMSocial SciencesHumanitiesOthers
ChatGLM-6B38.933.348.341.338.0
ChatGLM2-6B (base)51.748.660.551.349.8
ChatGLM2-6B50.146.460.450.646.9

Chat 模型使用 zero-shot CoT 的方法测试,Base 模型使用 few-shot answer only 的方法测试

GSM8K

ModelAccuracyAccuracy (Chinese)*
ChatGLM-6B4.825.85
ChatGLM2-6B (base)32.3728.95
ChatGLM2-6B28.0520.45

所有模型均使用 few-shot CoT 的方法测试,CoT prompt 来自 http://arxiv.org/abs/2201.11903

* 我们使用翻译 API 翻译了 GSM8K 中的 500 道题目和 CoT prompt 并进行了人工校对

BBH

ModelAccuracy
ChatGLM-6B18.73
ChatGLM2-6B (base)33.68
ChatGLM2-6B30.00

所有模型均使用 few-shot CoT 的方法测试,CoT prompt 来自 https://github.com/suzgunmirac/BIG-Bench-Hard/tree/main/cot-prompts

zhenbench case

https://github.com/zhenbench/zhenbench

使用gpt进行评估模型

东南大学:https://arxiv.org/abs/2303.07992
评估框架由两个主要步骤组成:

  • 首先,受HELM[21]的场景驱动评估策略的启发,我们设计了一种基于特征的多标签注释方法来标记测试问题中涉及的答案类型、推理操作和语言。这些标签不仅有助于我们逐个分析ChatGPT的推理能力,而且它们的组合也可以帮助我们发现许多ChatGPT擅长或不擅长的潜在QA场景。
  • 然后,遵循CheckList[22]的测试规范,测试目标分为三个部分:最小功能测试(MFT)、不变性测试(INV)和方向性期望测试(DIR)。
    • 第一个反映了模型执行各种推理任务的准确性,
    • 而第二个和第三个反映了推理的可靠性。
    • 为了在INV和DIR测试中获得更多可分析的结果,我们采用了Chain-of-Thought(CoT)[5]方法,设计提示模板以建立其他测试用例。

其他人工评估指标

在这里插入图片描述
在这里插入图片描述
注:“领域适应能力”测试中的知识领域包括,代码编程、数学计算、创意写作、舆情分析、医学咨询、历史知识、法律信息、科学解释、翻译。

测评结果:
在这里插入图片描述总得分率=生成质量70%+使用与性能20%+安全与合规*10%,评估截止日期为2023年6月30日。

在这里插入图片描述
评估后的大模型选择:
在这里插入图片描述

相关排行榜

LMSYS、c-Eval、SuperCLUElyb、PubMedQA排行榜

Reference

[1] ROUGE: A Package for Automatic Evaluation of Summaries
[2] NLP评估指标之ROUGE
[3] 大模型评测综述:A Survey on Evaluation of Large Language Models
[4] 目前大语言模型的评测基准有哪些-某乎
[5] ChatGPT作为知识库问答系统的问答能力评测

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

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

相关文章

18.安全机制

文章目录 安全机制认证(Authentication)鉴权(Authorization)概念和组成创建Role和ClusterRole创建RoleBinding 和ClusterRoleBindingResources 准入控制(Admission Control)实验:创建一个用户管…

模型微调(fine-tune)

一、关于模型微调的一些基础知识 1、模型微调(fine-tune) 微调(fine-tune)通过使用在大数据上得到的预训练好的模型来初始化自己的模型权重,从而提升精度。这就要求预训练模型质量要有保证。微调通常速度更快、精度更高。当然,自己…

解放数据库,实时数据同步利器:Alibaba Canal

文章首发地址 Canal是一个开源的数据库增量订阅&消费组件,主要用于实时数据同步和数据订阅的场景,特别适用于构建分布式系统、数据仓库、缓存更新等应用。它支持MySQL、阿里云RDS等主流数据库,能够实时捕获数据库的增删改操作&#xff…

nvm的安装配置(node多版本切换控制)

安装 1. 首先要先卸载已安装的node 找到node,卸载就可以。 2. 下载 NVM 直接进入安装包下载地址:https://github.com/coreybutler/nvm-windows/releases,选择 nvm-setup.zip,下载后直接安装。 3. 配置环境变量(有的电脑会配好…

linux学习(文件系统+inode)[14]

输出重定向可分离 stdout -> 1printf("hello printf 1\n");fprintf(stdout,"hello fprintf 1\n");// stderr -> 2errno 1;perror("hello perror 2"); //stderrconst char *s1 "hello write 1\n";write(1, s1, strlen(s1));con…

PV3D: A 3D GENERATIVE MODEL FOR PORTRAITVIDEO GENERATION 【2023 ICLR】

ICLR:International Conference on Learning Representations CCF-A 国际表征学习大会:深度学习的顶级会议 生成对抗网络(GANs)的最新进展已经证明了生成令人惊叹的逼真肖像图像的能力。虽然之前的一些工作已经将这种图像gan应用于无条件的2D人像视频生…

人工智能轨道交通行业周刊-第56期(2023.8.14-8.20)

本期关键词:数字化建设、巡检机器人、智慧城轨、福州地铁4号线、避雷器、LangChain 1 整理涉及公众号名单 1.1 行业类 RT轨道交通人民铁道世界轨道交通资讯网铁路信号技术交流北京铁路轨道交通网上榜铁路视点ITS World轨道交通联盟VSTR铁路与城市轨道交通RailMet…

vactor中迭代器失效问题

目录 什么是迭代器失效导致迭代器失效的操作VS和g环境下对与迭代器失效的态度 什么是迭代器失效 迭代器的底层其实就是一个指针,或者对指针进行了封装 vector的迭代器就是一个指针T* 一个迭代器指向某一个空间,此时这块空间被释放了,这个迭…

【Spring Boot】详解条件注解以及条件拓展注解@Conditional与@ConditionOnXxx

Spring Conditional Spring 4.0提供的注解。作用是给需要装载的Bean增加一个条件判断。只有满足条件才会装在到IoC容器中。而这个条件可以由自己去完成的,可以通过重写Condition接口重写matches()方法去实现自定义的逻辑。所以说这个注解增加了对Bean装载的灵活性。…

OJ练习第153题——分发糖果

分发糖果 力扣链接:135. 分发糖果 题目描述 n 个孩子站成一排。给你一个整数数组 ratings 表示每个孩子的评分。 你需要按照以下要求,给这些孩子分发糖果: 每个孩子至少分配到 1 个糖果。 相邻两个孩子评分更高的孩子会获得更多的糖果。…

一篇文章搞懂MVCC

事务 什么是事务?当事务对数据库进行多个更改时,要么在事务提交时所有更改都成功,要么在事务回滚时所有更改都被撤销。 在 MySQL 中,事务支持是在引擎层实现的。MySQL 是一个支持多引擎的系统,但并不是所有的引擎都支…

详解反向迭代器适配器

目录 一、基本介绍 二、模拟实现 2.1 - operator* 2.2 - vector 和 list 的反向迭代器 一、基本介绍 反向迭代器适配器(reverse_iterator),可简称为反向迭代器或逆向迭代器,常用来对容器进行反向遍历。 反向迭代器底层只能选…

Qt安卓开发经验技巧总结V202308

01:01-05 pro中引入安卓拓展模块 QT androidextras 。pro中指定安卓打包目录 ANDROID_PACKAGE_SOURCE_DIR $$PWD/android 指定引入安卓特定目录比如程序图标、变量、颜色、java代码文件、jar库文件等。 AndroidManifest.xml 每个程序唯一的一个全局配置文件&…

史上最简洁实用人工神经元网络c++编写202301

这是史上最简单、清晰…… C语言编写的 带正向传播、反向传播(Forward ……和Back Propagation)……任意Nodes数的人工神经元神经网络……。 大一学生、甚至中学生可以读懂。 适合于,没学过高数的程序员……照猫画虎编写人工智能、深度学习之神经网络……

Android OpenCV(七十五): 看看刚”转正“的条形码识别

前言 2021年,我们写过一篇《OpenCV 条码识别 Android 平台实践》,当时的条形码识别模块位于 opencv_contrib 仓库,但是 OpenCV 4.8.0 版本开始, 条形码识别模块已移动到 OpenCV 主仓库,至此我们无需自行编译即可轻松地调用条形码识别能力。 Bar code detector and decoder…

Perl兼容正则表达式函数-PHP8知识详解

在php8中有两类正则表达式函数,一类是perl兼容正则表达式函数,另一类是posix扩展正则表达式函数。二者区别不大,我们推荐使用Perl兼容正则表达式函数。 1、使用正则表达式对字符串进行匹配 用正则表达式对目标字符串进行匹配是正则表达式的主…

59.C++ string容器

目录 1.1string容器的基本概念 1.2string构造函数 1.3string赋值操作 1.4string字符串拼接 1.5string查找和替换 1.6string字符串比较 1.7string字符串存取 1.8string字符串插入和删除 1.9string子串 1.1string容器的基本概念 本质: string是C风格的字…

五家项目进度管理工具,哪家好?

项目进度管理十分依赖项目经理对于项目信息的掌握程度,数字化工具可以很好的解决项目信息不统一的问题。一款好用的项目进度十分重要。目前市面上项目进度管理工具哪家好? 1、Zoho Projects;2、Microsoft Project;3、Trello&#…

解决charles无法抓取localhost数据包

我们有时候在本地调试的时候,使用charles抓取向本地服务发送的请求的,发现无法抓取。 charles官方也作了相应说明: 大概意思就是 某些系统使用的是硬编码不能使用localhost进行传输,所以当我们连接到 localhost的时候&#xff0c…

(查看,和保存)windows下通过cmd命令符窗口查看、保存文件目录结构

背景 有时候我们查看目录结构,或者保存目录结构信息,来对项目进行说明 一、查看文件结构 1. tree /? 查看tree命令操作 2. tree(只展示文件夹) tree 3.tree /F(文件夹文件都展示) tree /F 二、保存文件…