大语言模型(LLM)评估综述

news2024/12/1 8:46:09
  • 图片

论文地址:https://arxiv.org/abs/2307.03109

Github地址:https://github.com/MLGroupJLU/LLM-eval-survey

一 、背景

        随着ChatGPT和GPT-4的推出,大型语言模型(LLM)在学术界和工业界的热度日益升高,这主要归功于它们在各种应用中的无与伦比的表现。随着LLM在研究和日常使用中继续发挥重要作用,对它们的评估变得越来越重要。过去的几年里,人们从各个角度(比如自然语言任务、推理、鲁棒性、可信度、医疗应用和伦理考虑等一系列因素)对LLM进行了大量的研究,如下图2所示:

图片

      尽管做出了很多努力,但仍然缺乏对整个评估范围的全面概述。此外,LLM的持续演化也为评估提出了新的方面,从而挑战了现有的评估协议,并强化了需要彻底的、多方面的评估技术的需求。尽管像(Bubeck等人,2023)这样的现有研究声称GPT-4可以被视为AGI的火花,但由于其评估方法的人造性质,其他人对此进行了质疑。

        本论文对这些LLM的评估方法进行了全面的回顾,重点关注三个主要维度:评估什么,在哪里评估,以及如何评估首先,从评估任务的角度提供一个概览,包括一般的自然语言处理任务,推理,医疗应用,伦理,教育,自然和社会科学,代理应用,以及其他领域。其次,通过深入研究评估方法和基准来回答“在哪里”和“如何”评估的问题,这些都是评估LLM性能的关键组成部分。然后,总结了LLM在不同任务中的成功和失败案例。最后,讨论了LLM评估面临的一些未来挑战。

图片

图片

二、大型语言模型基础知识

        语言模型(LMs)是一种具有理解和生成人类语言能力的计算模型。LMs具有预测词序列的可能性或者根据给定输入生成新文本的变革性能力。N-gram模型是最常见的LM类型,它根据前文的上下文估计词概率。然而,LMs也面临挑战,比如稀有或未见过的词的问题、过拟合的问题,以及捕获复杂语言现象的困难。传统的LMs的参数量较小,GPT-3后模型证明参数量超过10B的模型具有涌现性(尽管有论文证明可能是Prompt的设计问题,但是模型泛化能力确实比之前的模型强太多),比如GPT-3,InstructGPT和GPT-4等,他们的核心模块是Transformer中的自注意力模块,这是进行语言建模任务的基本构建块。Transformers革新了NLP领域,它们能比RNN和CNN更有效地处理顺序数据,实现并行化,并捕获文本中的长距离依赖关系。

       LLMs的一个关键特性是基于上下文的学习,在这里,模型被训练基于给定的上下文或提示生成文本。这使得LLMs能生成更连贯和与上下文相关的回应,使得它们适合于交互和对话应用。来自人类反馈的强化学习(RLHF)是LLMs的另一个关键方面,这种技术涉及使用人类生成的反馈作为奖励进行模型的微调,从而使模型能够从其错误中学习并随着时间的推移提高其性能。

       在自回归语言模型中,如GPT-3和PaLM,给定上下文序列X,LM任务旨在预测下一个标记y。模型通过最大化在给定上下文的条件下的标记序列的概率进行训练,即,P(y|X) = P(y|x1, x2, ..., xt−1),其中x1, x2, ..., xt−1是上下文序列中的标记,t是当前位置。通过使用链式规则,条件概率可以分解为给定其前序上下文的每个标记的条件概率的乘积,即,

图片

      其中T是序列长度。这样,模型以自回归的方式预测每个位置的每个标记,生成一个完整的文本序列。与LLMs交互的一种常见方法是提示工程,用户设计并提供特定的提示文本以指导LLMs生成期望的响应或完成特定任务。这在现有的评估工作中被广泛采用。人们也可以进行问答交互,向模型提问并得到回答,或参与对话交互,与LLMs进行自然语言对话。

       总的来说,LLMs凭借其Transformer架构、基于上下文的学习和RLHF能力,已经革新了NLP,并在各种应用中充满了希望。表1提供了传统机器学习、深度学习和LLMs的简要比较。

图片

