当前位置: 首页 > news >正文

如何评测一个大语言模型?

编者按:大型语言模型(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月问世以来,关于大模型的研究变得炙手可热起来。我们希望探讨大模型研究的一个重要方向:模型评测。根据不完全统计(见下图),大模型的评测方面发表的文章呈上升趋势,越来越多的研究着眼于设计更科学、更好度量、更准确的评测方式来对大模型的能力进行更深入的了解。

evaluation-of-large-language-models-1

为此,我们于近期完成了介绍大模型评测领域的第一篇综述文章《A Survey on Evaluation of Large Language Models》。该论文一共调研了219篇文献,以评测对象 (what to evaluate)、评测领域 (where to evaluate)、评测方法 (How to evaluate)和目前的评测挑战等几大方面对大模型的评测进行了详细的梳理和总结。其研究目标是增强对大模型当前状态的理解,阐明它们的优势和局限性,并为其未来发展提供见解。同时,我们也将该项工作进行了开源,希望有更多同行参与,共同促进该领域的发展。

evaluation-of-large-language-models-2

论文链接:https://arxiv.2307.03109

开源链接:https://github.com/MLGroupJLU/LLM-eval-survey

大模型评测相关研究:https://llm-eval.github.io/

作为大型语言模型(Large language models, LLMs)评测的首次全面综述,本文主要从三个方面对现有工作进行了探索:

evaluation-of-large-language-models-3

• 评测内容 (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 在反事实任务中 的表现不令人满意。

evaluation-of-large-language-models-8

重大挑战

评测作为一门新学科:我们对大模型评测的总结启发我们重新设计了许多方面。在本节中,我们介绍了以下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 解析的话&#xff0c;我们将会借助ip2region&#xff0c;该项目维护了一份较为详细的本地ip 地址对应表&#xff0c;如果为了离线环境的使用&#xff0c;需要导入该项目依赖&#xff0c;并指定版本&#xff0c;不同版本的方法可能存在差异。 <dependency>…...

亚马逊、速卖通,阿里国际等平台测评如何用自养号测评补单

在电商领域&#xff0c;补单是一种常见的推广方式。它能够优化商品销售、留下优质评论、打压竞品和赶走跟卖等&#xff0c;具有很多好处。然而&#xff0c;补单也存在安全性问题&#xff0c;有些卖家找人补单后店铺反而出了问题。因此&#xff0c;了解测评系统是非常重要的的。…...

ubuntu挂载ext4文件系统

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

MySQL 读写分离

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

【多线程例题】顺序打印abc线程

顺序打印-进阶版 方法一&#xff1a;三个线程竞争同一个锁&#xff0c;通过count判断是否打印 方法二&#xff1a;三个线程同时start&#xff0c;分别上锁&#xff0c;从a开始&#xff0c;打印后唤醒b 三个线程分别打印A&#xff0c;B&#xff0c;C 方法一&#xff1a;通过co…...

WebSocket工具类

最近的项目在整长连接WebSocket&#xff0c;之前也写过一个感觉没有这个全面。提供个工具类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 的基本步骤&#xff1a; 打开终端或命令行界面。 输入以下命令来编辑当前用户的 crontab 文件&#xff1a; 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面板中

有时候&#xff0c;不会自动将微服务展示在service面板中。 添加service面板&#xff1a; service面板&#xff1a; 更新所有maven&#xff0c;就可以自动将微服务展示在service面板中。...

MySQL体系结构及执行过程

一、MySQL体系结构 1、网络连接层 客户端连接器&#xff08;Client Cnnectors&#xff09;&#xff1a;提供支持与MySQL服务器建立连接。 建立连接命令&#xff1a;mysql -h -u -p -h指定MySQL服务的IP 若本地连接则不需要 每一个连接均会保存用户权限&#xff0c;中途修改权…...

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“钉耙编程”中国大学生算法设计超级联赛&#xff08;3&#xff09;8-bit Zoom 题解 有一张尺寸为 n n n\times n nn的图片&#xff0c;你要将图片放大成大小为 n Z 100 n Z 100 \dfrac{nZ}{100}\times \dfrac{nZ}{100} 100nZ​100nZ​的图片。 当下列任何一个条件不成…...

【PWN · ret2text | 伪rand()】[HDCTF 2023]pwnner

伪随机数以及ctypes库的初步接触 目录 前言 一、题目 二、解题思路 三、exp 总结 前言 一道简单的ret2text&#xff0c;加上一些伪随机的知识&#xff0c;对于本蒟蒻萌新来说&#xff0c;比较新&#xff0c;值得记录。 一、题目 栈溢出保护、PIE保护都没有开。反汇编后…...

第五章:通过对抗擦除的目标区域挖掘:一种简单的语义分割方法

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

自定义view - 玩转字体变色

自定义View步骤&#xff1a; 1>&#xff1a;values__attrs.xml&#xff0c;定义自定义属性&#xff1b; 2>&#xff1a;在第三个构造方法中获取自定义属性&#xff1b; 3>&#xff1a;onMeasure【不是必须的】&#xff1b; 4>&#xff1a;onDraw&#xff1a;绘制代…...

工业边缘网关HiWoo Box的4G/5G CPE功能:为现场无线设备提供网络

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

Set 和 Map 数据结构

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

装饰模式(Decorator Pattern)重构java邮件发奖系统实战

前言 现在我们有个如下的需求&#xff0c;设计一个邮件发奖的小系统&#xff0c; 需求 1.数据验证 → 2. 敏感信息加密 → 3. 日志记录 → 4. 实际发送邮件 装饰器模式&#xff08;Decorator Pattern&#xff09;允许向一个现有的对象添加新的功能&#xff0c;同时又不改变其…...

【Java学习笔记】Arrays类

Arrays 类 1. 导入包&#xff1a;import java.util.Arrays 2. 常用方法一览表 方法描述Arrays.toString()返回数组的字符串形式Arrays.sort()排序&#xff08;自然排序和定制排序&#xff09;Arrays.binarySearch()通过二分搜索法进行查找&#xff08;前提&#xff1a;数组是…...

多场景 OkHttpClient 管理器 - Android 网络通信解决方案

下面是一个完整的 Android 实现&#xff0c;展示如何创建和管理多个 OkHttpClient 实例&#xff0c;分别用于长连接、普通 HTTP 请求和文件下载场景。 <?xml version"1.0" encoding"utf-8"?> <LinearLayout xmlns:android"http://schemas…...

系统设计 --- MongoDB亿级数据查询优化策略

系统设计 --- MongoDB亿级数据查询分表策略 背景Solution --- 分表 背景 使用audit log实现Audi Trail功能 Audit Trail范围: 六个月数据量: 每秒5-7条audi log&#xff0c;共计7千万 – 1亿条数据需要实现全文检索按照时间倒序因为license问题&#xff0c;不能使用ELK只能使用…...

电脑插入多块移动硬盘后经常出现卡顿和蓝屏

当电脑在插入多块移动硬盘后频繁出现卡顿和蓝屏问题时&#xff0c;可能涉及硬件资源冲突、驱动兼容性、供电不足或系统设置等多方面原因。以下是逐步排查和解决方案&#xff1a; 1. 检查电源供电问题 问题原因&#xff1a;多块移动硬盘同时运行可能导致USB接口供电不足&#x…...

vue3 定时器-定义全局方法 vue+ts

1.创建ts文件 路径&#xff1a;src/utils/timer.ts 完整代码&#xff1a; import { onUnmounted } from vuetype TimerCallback (...args: any[]) > voidexport function useGlobalTimer() {const timers: Map<number, NodeJS.Timeout> new Map()// 创建定时器con…...

css的定位(position)详解:相对定位 绝对定位 固定定位

在 CSS 中&#xff0c;元素的定位通过 position 属性控制&#xff0c;共有 5 种定位模式&#xff1a;static&#xff08;静态定位&#xff09;、relative&#xff08;相对定位&#xff09;、absolute&#xff08;绝对定位&#xff09;、fixed&#xff08;固定定位&#xff09;和…...

2023赣州旅游投资集团

单选题 1.“不登高山&#xff0c;不知天之高也&#xff1b;不临深溪&#xff0c;不知地之厚也。”这句话说明_____。 A、人的意识具有创造性 B、人的认识是独立于实践之外的 C、实践在认识过程中具有决定作用 D、人的一切知识都是从直接经验中获得的 参考答案: C 本题解…...

网站指纹识别

网站指纹识别 网站的最基本组成&#xff1a;服务器&#xff08;操作系统&#xff09;、中间件&#xff08;web容器&#xff09;、脚本语言、数据厍 为什么要了解这些&#xff1f;举个例子&#xff1a;发现了一个文件读取漏洞&#xff0c;我们需要读/etc/passwd&#xff0c;如…...

动态 Web 开发技术入门篇

一、HTTP 协议核心 1.1 HTTP 基础 协议全称 &#xff1a;HyperText Transfer Protocol&#xff08;超文本传输协议&#xff09; 默认端口 &#xff1a;HTTP 使用 80 端口&#xff0c;HTTPS 使用 443 端口。 请求方法 &#xff1a; GET &#xff1a;用于获取资源&#xff0c;…...