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

编者按:大型语言模型(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

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

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

相关文章

RocketMQ教程-(4)-领域模型-消费者分组ConsumerGroup

定义​ 消费者分组是 Apache RocketMQ 系统中承载多个消费行为一致的消费者的负载均衡分组。 和消费者不同,消费者分组并不是运行实体,而是一个逻辑资源。在 Apache RocketMQ 中,通过消费者分组内初始化多个消费者实现消费性能的水平扩展以…

【云原生】Docker网络及Cgroup资源控制

一、Docker网络 1.docker网络实现原理 Docker使用Linux桥接,在宿主机虚拟一个Docker容器网桥(docker0),Docker启动一个容器时会根据Docker网桥的网段分配给容器一个IP地址,称为Container-IP,同时Docker网桥是每个容器的默认网关。…

Rust之所有权

1、所有权的概念: 程序需要管理自己在运行时使用的计算机内部空间。Rust语言采用包含特定规则的所有权系统来管理内存,这套规则允许编译器在编译的过程中执行检查工作,而不会产生任何的运行时开销。 (1)、所有权规则: Rust中的…

【前端知识】React 基础巩固(三十)——CSS编写方式

React 基础巩固(三十)——CSS编写方式 1.内联样式 Style 接受一个采用小驼峰命名属性的JS对象,而不是CSS字符串 可以引用state中的状态来设置相关的样式 优点:样式之间不会有冲突;可以动态获取当前state中的状态 缺点:需要使用…

微信小程序——页面跳转方法和场景用法总结

✅作者简介:2022年博客新星 第八。热爱国学的Java后端开发者,修心和技术同步精进。 🍎个人主页:Java Fans的博客 🍊个人信条:不迁怒,不贰过。小知识,大智慧。 💞当前专栏…

Arduino 与 Unity3D TCP通信

一、通过传输流的方式 #include <WiFi.h>#define LED_PIN 5 const char * ssid "Daschow2021"; const char * password "daschow2021"; void setup() {Serial.begin(9600);//连接WiFiWiFi.begin(ssid,password);Serial.print("正在连接Wifi&…

linux麒麟系统二级等保【三权分立策略】

目录 三权分立策略 一、系统管理员 二、审计管理员 三、安全管理员 三权分立策略 "建议创建管理、操作、审计三类独立权限账号&#xff0c;支持三权分立机制。参考配置&#xff1a; 管理账号&#xff08;root&#xff09;&#xff1a;拥有所有操作权限&#xff1b;…

如何理解spring cloud 和 spring cloud Alibaba

Spring Cloud是一个基于Spring Framework构建的用于开发和构建分布式系统的开源框架。它提供了一系列的工具和组件&#xff0c;用于帮助开发者快速构建、部署和管理微服务架构。Spring Cloud提供了包括服务发现、配置管理、负载均衡、断路器等在内的众多功能。 Spring Cloud A…

第四十三天

●<template>&#xff1a;每个vue文件中最多可以包含一个&#xff0c;语块包裹的内容内容会被提取&#xff0c;编译成js渲染函数&#xff0c;并附在导出的组件上作为其render选项。 ●<script>​&#xff1a;每个 vue 文件最多可以包含一个 script>块(使用 <…

【JVM】JVM执行流程 JVM类加载 垃圾回收机制等

目录 &#x1f337;1、JVM是什么&#xff1f; &#x1f337;2、JVM的执行流程&#xff08;能够描述数据区5部分&#xff09; &#x1f337;3、JVM类加载过程 &#x1f337;4、双亲委派机制&#xff1a;描述类加载的过程 问题1&#xff1a;类加载器 问题2&#xff1a;什么…

Ubuntu Linux中hostname`命令

当然&#xff0c;让我们将关于在Ubuntu Linux中理解hostname的知识转化为列表形式&#xff1a; 参考&#xff1a; https://www.howtouseubuntu.com/network/change-hostname-in-ubuntu-linux/ 定义&#xff1a;hostname是Ubuntu&#xff08;以及其他Linux发行版&#xff09;中…

最优贸易(记忆化搜索)

题目链接&#xff1a;[NOIP2009 提高组] 最优贸易 - 洛谷 思路&#xff1a;这道题的标签是SPFA&#xff0c;但是我觉得这道题可以用记忆化搜索&#xff0c;用两组dfs&#xff0c;将从1到 i点道路上的最小值都存进min数组&#xff0c;将i 到n点的最大值存进max组&#xff0c;最后…

支付宝原生小程序组件与父级传递数据(微信小程序基本一样)

1. 声明组件 在对应的目录下,右击点击 新建小程序,之后会生成对应的文件 2. 子组件 Component({data: {colorList: [#165FF6, #3D16F6,

一元多项式的表示及相加

实现思路&#xff1a; 通过链表实现&#xff0c;会更为简单直观。用链表中的每个结点表示多项式中的每一项&#xff0c;多项式每一项都是由数据域&#xff08;包含系数和指数&#xff09;和指针域构成的&#xff0c;所以在定义表示结点的结构体时&#xff0c;可如下所示进行定义…

FFMPEG android mac 编译 支持DASH/OPENSSL问题汇总

一 下载源码 FFMPEG https://github.com/FFmpeg/FFmpeg/tree/release/4.3 二 编写脚本 支持https 就必须添加open SSL 的编译 具体可以查看我的另一个关于open SSL 的 然后我们配置的一些路径 涉及 ndk 的一定要查看你用的ndk 版本 是否存在这些路径这是第一步 然后如果支…

python爬虫入门

基础回顾 使用函数, 先导入, 直接点方法名使用 import math m math.log10(100) print(m)python 交互模式 input输入示例 age int(input("请输入年龄")) age 1 print(age)if else 的使用 和java一样, 只是不加括号, else if 阉割成了 elif 与或非 java : &am…

网络中的一些概念对比

HTTP与HTTPS 从安全性和效率性进行阐述&#xff1a; 对于HTTP HTTP默认端口是80 HTTP是明文传输&#xff0c;数据以纯文本、明文形式在网络上传输&#xff0c;容易受到黑客的攻击和数据窃取。 对于HTTPS HTTPS默认端口是443 HTTPS用的是SSL或者TLS协议对数据进行加密&am…

No3: 学习过程中故障成长积累

文章目录 故障积累1、编码错误导致 故障积累1、编码错误导致

5.2 Bootstrap 过渡效果(Transition)插件

文章目录 Bootstrap 过渡效果&#xff08;Transition&#xff09;插件使用案例 Bootstrap 过渡效果&#xff08;Transition&#xff09;插件 过渡效果&#xff08;Transition&#xff09;插件提供了简单的过渡效果。 注意&#xff1a;如果您想要单独引用该插件的功能&#xff0…

Typescript:类的装饰器

装饰器 装饰器为我们在类的声明及成员上通过元编程语法添加标注提供了一种方式 装饰器是一种特殊类型的声明&#xff0c;它能够被附加到类声明&#xff0c;方法&#xff0c; 访问符&#xff0c;属性或参数上。 装饰器使用 expression这种形式&#xff0c;expression求值后必…