三、评估什么

       我们应该评估LLMs在哪些任务上的表现?在本节中,我们将现有的任务划分为以下几类:自然语言处理任务、伦理和偏见、医疗应用、社会科学、自然科学和工程任务、代理应用(使用LLMs作为代理)以及其他任务。

3.1 自然语言处理任务 

       大型语言模型的最初目标是提高自然语言处理任务的性能,包括自然语言理解、推理、生成、多语言任务和自然语言真实性。因此,大多数评估研究主要集中在自然语言任务上。评估结果如下表2所示:

图片

3.2 鲁棒性、伦理、偏见和可信度

       评估LLMs包括鲁棒性、伦理、偏见和可信度等关键方面。这些因素在全面评估LLMs的性能方面越来越重要。

图片

3.3 社会科学

       社会科学涉及对人类社会和个体行为的研究,包括经济学、社会学、政治学、法学等学科。评估LLMs在社会科学中的表现对于学术研究、政策制定和社会问题解决非常重要。这样的评估可以帮助提高模型在社会科学中的适用性和质量,增加对人类社会的理解,并促进社会进步。

3.4 自然科学和工程 

       在自然科学和工程领域评估LLMs的表现可以帮助指导科学研究、技术开发和工程研究的应用和发展。

图片

3.5 医疗应用 

       最近,LLMs在医疗领域的应用引起了重要的关注。在这一部分,我们回顾了将LLMs应用于医疗应用的现有工作。具体来说,我们将它们分为表5所示的四个方面:医疗问答、医学检查、医疗评估和医疗教育。

图片

3.6 代理应用 

       LLMs并非只专注于通用语言任务,它们可以在各种领域中被利用作为强大的工具。为LLMs配备外部工具可以大大扩展模型的能力。比如KOSMOS-1,它能够理解一般模式,按照指示进行学习,并基于上下文进行学习。Karpas等人强调,知道何时以及如何使用这些外部符号工具至关重要,这种知识是由LLMs的能力决定的,特别是当这些工具可以可靠地运作时。此外,还有两项其他研究,Toolformer和TALM,探索了使用工具来增强语言模型的可能性。Toolformer采用一种训练方法来确定特定API的最佳使用方式,并将获得的结果集成到后续的token预测中。另一方面,TALM将无法区分的工具与基于文本的方法相结合,以增强语言模型,并采用一种被称为"自我游戏"的迭代技术,由最少的工具演示来指导。申等人提出了HuggingGPT框架,该框架利用LLMs连接机器学习社区内的各种人工智能模型(如Hugging Face),旨在解决人工智能任务

图片

3.7 其他应用 

       除了上述分类,LLMs还在其他各种领域进行了评估,包括教育、搜索和推荐、性格测试和特定应用等。

四、在哪里评估:数据集和基准 

       测试 LLMs 的评估数据集用于测试和比较不同语言模型在各种任务上的性能,如第 3 节所示。这些数据集,如GLUE和SuperGLUE,旨在模拟现实世界的语言处理场景,并涵盖多样化的任务,如文本分类、机器翻译、阅读理解和对话生成。本节不会讨论针对语言模型的任何单一数据集,而是针对LLMs的基准。由于LLMs的基准正在发展,我们在表7.5中列出了19个流行的基准。每个基准都关注不同的方面和评估标准,为各自的领域提供了宝贵的贡献。为了更好的总结,我们将这些基准划分为两个类别:通用语言任务的基准和特定下游任务的基准。

图片

五、如何评估 

       在本节中,我们将介绍两种常见的评估方法:自动评估和人工评估。实际上,“如何评估”的分类也并不确定。我们的分类基于评估标准是否可以自动计算。如果它可以自动计算,我们将其归类为自动评估;否则,它就属于人工评估。

