如何评测一个大语言模型?
编者按:大型语言模型(Large language models, LLMs)因其在学术界和工业界展现出前所未有的性能而备受青睐。随着 LLMs 在研究和实际应用中被广泛使用,对其进行有效评测变得愈发重要。近期已有多篇论文围绕大模型的评测进行研究,但尚未有文章对评测的方法、数据、挑战等进行完整的梳理。日前,微软亚洲研究院的研究员们参与完成了介绍大模型评测领域的第一篇综述文章《A Survey on Evaluation of Large Language Models》。该论文一共调研了219篇文献,以评测对象 (what to evaluate)、评测领域 (where to evaluate)、评测方法 (How to evaluate)和目前的评测挑战等几大方面对大模型的评测进行了详细的梳理和总结。研究员们也将持续维护大模型评测的开源项目以促进此领域的发展。
为什么要研究大模型评测?
通俗来讲,大模型是一个能力很强的函数 f,与之前的机器学习模型并无本质不同。那么,为什么要研究大模型的评测?大模型评测跟以前的机器学习模型评测有何不同?
首先,研究评测可以帮助我们更好地理解大模型的长处和短处。尽管多数研究表明大模型在诸多通用任务上已达到类人或超过人的水平,但仍然有很多研究在质疑其能力来源是否为对训练数据集的记忆。如,人们发现,当只给大模型输入 LeetCode 题目编号而不给任何信息的时候,大模型居然也能够正确输出答案,这显然是训练数据被污染了。
其次,研究评测可以更好地为人与大模型的协同交互提供指导和帮助。大模型的服务对象终究是人,那么为了更好地进行人机交互新范式的设计,我们便有必要对其各方面能力进行全面了解和评测。如,我们最近的研究工作 PromptBench:首个大语言模型提示鲁棒性的评测基准,便详细地评测了大模型在“指令理解”方面的鲁棒性,结论是其普遍容易受到干扰、不够稳定,这便启发了我们从 prompt 层面来加强系统的容错能力。
最后,研究评测可以更好地统筹和规划大模型未来的发展的演变、防范未知和可能的风险。大模型一直在不断进化,其能力也越来越强。那么,通过合理、科学的评测机制的设计,我们能否用演化的角度来评测其能力?如何提前预知其可能的风险?这都是重要的研究内容。
因此,研究大模型的评测具有十分重要的意义。
综述主要内容
自 ChatGPT 去2022年10月问世以来,关于大模型的研究变得炙手可热起来。我们希望探讨大模型研究的一个重要方向:模型评测。根据不完全统计(见下图),大模型的评测方面发表的文章呈上升趋势,越来越多的研究着眼于设计更科学、更好度量、更准确的评测方式来对大模型的能力进行更深入的了解。
为此,我们于近期完成了介绍大模型评测领域的第一篇综述文章《A Survey on Evaluation of Large Language Models》。该论文一共调研了219篇文献,以评测对象 (what to evaluate)、评测领域 (where to evaluate)、评测方法 (How to evaluate)和目前的评测挑战等几大方面对大模型的评测进行了详细的梳理和总结。其研究目标是增强对大模型当前状态的理解,阐明它们的优势和局限性,并为其未来发展提供见解。同时,我们也将该项工作进行了开源,希望有更多同行参与,共同促进该领域的发展。
论文链接:https://arxiv.2307.03109
开源链接:https://github.com/MLGroupJLU/LLM-eval-survey
大模型评测相关研究:https://llm-eval.github.io/
作为大型语言模型(Large language models, LLMs)评测的首次全面综述,本文主要从三个方面对现有工作进行了探索:
• 评测内容 (What to evaluate),对海量的 LLMs 评测任务进行分类并总结评测结果;
• 评测领域 (Where to evaluate),对 LLMs 评测常用的数据集和基准进行了总结;
• 评测方法 (How to evaluate),总结了目前流行的两种 LLMs 评测方法。
研究框架
此外,研究还对大模型评测不可或缺的三个维度内容进行了综合总结。最后,研究讨论了大模型评测时可能面临的重大挑战,为今后的研究提供了建议。
评测什么
本文的主要目的是总结和讨论目前在大型语言模型上的评测工作。在评测 LLMs 的性能时,选择合适的任务和领域对于展示大型语言模型的表现、优势和劣势至关重要。为了更清晰地展示 LLMs 的能力水平,文章将现有的任务划分为以下7个不同的类别:
1. 自然语言处理:包括自然语言理解、推理、自然语言生成和多语言任务
2. 鲁棒性、伦理、偏见和真实性
3. 医学应用:包括医学问答、医学考试、医学教育和医学助手
4. 社会科学
5. 自然科学与工程:包括数学、通用科学和工程
6. 代理应用:将 LLMs 作为代理使用
7. 其他应用
这样的分类方式能够更好地展示 LLMs 在各领域的表现。需要注意的是,几个自然语言处理领域有交叉点,因此这种领域的分类只是一种可能的分类方式。
评测内容
在哪评测
我们通过深入探讨评测基准来回答在哪里评测的问题,如下图所示,评测基准主要分为通用基准(General benchmarks)和具体基准(Specific benchmarks)。
评测领域
随着 LLMs 基准测试的不断发展,目前已有许多受欢迎的评测基准。下表综述总结了19个流行的基准测试,每个基准关注不同的方面和评测标准,为各自的领域做出了贡献。
评测基准
如何评测
在本节中,文章介绍了两种常用的评测方法:自动评测和人工评测。这两种方法在评测语言模型和机器翻译等任务时起着重要的作用。自动评测方法基于计算机算法和自动生成的指标,能够快速且高效地评测模型的性能。而人工评测则侧重于人类专家的主观判断和质量评测,能够提供更深入、细致的分析和意见。了解和掌握这两种评测方法对准确评测和改进语言模型的能力十分重要。
综述总结
在这一部分,文章总结了 LLMs 在不同任务中的成功和失败案例。
LLMs 能够在哪些方面表现出色?1. LLMs 在生成文本方面展现出熟练度,能够产生流畅且准确的语言表达。2. LLMs 在语言理解方面表现出色,能够进行情感分析和文本分类等任务。3. LLMs 具备强大的语境理解能力,能够生成与输入一致的连贯回答。4. LLMs 在多个自然语言处理任务中表现出令人称赞的性能,包括机器翻译、文本生成和问答任务。
LLMs 在什么情况下可能会失败?1. LLMs 在生成过程中可能会表现出偏差和不准确性,导致产生有偏差的输出。2. LLMs 在理解复杂的逻辑和推理任务方面能力有限,在复杂的环境中经常出现混乱或错误。3. LLMs 在处理大量数据集和长期记忆方面面临限制,这可能会在处理冗长的文本和涉及长期依赖的任务方面带来挑战。4. LLMs 在整合实时或动态信息方面存在局限性,使得它们不太适合需要最新知识或快速适应变化环境的任务。5. LLMs 对提示非常敏感,尤其是敌对提示 ,这些提示会触发新的评测和算法,提高其鲁棒性。6. 在文本摘要领域,可以观察到 LLMs 可能在特定的评测指标上表现出低于标准的性能,这可能归因于那些特定指标的内在限制或不足。7. LLMs 在反事实任务中 的表现不令人满意。
重大挑战
评测作为一门新学科:我们对大模型评测的总结启发我们重新设计了许多方面。在本节中,我们介绍了以下7个重大挑战。
1. 设计 AGI 基准测试。什么是可靠、可信任、可计算的能正确衡量 AGI 任务的评测指标?
2. 设计 AGI 基准完成行为评测。除去标准任务之外,如何衡量 AGI 在其他任务,如机器人交互中的表现?
3. 稳健性评测。目前的大模型对输入的 prompt 非常不鲁棒,如何构建更好的鲁棒性评测准则?
4. 动态演化评测。大模型的能力在不断进化、也存在记忆训练数据的问题。如何设计更动态更进化式的评测方法?
5. 可信赖的评测。如何保证所设计的评测准则是可信任的?
6. 支持所有大模型任务的统一评测。大模型的评测并不是终点、如何将评测方案与大模型有关的下游任务进行融合?
7. 超越单纯的评测:大模型的增强。评测出大模型的优缺点之后,如何开发新的算法来增强其在某方面的表现?
研究的重点是,评测应该被视为推动 LLMs 和其他人工智能模型成功的基本学科。现有的研究方案不足以对 LLMs 进行全面的评测,这可能为未来的 LLMs 评测研究带来新的机遇。
结论
评测具有深远的意义,在人工智能模型的发展中变得势在必行,在 LLMs 不断发展的背景下尤其如此。本文首次从评测什么、如何评测、在哪里评测三个方面对 LLMs 的评测进行了全面的概述。通过封装评测任务、协议和基准,研究的目标是增强对 LLMs 当前状态的理解,阐明它们的优势和局限性,并为未来 LLMs 的发展提供见解。
研究的调查显示,目前的 LLMs 在许多任务中都存在一定的局限性,尤其是推理和鲁棒性任务。与此同时,对当代评测系统进行调整和发展的需求依然明显,以确保对 LLMs 的内在能力和局限性进行准确评测。最后,本文确定了未来研究应该解决的几个重大挑战,并希望 LLMs 能够逐步提高大语言模型为人类服务的水准。
我们还在以下网站中汇总了本团队所有的大模型评测相关研究,欢迎关注:
https://llm-eval.github.io/
https://github.com/microsoft/promptbench
相关文章:

如何评测一个大语言模型?
编者按:大型语言模型(Large language models, LLMs)因其在学术界和工业界展现出前所未有的性能而备受青睐。随着 LLMs 在研究和实际应用中被广泛使用,对其进行有效评测变得愈发重要。近期已有多篇论文围绕大模型的评测进行研究&am…...

React中useMemo和useCallback的区别
一句话来解释,useMemo是缓存值的,useCallback是缓存函数的。 一、useMemo: 接收两个参数,第一个参数是个函数,第二个是依赖项。返回一个memoized值,只有当它的某个依赖项改变时才重新计算 memoized 值&…...

SpringBoot 快速实现IP地址解析
如果使用本地ip 解析的话,我们将会借助ip2region,该项目维护了一份较为详细的本地ip 地址对应表,如果为了离线环境的使用,需要导入该项目依赖,并指定版本,不同版本的方法可能存在差异。 <dependency>…...

亚马逊、速卖通,阿里国际等平台测评如何用自养号测评补单
在电商领域,补单是一种常见的推广方式。它能够优化商品销售、留下优质评论、打压竞品和赶走跟卖等,具有很多好处。然而,补单也存在安全性问题,有些卖家找人补单后店铺反而出了问题。因此,了解测评系统是非常重要的的。…...

ubuntu挂载ext4文件系统
文章目录 1.虚拟机分配10G磁盘用来挂载ext4文件系统2.磁盘分区3.创建文件系统4.挂载文件系统5.卸载文件系统6.使用ior测试ext4三种日志模式(1)ordered(2)journal(3)writeback 1.虚拟机分配10G磁盘用来挂载e…...

