自然语言处理:第三十九章 中文测评榜单-CEval

文章链接:2305.08322 (arxiv.org)

官网: C-Eval: 一个适用于大语言模型的多层次多学科中文评估套件 (cevalbenchmark.com)

主页: hkust-nlp/ceval: Official github repo for C-Eval, a Chinese evaluation suite for foundation models [NeurIPS 2023]



在人工智能领域,尤其是自然语言处理技术迅速发展的今天,如何准确评估大型语言模型(LLMs)的性能成为了一个重要课题。最近,由上海交通大学、清华大学、爱丁堡大学和香港科技大学的研究人员联合开发的C-EVAL评估套件,为我们提供了一个全面评估中文环境下基础模型能力的解决方案。

摘要

C-EVAL 是首个旨在评估基础模型在中文语境下的高级知识和推理能力的综合评估套件。C-EVAL 包含跨越四个难度级别(初中、高中、大学和专业)的选择题,涵盖52个不同学科,从人文学科到科学工程。C-EVAL 还包括一个名为 C-EVAL HARD 的子集,包含需要高级推理能力的非常具有挑战性的科目。我们对最先进的大型语言模型进行了全面评估,结果显示只有 GPT-4 的平均准确率超过60%,表明当前模型还有很大的改进空间。我们期望 C-EVAL 能帮助分析基础模型的关键优势和不足,促进其为中文用户的发展和成长。



背景介绍

随着大型语言模型(LLMs)的快速发展,新的自然语言处理(NLP)基准测试变得迫切需要。传统的NLP基准测试大多设计用于衡量特定和相对简单的能力,而LLMs展示了各种新能力,将评估重点转向更广泛的世界知识和复杂的推理能力。近年来,新的基准测试被提出,用于探测LLM的多种能力,如MMLU、BIG-bench和HELM等。然而,这些现代基准测试主要针对英语,导致对LLMs在其他语言中的能力了解有限。因此,我们专注于评估基础模型在中文语境下的高级能力,这是世界上使用最广泛的语言之一。



核心算法

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

C-EVAL的设计核心在于它包含了13948个多项选择题,涵盖了52个不同的学科和四个难度级别,如下所示。您可以在 探索 中查看数据集示例。 这些选择题分为四个难度级别:初中、高中、大学和专业,每个难度级别都包含大量涵盖不同学科的题目。 其算法重点在于数据的搜集与处理方法。为了确保问题的多样性和避免数据泄露风险,研究团队采取了从模拟考试和小规模地方考试中选取题目的策略,而非直接使用国家公开考试的题目。同时,通过网络获取PDF和Word文档,再进行解析和人工注释,特别是对于含有复杂LaTeX公式的题目,这一过程尤为关键。这样既丰富了题目的来源,又最大限度地减少了预训练数据可能带来的污染问题。具体来说:

  • 题目设计 :题目主要来自互联网上的模拟考试,部分大学题目来自中国顶尖大学的往年考试题,这些题目由学生公开分享。此外,还有少量题目来自全国研究生入学考试的模拟题,这些题目来自维普网,并获得了授权。
  • 题目类别 :题目分为52个学科,按主题分为四类:STEM(科学、技术、工程和数学)、社会科学、人文学科和其他领域。每个学科都被仔细挑选和验证,以确保其代表性和挑战性。
  • 评估过程 :我们使用现有的最先进的LLMs,包括面向英语和中文的模型,对这些题目进行评估。评估结果表明,目前只有GPT-4能够在平均准确率上超过60%,这表明现有的LLMs在处理中文复杂问题时仍有很大的改进空间。

C-EVAL还特别注重于生成高质量的解释数据,用于模型在少量示例(few-shot)设置下的链式思维(chain-of-thought, COT)评估。团队利用GPT-4自动生成逐步解释,之后人工修订以获得最终解释,确保了开发集的质量与准确性。


下面是C-Eval 数据集的分布,数据可以直接从Huggingface数据集下载。可以参考GitHub了解如何读取和使用数据。:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传



实验结果与结论

在这里插入图片描述

在这里插入图片描述

作者对多种先进的LLMs进行了全面评估,包括GPT-4、ChatGPT等,也分别进行了Cot 与 5-shot 对比。实验结果显示:

  1. 总体表现 :GPT-4 的表现最好,平均准确率超过60%,但仍有改进空间。
  2. 不同难度级别的表现 :模型在初中和高中的题目上表现较好,但在大学和专业级别的题目上准确率显著下降,特别是在C-EVAL HARD部分。
  3. 学科差异 :模型在STEM领域的表现优于人文和社会科学领域,这可能是因为STEM领域的题目更具客观性和标准化,而人文和社会科学的题目更具主观性和复杂性。