5.1 自动评估 

       自动评估大型语言模型是一种常见且可能是最受欢迎的评估方法,通常使用标准度量或指标和评估工具来评估模型的性能,如准确率、BLEU 、ROUGE 、BERTScore 等。例如,我们可以使用BLEU分数来量化模型生成的文本与参考文本在机器翻译任务中的相似性和质量。实际上,大多数现有的评估努力都采用这种评估协议,因为它的主观性、自动计算和简单性。因此,大多数确定性任务,如自然语言理解和数学问题,通常采用这种评估协议。与人工评估相比,自动评估不需要人工参与,这节省了评估成本并且耗时较少。例如,和Bang等人都使用自动评估方法评估大量任务。最近,随着LLMs的发展,一些先进的自动评估技术也被设计出来帮助评估。Lin和Chen提出了LLM-EVAL,这是一个用于与LLMs进行开放领域对话的统一的多维自动评估方法。PandaLM可以通过训练一个作为“裁判”的LLM来实现可复制的自动语言模型评估,该LLM用于评估不同的模型。由于自动评估论文的大量存在,我们不会详细介绍它们。自动评估的原理实际上与其他AI模型评估过程相同:我们只是使用一些标准度量来计算这些度量下的某些值,这些值作为模型性能的指标。

5.2 人工评估 

      LLMs的能力已经超越了在一般自然语言任务上的标准评估度量。因此,在一些非标准情况下,自动评估不适用时,人工评估成为一个自然的选择。例如,在开放生成任务中,嵌入的相似度度量(如BERTScore)是不够的,人工评估更可靠。虽然一些生成任务可以采用某些自动评估协议,但在这些任务中,人工评估更受欢迎,因为生成总是可以比标准答案更好。LLMs的人工评估是通过人的参与来评估模型生成结果的质量和准确性的一种方式。与自动评估相比,手动评估更接近实际应用场景,可以提供更全面和准确的反馈。在LLMs的手动评估中,通常邀请评估员(如专家、研究者或普通用户)来评估模型生成的结果。例如,Ziems等人使用了专家的注释进行生成。通过人工评估,Liang等人对6种模型的总结和虚假信息场景进行了人工评估,Bang等人评估了类比推理任务。由Bubeck等人完成的开创性的评估工作使用GPT-4进行了一系列的人工测试,他们发现GPT-4在多个任务上的表现接近或甚至超过了人的表现。这项评估要求人类评估员实际测试和比较模型的性能,而不仅仅是通过自动评估度量评估模型。需要注意的是,即使是人工评估也可能有高的方差和不稳定性,这可能是由于文化和个体差异造成的Peng等人。在实际应用中,这两种评估方法都会根据实际情况进行考虑和权衡。

六、总结

        在这一部分,总结了LLMs在不同任务中的成功和失败案例。

6.1 LLMs能够在哪些方面表现出色?

  • LLMs在生成文本方面展现出熟练度,能够产生流畅且准确的语言表达。
  • LLMs在语言理解方面表现出色,能够进行情感分析和文本分类等任务。
  • LLMs具备强大的语境理解能力,能够生成与输入一致的连贯回答
  • LLMs在多个自然语言处理任务中表现出令人称赞的性能,包括机器翻译、文本生成和问答任务。

6.2 LLMs在什么情况下可能会失败?

  • LLMs在生成过程中可能会表现出偏差和不准确性,导致产生有偏差的输出。
  • LLMs在理解复杂的逻辑和推理任务方面能力有限,在复杂的环境中经常出现混乱或错误。
  • LLMs在处理大量数据集和长期记忆方面面临限制,这可能在处理冗长的文本和涉及长期依赖的任务方面带来挑战。
  • LLMs在整合实时或动态信息方面存在局限性,使得它们不太适合需要最新知识或快速适应变化环境的任务。
  • LLMs对提示非常敏感,尤其是敌对提示,这会触发新的评估和算法,以提高其鲁棒性。
  • 在文本摘要领域,可以观察到LLMs可能在特定的评估指标上表现出低于标准的性能,这可能归因于那些特定指标的内在限制或不足。
  • LLMs在反事实任务中不能取得令人满意的表现。