MySQL 读写分离
目录 一、什么是读写分离? 二、为什么要读写分离呢? 三、什么时候要读写分离? 四、主从复制与读写分离 五、MySQL 读写分离原理 六、企业 使用MySQL 读写分离场景 1)基于程序代码内部实现 2)基于中间代理层实现…...

【多线程例题】顺序打印abc线程
顺序打印-进阶版 方法一:三个线程竞争同一个锁,通过count判断是否打印 方法二:三个线程同时start,分别上锁,从a开始,打印后唤醒b 三个线程分别打印A,B,C 方法一:通过co…...

WebSocket工具类
最近的项目在整长连接WebSocket,之前也写过一个感觉没有这个全面。提供个工具类WebSocketHelper和Java-WebSocket-1.3.9.jar包以及一个HttpURLConnectionUtil 1、WebSocketHelper import android.util.Log;import org.java_websocket.client.WebSocketClient; imp…...

Linux 的 crontab
Linux 的 crontab 是一个用于在特定时间运行命令或脚本的工具。每个用户都可以创建自己的 crontab 文件来安排定时任务。 以下是使用 Linux crontab 的基本步骤: 打开终端或命令行界面。 输入以下命令来编辑当前用户的 crontab 文件: crontab -e如果是…...

十二.Redis模拟集群搭建
配置环境 查看环境信息 127.0.0.1:6379> info replication #查看当前redis的信息 # Replication role:master #角色 master主机 connected_slaves:0 #从机数量为0 master_failover_state:no-failover master_replid:115f37a0ec195680ef754d6915738b0c0a05f450 master_replid…...