结论显示,尽管LLMs在处理简单问题和部分领域时表现优异,但在处理复杂推理和高级知识应用时仍需改进。


简单使用

下载数据
  • 方法一:下载zip压缩文件(你也可以直接用浏览器打开下面的链接):

wget https://huggingface.co/datasets/ceval/ceval-exam/blob/main/ceval-exam.zip

  • 方法二:使用Hugging Face datasets直接加载数据集。示例如下:
from datasets import load_dataset
dataset=load_dataset(r"ceval/ceval-exam",name="computer_network")

print(dataset['val'][0])
# {'id': 0, 'question': '使用位填充方法,以01111110为位首flag,数据为011011111111111111110010,求问传送时要添加几个0____', 'A': '1', 'B': '2', 'C': '3', 'D': '4', 'answer': 'C', 'explanation': ''}

为了方便使用,我们已经整理出了与 52 个科目对应的学科名称处理程序以及它们的中英文名称。具体细节请查看 subject_mapping.json。格式如下:

{
	"computer_network": [
		"Computer Network",
		"计算机网络",
		"STEM"
	],
	...
	"filename":[
	"英文名称",
	"中文名称"
	"类别(STEM,Social Science,Humanities,Other四选一)"
	]
}

每个科目由三个部分组成:dev、val 和 test。每个科目的 dev 集包含五个示范实例以及为 few-shot 评估提供的解释。val 集旨在用于超参数调整。而 test 集则用于模型评估。test 集上的标签不会公开,需要用户提交其结果才能自动获得测试准确性。如何提交?

下面是高中化学的示例:

id: 1
question: 25 °C时,将pH=2的强酸溶液与pH=13的强碱溶液混合,所得混合液的pH=11,则强酸溶液与强碱溶液 的体积比是(忽略混合后溶液的体积变化)____
A: 11:1
B: 9:1
C: 1:11
D: 1:9
answer: B
explanation: 
1. pH=13的强碱溶液中c(OH-)=0.1mol/L, pH=2的强酸溶液中c(H+)=0.01mol/L,酸碱混合后pH=11,即c(OH-)=0.001mol/L。
2. 设强酸和强碱溶液的体积分别为x和y,则:c(OH-)=(0.1y-0.01x)/(x+y)=0.001,解得x:y=9:1。



测试

通常你可以直接从模型的生成中使用正则表达式提取出答案选项(A,B,C,D)。在少样本测试中,模型通常会遵循少样本给出的固定格式,所以提取答案很简单。然而有时候,特别是零样本测试和面对没有做过指令微调的模型时,模型可能无法很好的理解指令,甚至有时不会回答问题。这种情况下我们推荐直接计算下一个预测token等于"A", “B”, “C”, "D"的概率,然后以概率最大的选项作为答案 – 这是一种受限解码生成的方法,MMLU的官方测试代码中是使用了这种方法进行测试。注意这种概率方法对思维链的测试不适用。更加详细的评测教程。

在我们最初发布时,我们自己用了以下prompt进行测试:

以下是中国关于{科目}考试的单项选择题,请选出其中的正确答案。

{题目1}
A. {选项A}
B. {选项B}
C. {选项C}
D. {选项D}
答案:A

[k-shot demo, note that k is 0 in the zero-shot case]

{测试题目}
A. {选项A}
B. {选项B}
C. {选项C}
D. {选项D}
答案:

或者使用思维链:

以下是中国关于{科目}考试的单项选择题,请选出其中的正确答案。

{题目1}
A. {选项A}
B. {选项B}
C. {选项C}
D. {选项D}
答案:让我们一步一步思考,
1. {解析过程步骤1}
2. {解析过程步骤2}
3. {解析过程步骤3}
所以答案是A。

[k-shot demo, note that k is 0 in the zero-shot case]

{测试题目}
A. {选项A}
B. {选项B}
C. {选项C}
D. {选项D}
答案:让我们一步一步思考,
1. 

现在,你可以通过lm-evaluation-harness 在C-Eval的验证集上评估模型,这是一个用于自回归语言模型的少样本评估框架。任务名称的格式为 Ceval-valid-{subject}(如 Ceval-valid-computer_network)。例如,要评估托管在HuggingFace Hub上的模型(如GPT-J-6B),可以使用以下命令:

python main.py --model hf-causal --model_args pretrained=EleutherAI/gpt-j-6B --tasks Ceval-valid-computer_network --device cuda:0



提交

您首先需要准备一个 UTF-8 编码的 JSON 文件,并按照以下格式编写。详情请参考submission_example.json。

## 每个学科内部的键名是数据集中的"id"字段
{
    "chinese_language_and_literature": {
        "0": "A",
        "1": "B",
        "2": "B",
        ...
    },
  
    "学科名称":{
    "0":"答案1",
    "1":"答案2",
    ...
    }
    ....
}

然后你可以将准备好的JSON文件提交到这里,请注意,你需要先登录才能访问提交页面


总结与展望

本文提出了C-EVAL,这是首个综合评估基础模型在中文语境下高级知识和推理能力的评估套件。通过对多种先进LLMs的评估,我们发现现有模型在处理中文复杂问题时仍有显著的改进空间。C-EVAL 的数据和评估代码已公开,期望该评估套件能帮助研究者和开发者分析基础模型的关键优势和不足,促进其发展和成长,以更好地服务中文用户。

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

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

相关文章

Vue 项目居然有4种包管理器,你了解吗?

在vue项目中,用于依赖包管理的主流工具居然有四种,这是重复造了多少轮子呀。作为主要从事后端开发的我来说,这真是不可思议。Java的依赖包管理工具主要就两种,Maven和Gradle,而且据我多年实际开发经验来看,…

MySQL集群高可用架构之MySQL InnoDB Cluste

今天我将详细的为大家介绍Centos 7.5 基于 MySQL 5.7的 InnoDB Cluster 多节点高可用集群环境部署的相关知识,希望大家能够从中收获多多!如有帮助,请点在看、转发支持一波!!! 一、MySQL InnoDB Cluster 介…

Go 在结构体中定义下划线(_)字段原来还有这个特殊用途?

作者:陈明勇 个人网站:https://chenmingyong.cn 文章持续更新,如果本文能让您有所收获,欢迎点赞收藏加关注本号。 微信阅读可搜《程序员陈明勇》。 这篇文章已被收录于 GitHub https://github.com/chenmingyong0423/blog&#xff…

ECMAScript6介绍及环境搭建

这实际上说明,对象的解构赋值是下面形式的简写。 let { foo: foo, bar: bar } { foo: ‘aaa’, bar: ‘bbb’ }; 也就是说,对象的解构赋值的内部机制,是先找到同名属性,然后再赋给对应的变量。真正被赋值的是后者,而…

【经验分享】免费版虚拟机VMware Workstation Pro 17下载方式

【经验分享】免费版虚拟机VMware Workstation Pro 17下载方式 前言一、免费虚拟机下载方式二、 安装过程总结 前言 我真的是服了,现在的CSDN时效性为什么这么差了。都快一个月了还没有博主更新个人免费版虚拟机VMware Workstation Pro,甚至很多人还不知…

【数据结构】线性表:顺序表

文章目录 1. 线性表2. 顺序表2.1 概念及结构2.2 接口实现2.3 顺序表的问题及思考 1. 线性表 线性表是n个具有相同特性的数据元素的有限序列。 线性表是一种在实际中广泛使用的数据结构,常见的线性表:顺序表、链表、栈、队列、字符串… 线性表在逻辑上是…

element-ui table使用type=‘selection‘复选框全禁用-全选禁用_elementui table禁用全选

问题点:当条件数据全被禁用时,全选按钮不是禁用的状态。 复选框全被禁用时,全选按钮将被隐藏 问题总结: 当条件数据全被禁用时,全选按钮也变成禁用的状态,而不是隐藏。有会做的小伙伴希望跟帖。谢谢&#x…

Java基础的重点知识-08-接口、多态