七、重大挑战

        评估作为一门新学科:我们对大模型评估的总结启发我们重新设计了许多方面。在本节中,我们将介绍以下7个重大挑战。

  • 设计AGI基准测试:什么是可靠、可信任、可计算的能正确衡量AGI任务的评估指标?
  • 设计AGI基准完成行为评估:除去标准任务之外,如何衡量AGI在其他任务、如机器人交互中的表现?
  • 稳健性评估:目前的大模型对输入的prompt非常不鲁棒,如何构建更好的鲁棒性评估准则?
  • 动态演化评估:大模型的能力在不断进化、也存在记忆训练数据的问题。如何设计更动态更进化式的评估方法?
  • 可信赖的评估:如何保证所设计的评估准则是可信任的?
  • 支持所有大模型任务的统一评估:大模型的评估并不是终点、如何将评估方案与大模型有关的下游任务进行融合?
  • 超越单纯的评估:大模型的增强:评估出大模型的优缺点之后,如何开发新的算法来增强其某方面的表现?

八、结论 

       评估具有深远的意义,在AI模型,尤其是大型语言模型的进步中变得至关重要。本文提出了第一份从三个方面对LLMs的评估进行全面概述的调查:评估什么、如何评估和在哪里评估。我们的目标是通过封装评估任务、协议和基准,增强对LLMs当前状态的理解,阐明它们的优点和局限性,并为未来LLMs的进步提供洞见。我们的调查显示,当前的LLMs在许多任务中都存在一定的限制,特别是推理和鲁棒性任务。同时,现代评估系统需要适应和发展的需求仍然明显,以确保准确评估LLMs的固有能力和局限性。我们确定了未来研究应该解决的几个重大挑战,希望LLMs可以逐步增强它们对人类的服务。

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

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

相关文章

优雅的设计测试用例

⭐️前言⭐️ 入职以后接触到了公司的具体业务,提升了设计测试用例的能力,于是沉淀出这篇文档与大家分享。 🍉欢迎点赞 👍 收藏 ⭐留言评论 📝私信必回哟😁 🍉博主将持续更新学习记录收获&…

Acwing.905 区间选点(贪心)

题目 给定N个闭区间[a,bi],请你在数轴上选择尽量少的点,使得每个区间内至少包含一个选出的点。输出选择的点的最小数量。 位于区间端点上的点也算作区间内。 输入格式 第一行包含整数N,表示区间数。 接下来N行,每行包含两个整数…

Linux内核《CPU负载计算》

目录 前言一、什么是CPU负载?二、如何计算CPU负载三、计算CPU负载的一个脚本四、top命令详解 前言 在实际的产品开发中,我们往往需要关注CPU的负载,确保程序可以长久稳定的运行,并且能够重复发挥SOC的性能。Linux中提供了一些命令…

ArrayList和LinkedList

ArrayList的注意事项 1、在ArrayList中可以放任意元素,包括空值,任何元素,且可重复添加。 2、ArrayList底层是由数组来实现数据存储的 3、ArrayList基本等同于Vector,除了ArrayList是线程不安全(执行效率高),看源码 在多线程的…

【Linux系列P7】进度条小程序的深度解剖(细节满满)

​​​​​ ​ 前言 大家好吖,欢迎来到 YY 滴 Linux系列 ,热烈欢迎! 本章主要内容面向接触过Linux的老铁,主要内容含 欢迎订阅 YY滴Linux专栏!更多干货持续更新!以下是传送门! 订阅专栏阅读&am…

SpringBoot项目中MVC使用--【SB系列之010】

SpringBoot系列文章目录 SpringBoot 的项目编译即报错处理–SB系列之001 —第一部的其它章节可以通过001链接 SpringBoot项目中WEB页面放哪里–【SB系列之008】 SpringBoot项目中WEB与Controller的联系–【SB系列之009】 ———————————————— 文章目录 SpringBoo…

线程池学习(五)线程工厂、线程池工厂

Executors 定义的Executor, ExecutorService, ScheduledExecutorService, ThreadFactory和Callable类的工厂和实用程序方法,我们称为线程池工厂。ThreadFactory 为定制化创建新线程的对象,我们称为线程工厂 前面几期的学习中,我已经初步会使用线程池了&…

用于公司文件防泄密用的保密软件(企业数据防泄密软件)

防止公司文件泄露是指采取各种措施和方法,以防止公司的敏感和机密文件被未经授权的人员获取、泄露或滥用的行为。 这些文件可能包含公司的商业机密、客户数据、财务信息、研发成果等重要资料,如果泄露给竞争对手、黑客或其他恶意人员,可能会对…