IDEA导入微服务项目后自动将微服务展示在service面板中
有时候,不会自动将微服务展示在service面板中。 添加service面板: service面板: 更新所有maven,就可以自动将微服务展示在service面板中。...

MySQL体系结构及执行过程
一、MySQL体系结构 1、网络连接层 客户端连接器(Client Cnnectors):提供支持与MySQL服务器建立连接。 建立连接命令:mysql -h -u -p -h指定MySQL服务的IP 若本地连接则不需要 每一个连接均会保存用户权限,中途修改权…...

21. MySQL基础知识
文章目录 一、索引B Tree 原理1. 数据结构2. 操作3. 与红黑树的比较 MySQL 索引1. BTree 索引2. 哈希索引3. 全文索引4. 空间数据索引 索引优化1. 独立的列2. 多列索引3. 索引列的顺序4. 前缀索引5. 覆盖索引 索引的优点索引的使用条件 二、查询性能优化使用 Explain 进行分析优…...

【ArcGIS Pro微课1000例】0029:绘制全球海洋波纹荡漾效果图
本文讲解ArcGIS Pro3.0中,基于全球航洋面状矢量数据,绘制震撼全球海洋波纹荡漾效果图。 文章目录 一、效果预览二、效果制作三、参数详解一、效果预览 绘制好的海水波纹荡漾效果图如下: 下面我们来学习绘制过程。 二、效果制作 波纹荡漾效果需要在全局或者局部场景中制作…...

2023“钉耙编程”中国大学生算法设计超级联赛(3)8-bit Zoom
2023“钉耙编程”中国大学生算法设计超级联赛(3)8-bit Zoom 题解 有一张尺寸为 n n n\times n nn的图片,你要将图片放大成大小为 n Z 100 n Z 100 \dfrac{nZ}{100}\times \dfrac{nZ}{100} 100nZ100nZ的图片。 当下列任何一个条件不成…...

【PWN · ret2text | 伪rand()】[HDCTF 2023]pwnner
伪随机数以及ctypes库的初步接触 目录 前言 一、题目 二、解题思路 三、exp 总结 前言 一道简单的ret2text,加上一些伪随机的知识,对于本蒟蒻萌新来说,比较新,值得记录。 一、题目 栈溢出保护、PIE保护都没有开。反汇编后…...

第五章:通过对抗擦除的目标区域挖掘:一种简单的语义分割方法
0.摘要 我们研究了一种逐步挖掘具有鉴别性的物体区域的原则方法,使用分类网络来解决弱监督语义分割问题。分类网络只对感兴趣对象中的小而稀疏的鉴别性区域有响应,这与分割任务的要求相背离,分割任务需要定位密集、内部和完整的区域以进行像素…...

自定义view - 玩转字体变色
自定义View步骤: 1>:values__attrs.xml,定义自定义属性; 2>:在第三个构造方法中获取自定义属性; 3>:onMeasure【不是必须的】; 4>:onDraw:绘制代…...