文章目录 接口多态 接口 从之前的章节中,我们了解到类的内部封装了成员变量、构造方法、成员方法,那么接口的内部主要就是封装了方法,包含了抽象方法(JDK7及之前),默认方法和静态方法(JDK8&…

思看科技冲刺上市疑云:募资用途遭强烈质疑,IPO前突击分红

近日,思看科技(杭州)股份有限公司(下称“思看科技”)已更新提交2023年最新财务资料,重启科创板IPO进程。贝多财经了解到,思看科技的上市申请于2023年6月获上交所受理,目前已进入问询…

yarn:终极包管理器指南 - 提高您的项目效率和性能

Yarn使用教程大纲 一、介绍1.1 什么是Yarn1.2 Yarn的优势1.3 Yarn与npm的比较 二、安装Yarn2.1 Windows安装Yarn2.2 macOS安装Yarn2.3 Linux安装Yarn2.4 注意事项 三、初始化项目3.1 在项目中使用Yarn3.2 创建新项目3.3 在已有项目中使用Yarn 四、添加依赖4.1 添加依赖4.1.1 安…

【Pandas驯化-15】Pandas中几个特征工程函get_dummies、factorize、diff、rank技巧

【Pandas驯化-15】Pandas中几个特征工程函get_dummies、factorize、diff、rank技巧 本次修炼方法请往下查看 🌈 欢迎莅临我的个人主页 👈这里是我工作、学习、实践 IT领域、真诚分享 踩坑集合,智慧小天地! 🎇 相关内…

磨坊中年轻的面包师

磨坊中年轻的面包师 The young baker in the mill 每天清晨(early morning),喜欢裸睡(sleep naked)的面包师(baker)在面包房(bakery)中醒来(wake up)后,就会到湖(lake)边取水,在刷(brushing)牙洗(washing)脸后,他就会开始烘焙(ba…

Linux_应用篇(22) 音频应用编程

ALPHA I.MX6U 开发板支持音频,板上搭载了音频编解码芯片 WM8960,支持播放以及录音功能!本章我们来学习 Linux 下的音频应用编程, 音频应用编程相比于前面几个章节所介绍的内容、 其难度有所上升, 但是笔者仅向大家介绍…

【源码】含70演示高转化率Magento2外贸时装女装跨境电商模板V1.2.2

MagMog是下一代最高转化率和可扩展的跨境电商Magento2主题,让您几乎可以立即上手。这是一个终极解决方案:主题附带一系列电子商务功能,可以启用您商店的隐藏功能,并且您无需支付任何额外费用。 100% 免费。 MagMog从定制设计到内…

焦化超低排平台组成部分

焦化行业作为重工业的重要组成部分,其环保问题一直备受关注。近年来,随着环保意识的提升和技术的不断进步,朗观视觉焦化超低排平台应运而生,成为推动焦化行业绿色发展的重要力量。本文将深入剖析焦化超低排平台的组成部分&#xf…

《梦醒蝶飞:释放Excel函数与公式的力量》4.3常用OR函数

Excel中的OR函数是一种逻辑函数,它用于检查多个条件中至少有一个是否满足。如果任何一个条件为TRUE,OR函数将返回TRUE;如果所有条件都为FALSE,OR函数将返回FALSE。 1) OR函数的基本语法是:OR(logical1, [logical2], .…

超声波眼镜清洗机是交智商税吗?四样超卓超声波清洗机独具特色

相信大家都知道超声波清洗机,每次眼镜脏的时候,去眼镜店里让老板帮忙清洗,她们用的就是超声波清洗机,通过超声波的原理深入物品深处清洁,清洁效果非常好。相对手洗的方式,超声波清洗机能够保护镜片在清洗过…

Java开发-实际工作经验和技巧-0001-PostgreSQL数据库存储磁盘满了重启以及应急措施

Java开发-实际工作经验和技巧-0001-PostgreSQL数据库存储磁盘满了重启以及应急措施 更多内容欢迎关注我(持续更新中,欢迎Star✨) Github:CodeZeng1998/Java-Developer-Work-Note 技术公众号:CodeZeng1998&#xff0…

1964springboot VUE小程序在线学习管理系统开发mysql数据库uniapp开发java编程计算机网页源码maven项目

一、源码特点 springboot VUE uniapp 小程序 在线学习管理系统是一套完善的完整信息管理类型系统,结合springboot框架uniapp和VUE完成本系统,对理解vue java编程开发语言有帮助系统采用springboot框架(MVC模式开发),…

stm32学习笔记---EXTI外部中断(理论部分)

目录 STM32的中断 NVIC的基本结构 中断的优先级 优先级分组 EXTI(Extern Interrupt)外部中断 支持的触发方式 支持的GPIO口 外部中断占用的通道 外部中断的触发响应方式 外部中断的基本结构 GPIO口的外设 AFIO中断引脚选择 EXTI边沿检测及控…