未在本地计算机上注册“microsoft.ACE.oledb.12.0”提供程序。

offiice64位的按装名字短的,office32位的安装名字长的 安装32位的AccessDatabaseEngine.exe,如果使用64位office点击安装32位access时提示无法安装,此时需要: 1.WINR打开运行,输入CMD,进入安装包文件夹 …

AHD模拟高清方案汇总及国产替代方案

由于模拟高清方案对比LVDS数字高清方案在降本、远距离传输的优势明显,及实现方案相对简单,模拟相机一直在车载和安防监控产品上有着较重要的市场地位。伴随着ZM贸易战和境外疫情影响愈来愈趋于严重化,原有外来品牌公司模拟高清方案在产品交期…

LeetCode 75 第五题(345)反转字符串中的元音字母

题目: 示例: 分析: 给一个字符串,将里面的元音字母反转,并且保持非元音字母不变(包括顺序). 字符串反转类型的题,我们都可以使用双指针来解决:定义首尾指针,分别向中间靠拢,直到首尾指针都指向了元音字母,然后交换首尾指针所指的字母,如此不会影响到非元音字母,同时也将元音字…

【4】Vite+Vue3左右容器中相同属性的元素内容自动对齐

在当今前端开发的领域里,快速、高效的项目构建工具以及使用最新技术栈是非常关键的。ViteVue3 组合为一体的项目实战示例专栏将带领你深入了解和掌握这一最新的前端开发工具和框架。 作为下一代前端构建工具,Vite 在开发中的启动速度和热重载方面具有突…

【运维小知识】(四)——linux常用命令

运维专栏:运维小知识 目录 1.🍁🍁用mv命令修改文件名 2.🍃🍃创建及删除文件夹即文件夹下所有文件 3.🍂🍂移动文件夹并重命名 4.🌿🌿复制文件 5.🍄&#x…

Redis相关配置(3)

⭐ 作者简介:码上言 ⭐ 代表教程:Spring Boot vue-element 开发个人博客项目实战教程 ⭐专栏内容:个人博客系统 ⭐我的文档网站:http://xyhwh-nav.cn/ 文章目录 Redis相关配置1、units2、Include3、loadmodule 加载模块4、NET…

MySQL-多表设计-一对多

多表的设计-概述 项目开发中,在进行数据库表结构设计时,会根据业务需求及业务模块之间的关系,分析并设计表结构,由于业务之间相互关联,所以各个表结构之间也存在着各种联系,基本上分为三种: 一…

【PostgreSQL内核学习(二)—— 查询分析】

查询分析 查询处理查询分析查询处理与查询分析的关系查询分析执行流程Lex和YaccLex:Yacc:词法分析工具Lex语法分析工具Yacc使用Lex和Yacc的案例 词法和语法分析以SELECT语句为例讲解 PostgreSQL中查询语句如何被解析并生成分析树。 语义分析 声明&#x…

【Vue面试题系列】四

VNode有哪些属性? Vue内部定义的Vnode对象包含了以下属性: __v_isVNode: true,内部属性,有该属性表示为Vnode __v_skip: true,内部属性,表示跳过响应式转换,reactive转换时会根据此属性进行判断…

黑马B站视频JAVA部分的知识范围、学习步骤详解

文章目录 学习资源选择最后选择 JAVA的知识范围JDBCswing与JAVAFX JAVA的学习步骤1.右侧的部分:2 JAVA的高级但是必须要学的3 有一些要学(部分)4力扣 总结作业配套资源 学习资源选择 我从画面(一定要看清代码)声音(清…

金融中的数学:概率分布(上)

概率分布是描述随机变量可能取值的概率的函数。它可以用来描述离散变量和连续变量的概率分布。对于离散变量的概率分布,我们称其为离散概率分布。对于连续变量的概率分布,我们称其为连续概率分布。本文主要介绍离散型概率分布。 1.离散型均匀…

华为ospf路由协议在局域网中的高级应用案例

关键配置: 1、出口为ospf区域0,下联汇聚依次区域1、2…,非骨干全部为完全nssa区域 2、核心(abr)上对非骨干区域进行路由汇总,用于解决出口两台路由的条目数量 3、ospf静默接口配置在汇聚下联接接入交换机的…