工业边缘网关HiWoo Box的4G/5G CPE功能:为现场无线设备提供网络
引言 随着工业物联网的快速发展,现场设备的无线连接需求越来越迫切。然而,在一些室外或者不方便布网的场景下,为现场的无线设备提供网络仍然是一个挑战。为了满足这一需求,工业边缘网关HiWoo Box引入了4G/5G CPE(Cust…...

Set 和 Map 数据结构
数据结构Set ES6提供了新的数据结构Set。它类似于数组,但是成员的值都是唯一的,没有重复的值。 Set本身是一个构造函数,用来生成Set数据结构。 // 数组去重 const set new Set([1, 2, 3, 4, 4]); [...set] // [1, 2, 3, 4]目前个人感觉Se…...

nginx根据url参数动态代理
nginx根据url参数动态代理 请求url格式,其中参数proxy后面的url就是需要访问的真实地址: http://localhost:9388/?proxyhttp://localhost:8038/Content/layui/font/iconfont.woff?v256 http://localhost:9388/?proxyhttp://localhost:8072/article/A…...

TCP协议(收集和记录)
收集写的比较好的文章 TCP四次挥手详解 四次挥手介绍的非常详细, 重点介绍了各种异常情况下协议是如何处理的, 异常处理可以做到两点: 让连接保活, 也许只是一次连接异常让连接死掉后不影响后续的操作, 重点介绍了TIME_WAIT...

【Kafka】自动提交偏移量和手动提交偏移量的区别
区别 自动提交偏移量(Auto Commit Offset)和手动提交偏移量(Manual Commit Offset)是两种不同的消费者偏移量管理方式。 自动提交偏移量: 在自动提交模式下,消费者会定期自动将已消费的消息偏移量提交给…...

缠论线段的划分
第一种情况: 第二种情况: 第二种情况中的特例: 第二种情况的特例: 顶分型成立: 向上线段延续: 顶分型后面底分型,形成三段 插入一个分型的反面例子: dd...

【Linux】Ubuntu基本使用与配置, 以及常见问题汇总(一)
前言 大学期间,感觉很多时候学习课外知识都是被推着往前走,很多内容并没有深入去学习,知识的记录受限于所学比较片面,如今渐渐意识到似乎并没有建立起相关知识的体系架构,缺乏一个系统学习并整理的过程。本文将以Ubunt…...

【UE5 多人联机教程】02-开始游戏菜单控件
目录 步骤 一、完善开始游戏菜单控件 二、控件功能实现 2.1 “开始游戏”按钮切换界面 2.2 “创建房间”、“加入房间”按钮切换界面 2.3 “创建房间”按钮 步骤 一、完善开始游戏菜单控件 打开“UMG_Main” 首先在控件切换器外层包裹一个画布面板 然后调整控件切换器全…...

设计模式-工厂方法模式
基于面向对象语言开发中,免不得需要创建对象。前面讲解的"单例模式"也是如此,不过是要创建唯一的对象。本文要讲述“工厂方法模式”是要封装创建对象的过程。工厂,也称之为“制造厂”,用于创建具体的产品直接提供给外界…...

【Hammerstein模型的级联】快速估计构成一连串哈默斯坦模型的结构元素研究(Matlab代码实现)
目录 💥1 概述 📚2 运行结果 🎉3 参考文献 🌈4 Matlab代码实现 💥1 概述 在许多振动应用中,所研究的系统略微非线性。Hammerstein模型的级联可以方便地描述这样的系统。Hammerstein提供了一种基于指数正弦…...

「C 语言」extern关键字
在 C 语言中,关键字 extern 是用来告诉编译器,这个变量 OR 函数在其他文件中已有定义,可在当前文件中使用 当我们定义了一个全局变量 OR 函数时,它就已经具有了外部链接的属性,我们只需要通过在引用该变量的文件中用 …...

oracle单个用户最大连接数限制
项目经理反馈,现场已做了单个用户的最大连接数2000的限制,但数据库还是报无法连接,故障用户的连接数已3800多了。 查看日志报错如下 2023-07-20T13:07:57.79465308:00 Process m000 submission failed with error 20 Process m000 submiss…...