A Survey on Evaluation of Large Language Models

news2024/11/17 1:30:20

这是LLM相关的系列文章,针对《A Survey on Evaluation of Large Language Models》的翻译。

大型语言模型评价综述

  • 摘要
  • 1 引言
  • 2 背景
    • 2.1 大语言模型
    • 2.2 AI模型评估
  • 3 评估什么
    • 3.1 自然语言处理任务
      • 3.1.1 自然语言理解
      • 3.1.2 推理
      • 3.1.3 自然语言生成
      • 3.1.4 多语言任务
      • 3.1.5 事实
    • 3.2 健壮、道德、偏见和可信度
      • 3.2.1 健壮性
      • 3.2.2 道德和偏见
      • 3.2.3 可信度
    • 3.3 社会科学
    • 3.4 自然科学与工程
      • 3.4.1 数学
      • 3.4.2 一般科学
      • 3.4.3 工程
    • 3.5 医学应用
      • 3.5.1 医学QA
      • 3.5.2 医学检验
      • 3.5.3 医学教育
      • 3.5.4 医学助手
    • 3.6 代理应用
    • 3.7 其他应用
      • 3.7.1 教育
      • 3.7.2 搜索与推荐
      • 3.7.3 人格测试
      • 3.7.4 特定应用
  • 4 在哪里评估:数据集与基准
    • 4.1 一般任务基准
    • 4.2 特定下游任务基准
  • 5 如何评估
    • 5.1 自动评估
    • 5.2 人类评估
  • 6 总结
    • 6.1 任务:LLM成功和失败的案例
      • 6.1.1 LLM能做得好的地方
      • 6.1.2 LLM什么时候会失败
    • 6.2 基准和评估协议
  • 7 重大挑战
    • 7.1 设计AGI的基准
    • 7.2 完整的行为评估
    • 7.3 鲁棒性评估
    • 7.4 动态和演化评估
    • 7.5 原则和可信评估
    • 7.6 支持所有LLM任务的统一评估
    • 7.7 超越评估:LLM增强
  • 8 结论

摘要

大型语言模型(LLM)由于其在各种应用中前所未有的性能,在学术界和工业界都越来越受欢迎。随着LLM在研究和日常使用中继续发挥重要作用,其评估变得越来越重要,不仅在任务层面,而且在社会层面,以更好地了解其潜在风险。在过去的几年里,我们做出了重大努力,从不同的角度来调研LLM。本文对LLM的这些评估方法进行了全面的回顾,重点关注三个关键维度:评估什么、在哪里评估以及如何评估。首先,我们从评估任务的角度进行了概述,包括一般的自然语言处理任务、推理、医学使用、伦理、教育、自然科学和社会科学、代理应用和其他领域。其次,我们通过深入研究评估方法和基准来回答“在哪里”和“如何”的问题,这些方法和基准是评估LLM绩效的关键组成部分。然后,我们总结了LLM在不同任务中的成功和失败案例。最后,我们阐明了LLM评估未来面临的几个挑战。我们的目标是为LLM评估领域的研究人员提供宝贵的见解,从而帮助开发更熟练的LLM。我们的重点是,评估应被视为一门基本学科,以更好地帮助LLM的发展。我们将一致地相关开源材料保存在:https://github.com/MLGroupJLU/LLM-eval-survey.

1 引言

理解智能的本质并确定机器是否体现了它,这对科学家来说是一个令人信服的问题。人们普遍认为,真实的智力使我们具备推理能力,使我们能够检验假设,并为未来的可能发生做好准备。特别是,人工智能(AI)研究人员专注于基于机器的智能的发展,而不是基于生物的智能。正确的测量有助于理解智力。例如,衡量人类个体的一般智力通常包括智商测试。
在人工智能的范围内,图灵测试是一种被广泛认可的测试,通过辨别反应是来自人类还是机器来评估智能,一直是人工智能进化的长期目标。研究人员普遍认为,一台成功通过图灵测试的计算机可以被视为智能机器。因此,从更宽的角度来看,人工智能的编年史可以被描述为智能模型和算法的创建和评估的时间线。随着每一种新的人工智能模型或算法的出现,研究人员总是通过使用特定且具有挑战性的任务进行评估,来仔细检查其在现实世界场景中的能力。例如,感知器算法,在20世纪50年代被吹捧为一种人工通用智能(AGI)方法,后来由于无法解决XOR问题而被发现是不充分的。随后,支持向量机(SVM)和深度学习的兴起和应用标志着人工智能领域的进步和挫折。从以前的尝试中得出的一个重要结论是人工智能评估的至关重要性,它是识别当前系统局限性并为更强大的模型设计提供信息的关键工具。
最近,大型语言模型(LLM)在学术和工业领域都引起了极大的兴趣。正如现有工作所证明的那样,LLM的出色性能为它们在这个时代成为AGI带来了希望。LLM具有解决各种任务的能力,与之前仅限于解决特定任务的模型形成对比。由于LLM在处理不同应用程序(如一般自然语言任务和特定领域任务)方面的出色性能,它越来越多地被有关键信息需求的个人(如学生或患者)使用。
由于以下几个原因,评估对于LLM的成功至关重要。首先,评估LLM有助于我们更好地了解LLM的优势和劣势。例如,PromptBench基准测试表明,当前的LLM对对抗性提示很敏感,因此需要仔细的提示工程才能获得更好的性能。其次,更好的评估可以为人类LLM交互提供更好的指导,这可以启发未来的交互设计和实现。第三,LLM的广泛适用性强调了确保其安全性和可靠性的至关重要性,特别是在金融机构和医疗机构等安全敏感部门。最后,随着LLM越来越大,具有更多的应急能力,现有的评估协议可能不足以评估其能力和潜在风险。因此,我们旨在通过审查当前的评估协议,唤起社区对LLM评估重要性的认识,最重要的是,为未来设计新LLM评估协议的研究提供线索。
随着ChatGPT和GPT-4的引入,已经进行了许多研究工作,旨在从不同方面评估ChatGPT和其他LLM(图2),包括一系列因素,如自然语言任务、推理、稳健性、可信度、医学应用和伦理考虑。尽管作出了这些努力,但仍然缺乏一个涵盖所有评价的全面概览。此外,LLM的不断发展也为评估提供了新的方面,从而挑战了现有的评估协议,并加强了对全面、多方面评估技术的需求。虽然现有的研究,如声称GPT-4可以被视为AGI的火花,但由于其评估方法的启发式性质,其他人对这一说法提出了质疑。
本文是对大型语言模型评价的第一次全面综述。如图1所示,我们从三个维度探索现有工作:1) 评估内容,2)在哪里评估,以及3)如何评估。具体而言,“评估内容”概括了LLM的现有评估任务,“在哪里评估”涉及选择适当的数据集和基准进行评估,而“如何评估”涉及给定适当任务和数据集的评估过程。这三个维度是LLM评估不可或缺的组成部分。我们随后讨论了LLM评估领域未来可能面临的挑战。
本文的贡献如下:

  • 1) 我们从三个方面全面概述了LLM评估:评估什么、在哪里评估以及如何评估。我们的分类是一般性的,涵盖了LLM评估的整个生命周期。
  • 2) 关于评估内容,我们总结了各个领域的现有任务,并就LLM的成功和失败案例得出了有见地的结论(第6节),为未来的研究提供了经验。
  • 3) 至于在哪里进行评估,我们总结了评估指标、数据集和基准,以深入了解当前的LLM评估。在如何评估方面,我们探索了当前的协议,并总结了新的评估方法。
  • 4) 我们进一步讨论了评估LLM的未来挑战。我们开源并维护LLM评估的相关材料https://github.com/MLGroupJLU/LLM,以促进合作社区进行更好的评估。

本文组织如下。在第2节中,我们提供了LLM和人工智能模型评估的基本信息。然后,第3节从“评估什么”的角度回顾了现有的工作。之后,第4节是“评估的地方”部分,总结了现有的数据集和基准测试。第5节讨论了如何进行评估。在第6节中,我们总结了本文的主要发现。我们在第7节和第8节讨论了未来的重大挑战。
在这里插入图片描述
在这里插入图片描述

2 背景

2.1 大语言模型

语言模型(LMs)是一种具有理解和生成人类语言能力的计算模型。LMs具有预测单词序列的可能性或基于给定输入生成新文本的转换能力。N-gram模型是最常见的LM类型,基于前面的上下文来估计单词概率。然而,LMs也面临着挑战,例如稀有或看不见的单词问题、过拟合问题以及捕捉复杂语言现象的困难。研究人员正在不断改进LM架构和训练方法,以应对这些挑战。
大型语言模型(LLM)由于其在自然语言处理任务中的卓越能力,近年来受到了广泛关注。许多LLM(如GPT-3、Instruct GPT和GPT-4)背后的核心模块是Transformer中的自注意模块,它是语言建模任务的基本构建块。Transformers以其高效处理顺序数据的能力彻底改变了NLP领域,允许并行化并捕获文本中的长范围依赖关系。LLM的一个关键特征是无文本学习,其中模型被训练为基于给定的上下文或提示生成文本。这使LLM能够生成更连贯和上下文相关的响应,使其适用于交互式和会话应用程序。从人类反馈中强化学习(RLHF)是LLM的另一个关键方面。这项技术包括使用人为反应作为奖励来微调模型,使模型能够从错误中吸取教训,并随着时间的推移提高性能。
在自回归语言模型中,如GPT-3和PaLM,给定上下文序列 X X X,LM任务旨在预测下一个token y y y。通过最大化上下文条件下给定token序列的概率来训练模型,即 P ( y ∣ X ) = P ( y ∣ x 1 , x 2 , ⋯   , x t − 1 ) P(y|X)=P(y|x_1,x_2,\cdots,x_{t-1}) P(yX)=P(yx1,x2,,xt1),其中 x 1 , x 2 , ⋯   , x t − 1 x_1,x_2,\cdots,x_{t-1} x1,x2,,xt1是上下文序列中的标记, t t t是当前位置。通过使用链式规则,条件概率可以分解为每个位置的概率的乘积:
P ( y ∣ X ) = ∏ t = 1 T P ( y t ∣ x 1 , x 2 , ⋯   , x t − 1 ) , P(y|X)=\prod^T_{t=1}P(y_t|x_1,x_2,\cdots,x_{t-1}), P(yX)=t=1TP(ytx1,x2,,xt1),
其中T是序列长度。通过这种方式,模型以自回归的方式预测每个位置的每个标记,生成完整的文本序列。
与LLM交互的一种常见方法是提示工程,用户设计并提供特定的提示文本,以指导LLM生成所需响应或完成特定任务。这在现有的评价工作中被广泛采用。人们还可以参与问答互动,向模型提出问题并获得答案,或者参与对话互动,与LLM进行自然语言对话。总之,LLM凭借其Transformer架构、上下文学习和RLHF功能,已经彻底改变了NLP,并在各种应用中具有前景。表1提供了传统ML、深度学习和LLM的简要比较。
在这里插入图片描述

2.2 AI模型评估

人工智能模型评估是评估模型性能的重要步骤。有一些标准的模型评估协议,包括K-fold交叉验证、Holdout验证、Leave One Out交叉验证(LOOCV)、Bootstrap和Reduced Set。例如,k次交叉验证将数据集划分为k个部分,其中一部分作为测试集,其余部分作为训练集,这可以减少训练数据的损失,并获得相对更准确的模型性能评估;Holdout验证将数据集分为训练集和测试集,计算量较小,但可能存在更显著的偏差;LOOCV是一种独特的K折叠交叉验证方法,其中仅使用一个数据点作为测试集;约简集用一个数据集训练模型,并用其余数据对其进行测试,这在计算上很简单,但适用性有限。应根据具体问题和数据特征选择适当的评估方法,以获得更可靠的绩效指标。
在这里插入图片描述
图3展示了包括LLM在内的人工智能模型的评估过程。由于广泛的训练规模,一些评估协议可能不适用于评估深度学习模型。因此,长期以来,对静态验证集的评估一直是深度学习模型的标准选择。例如,计算机视觉模型利用静态测试集,如ImageNet和MS COCO进行评估。LLM也使用GLUE或SuperGLUE作为常见的测试集。
随着LLM越来越受欢迎,其可解释性甚至更差,现有的评估协议可能不足以彻底评估LLM的真实能力。我们将在第5节介绍LLM的最新评估。

3 评估什么

我们应该评估哪些任务来展示LLM的性能?在哪些任务上,我们可以宣称LLM的优势和劣势?在本节中,我们将现有任务分为以下类别:自然语言处理任务、伦理和偏见、医学应用、社会科学、自然科学和工程任务、代理应用(使用LLM作为代理)和其他。

3.1 自然语言处理任务

开发语言模型,特别是大型语言模型的最初目标是提高自然语言处理任务的性能,包括理解和生成。因此,大多数评价研究主要集中在自然语言任务上。表2总结了现有研究的评估方面,我们主要在下面强调了他们的结论。
在这里插入图片描述

3.1.1 自然语言理解

自然语言理解代表了一系列旨在更好地理解输入序列的任务。我们从几个方面总结了LLM评估的最新进展。
情感分析是一项分析和解读文本以确定情感倾向的任务。它通常是一个二元(正和负)或三元(正、中性和负)类分类问题。评估情绪分析任务是一个流行的方向。梁等;曾等人表明,模型性能往往很高。ChatGPT的情绪分析预测性能优于传统的情绪分析方法,接近GPT3.5。在低资源学习环境中,LLM比小语言模型表现出显著的优势,但ChatGPT理解低资源语言的能力有限。总之,LLM在情绪分析任务中表现出了值得称赞的表现。未来的工作应该侧重于提高他们用资源不足的语言理解情绪的能力。
文本分类和情感分析是相关的领域,文本分类不仅关注情感,还包括对所有文本和任务的处理。梁等人表明,GLM-130B是性能最好的模型,对杂项文本分类的总体准确率为85.8%。Yang和Menczer发现,ChatGPT可以为各种新闻媒体提供可信度评级,这些评级与人类专家的评级具有适度相关性。此外,ChatGPT在二元分类场景中达到了可接受的准确性(AUC=0.89)。Pena等人讨论了公共事务文档的主题分类问题,并表明使用LLM主干与SVM分类器相结合是在公共事务领域进行多标签主题分类任务的有用策略,准确率超过85%。总体而言,LLM在文本分类方面表现良好,甚至可以在非常规问题设置中处理文本分类任务。
自然语言推理(NLI)的任务是确定给定的“假设”是否从“前提”逻辑上遵循。秦等人表明,ChatGPT在NLI任务方面优于GPT-3.5。他们还发现,ChatGPT在处理事实输入方面表现出色,这可归因于其RLHF训练过程有利于人类反馈。然而,Lee等人观察到LLM在NLI范围内表现不佳,并且在代表人类分歧方面进一步失败,这表明LLM在该领域仍有很大的改进空间。
语义理解是指对语言及其相关概念的含义或理解。它涉及到对单词、短语、句子以及它们之间的关系的解释和理解。语义处理超越了表面层面,侧重于理解潜在的含义和意图。陶等人全面评估了LLM的事件语义处理能力,包括对事件语义的理解、推理和预测。结果表明,LLM具有对单个事件的理解,但其感知事件之间语义相似性的能力受到限制。在推理任务中,LLM在因果关系和意向关系中表现出强大的推理能力,但在其他关系类型中的表现相对较弱。在预测任务中,LLM通过增加上下文信息来增强对未来事件的预测能力。Riccardi和Desai探讨了LLM的语义熟练度,并表明这些模型在评估基本短语方面表现不佳。此外,GPT-3.5和Bard无法区分有意义的短语和无意义的短语,始终将高度无意义的词语归类为有意义的。GPT-4表现出显著的改进,但其性能仍明显低于人类。总之,LLM在语义理解任务中的性能较差。未来,我们可以从这方面入手,重点提高它在这个应用程序上的性能。
在社会知识理解领域,Choi等人评估了模型在学习和识别社会知识概念方面的表现,结果表明,尽管参数数量小得多,但BERT等监督模型的微调比使用最先进LLM的零样本模型的性能好得多,如GPT、GPT-J-6B等。这表明监督模型显著优于零样本模型,并且在这种情况下,更多参数并不能保证更多的社会知识。

3.1.2 推理

从表2可以发现,评估LLM的推理能力是一个流行的方向,越来越多的文章专注于探索其推理能力。对于智能人工智能模型来说,推理任务是一项极具挑战性的任务。它要求模型不仅要理解给定的信息,还要在没有直接答案的情况下,从现有的上下文中推理和推断。目前,对推理任务的评价大致可以分为数学推理、常识推理、逻辑推理、专业领域推理等。
ChatGPT在大多数算术推理任务上优于GPT-3.5,表明ChatGPT具有较强的算术推理能力,但ChatGPT仍缺乏数学推理能力。在符号推理任务中,ChatGPT大多比GPT-3.5差,这可能是因为ChatGPT容易产生不确定的响应,导致性能差。在逻辑推理方面,刘等人指出,ChatGPT和GPT-4在大多数逻辑推理基准上都优于传统的微调方法,证明了它们在逻辑推理中的优越性。然而,这两种模型在处理新数据和分布外数据时都面临挑战。ChatGPT的性能不如其他LLM,包括GPT3.5和BARD。这是因为ChatGPT是专门为聊天而设计的,所以它在保持理性方面做得很好。FLANT5、LLaMA、GPT-3.5和PaLM在一般演绎推理任务中表现良好。GPT-3.5不善于在归纳环境中保持面向推理。对于多步骤推理,Fu等人表明,PaLM和Claude2是仅有的两个实现了与GPT模型族类似性能(但仍比GPT模型家族差)的模型族。此外,LLaMA-65B是迄今为止最强大的开源LLM,其性能与代码-davinci-002非常接近。一些论文分别评估了ChatGPT在一些推理任务上的性能:ChatGPT通常在常识推理任务上表现不佳,但相对优于非文本语义推理。同时,ChatGPT也缺乏空间推理能力,但表现出更好的时间推理能力。最后,虽然ChatGPT在因果推理和类比推理方面的性能是可以接受的,但它在多跳推理能力方面表现不佳,这与其他LLM在复杂推理方面的弱点相似。在专业领域推理任务中,zeroshot InstructionGPT和Codex能够完成复杂的医学推理任务,但仍需进一步改进。在语言洞察力问题方面,证明了ChatGPT解决语言洞察力问题的潜力,因为ChatGPT的表现与人类参与者相当。需要注意的是,上述结论大多是针对特定数据集得出的。总体而言,LLM在推理方面显示出巨大的潜力,并呈现出持续改进的趋势,但仍面临许多挑战和局限,需要更深入的研究和优化。

3.1.3 自然语言生成

自然语言生成(NLG)评估LLM生成特定文本的能力,该文本由几个任务组成,包括摘要、对话生成、机器翻译、问答和其他开放式生成应用程序。
摘要是一项生成任务,旨在学习给定句子的简明摘要。在这条评估线中,梁等人表明,TNLG v2(530B)在两种情况下得分最高,OPT(175B)排名第二。令人失望的是,ChatGPT有时会生成比输入文档更长的摘要。微调Bart仍优于零样本ChatGPT。具体而言,ChatGPT与text-davinci-002具有相似的零样本性能,但性能不如GPT-3.5。在可控文本摘要中,Pu和Demberg表明,与人类摘要相比,ChatGPT摘要的提取性略强(即包含更多直接从源复制的内容)。以上表明,LLM,尤其是ChatGPT,在总结任务方面表现一般,但总结和概括能力仍有待提高。
评估LLM在对话任务中的性能对于开发对话系统和改善人机交互至关重要。通过这样的评估,可以提高模型的自然语言处理能力、上下文理解能力和生成能力,从而实现更智能、更自然的对话系统。与GPT-3.5相比,Claude和ChatGPT通常在所有维度上都实现了更好的性能。在比较Claude和ChatGPT模型时,这两个模型在不同的评估维度上都表现出了竞争力,其中Claude在特定配置上略优于ChatGPT。Bang等人测试了ChatGPT在各种对话设置中的响应生成:1)基于知识的开放领域对话和2)面向任务的对话。自动评估结果显示,与在基于知识的开放域对话数据集上微调的GPT2相比,ChatGPT的性能相对较低。在面向任务的对话中,ChatGPT的性能是可以接受的,但当出现以下问题时,它很容易出错:长期多回合依赖、基本推理失败和外在幻觉。
虽然LLM没有针对翻译任务进行明确的训练,但它确实可以显示出强大的性能。王等人表明,与商业机器翻译(MT)系统相比,ChatGPT和GPT-4在人类评估方面表现出了优越的性能,并且在sacreBLEU方面优于大多数文档级NMT方法。在对比测试中,将ChatGPT与传统翻译模型进行比较时,其准确性较低。另一方面,GPT-4在解释话语知识方面表现出强大的能力,尽管可能会选择不正确的翻译候选者。(Bang等人)中的结果表明,ChatGPT可以执行 X → Eng X\rightarrow \text{Eng} XEng翻译不错,但仍缺乏能力执行 Eng → X \text{Eng}\rightarrow X EngX翻译。总之,尽管LLM在翻译任务中表现令人满意,但仍有改进的空间。具体而言,应优先提高从英语到非英语的翻译能力。
问答是人机交互领域的关键技术之一,已广泛应用于搜索引擎、智能客服、智能问答等应用场景。测量QA模型的准确性和效率将对这些应用具有重要意义。梁等人表明,在所有评估的模型中,InstructionGPT davinci v2(175B)在9个问答场景的准确性、稳健性和公平性方面表现最好。GPT-3.5和ChatGPT在回答一般知识问题的任务上比GPT-3有了显著的改进。ChatGPT在大多数领域的表现优于GPT3.5超过2%。然而,ChatGPT在CommonsenseQA和Social IQA方面略微落后于GPT3.5。这是因为ChatGPT可能很谨慎,在没有足够信息的情况下拒绝给出答案。包括Vicuna和ChatGPT在内的微调模型在得分方面表现出近乎完美的性能,远远优于没有监督微调的模型。总体而言,LLM在QA任务上表现完美,未来可以进一步提高社交、事件和时间常识知识的表现。
还有其他生成任务。在句子风格迁移领域,Pu和Demberg表明,ChatGPT通过在同一子集上训练进行小样本学习,表现优于先前的监督SOTA模型,这从较高的BLEU分数中可以明显看出。在控制句子风格的正式性方面,与人类行为相比,ChatGPT的表现仍然表现出显著差异。在写作任务中,Chia等人发现LLM在基于写作的任务中表现一致,包括信息性、专业性、议论文和创造性写作类别,显示了他们的一般写作能力。在文本生成质量方面,Chen等人表明,在没有参考文本的情况下,ChatGPT能够从各种角度有效评估文本质量,并且优于大多数现有的自动化指标。在各种测试方法中,使用ChatGPT生成文本质量的数字分数被认为是最可靠和有效的方法。

3.1.4 多语言任务

许多LLM是根据混合语言训练数据进行训练的。虽然英语是主要语言,但多语言数据的结合确实有助于LLM获得用不同语言处理输入和生成响应的能力,使其在全球范围内被广泛采用和接受。然而,鉴于这项技术的出现相对较晚,LLM主要根据英语数据进行评估,而评估其多语言性能是一个不可忽视的重要方面。几篇文章以不同的非英语语言对LLM在各种NLP任务中的表现进行了全面、开放和独立的评估,为未来的研究和应用提供了适当的视角。
Abdelali等人评估了ChatGPT在标准阿拉伯语NLP任务中的性能,发现在大多数任务的零样本设置中,ChatGPT的性能低于SOTA。Bang等人;赖等人张等人在更多的数据集上使用了更多的语言,涵盖了更多的任务,并对LLM进行了更全面的评估。结果显示,LLM(包括BLOOM、Vicuna、Claude、ChatGPT和GPT-4)在非拉丁语言和低资源语言中的表现更差。尽管语言资源丰富,Bang等人强调,ChatGPT在翻译非拉丁文字语言的句子方面面临限制。上述情况表明,LLM在多语言任务方面存在许多挑战和充足的机会。未来的研究应该关注多语言的平衡,努力解决非拉丁语言和低资源语言的问题,以更好地支持世界各地的用户。同时,应注意语言的公正性和中立性,以避免模型的英语偏见或其他偏见对多语言应用程序的影响。

3.1.5 事实

LLM背景下的事实性是指模型提供的信息或答案与真实世界的真相和可验证的事实一致的程度。LLM中的事实性对各种任务和下游应用程序产生了重大影响,如问答系统、信息提取、文本摘要、对话系统和自动事实核查,其中不正确或不一致的信息可能会导致严重的误解。为了信任和有效地使用这些模型,评估真实性非常重要。这包括这些模型能够与已知事实保持一致,避免产生误导或虚假信息(称为“事实幻觉”),并有效地学习和回忆事实知识。已经提出了一系列方法来衡量和提高LLM的真实性。
王等人通过让大型模型直接回答基于自然问题和TriviaQA数据集的开放式问题,评估大型模型的内部知识,特别是InstructionGPT、ChatGPT-3.5、ChatGPT-4和BingChat。评估是通过人为评估进行的。论文发现,虽然ChatGPT-4和BingChat可以正确回答80%以上的问题,但要实现完全准确,仍有15%以上的差距。Honovich等人回顾了现有的事实一致性评估方法,指出与二元标签相比,缺乏统一的比较,相关分数的参考值有限。它们将现有的与事实一致性相关的任务转换为二进制标签,只考虑与输入文本存在事实冲突的情况,而不考虑外部知识。研究发现,基于自然语言推理(NLI)和问题生成问答(QG-QA)的事实评价方法表现最好,并且可以相互补充。Pezeshkpour提出了一种基于信息论的新度量标准,用于衡量LLM中是否包含特定知识。它使用知识中的不确定性来衡量真实性,通过LLM填写提示并检查答案的概率分布来计算。讨论了两种注入知识的方法:显式地通过在提示中包含知识,隐式地通过微调知识片上的LLM。论文表明,该方法在准确性上优于传统的排名方法指标30%以上。Gekhman等人改进了摘要任务的事实一致性评估方法。它建议在由多个模型生成并由LLM注释的摘要上训练学生NLI模型,以实现事实一致性。然后,将这个经过训练的学生模型用于总结事实一致性评估。Manakul等人对LLM如何产生事实或幻觉反应的两个假设进行了操作。它建议使用三个公式(BERTScore、MQAG、n-gram)来评估事实性,并利用替代LLM来收集黑箱语言模型的token概率。研究发现,仅仅计算句子的可能性或熵就有助于验证回答的真实性。Min等人将LLM生成的文本分解为单独的“原子”事实,然后对其正确性进行评估。FActScore用于通过计算F1分数来衡量估计器的性能。本文测试了各种估计量,并揭示了当前的估计量离有效地解决这一任务还有一段路要走。林等人介绍了TruthfulQA数据集,该数据集旨在导致模型出错。几个语言模型在提供事实答案方面进行了测试。研究结果表明,简单地扩大模型规模可能不会提高其真实性,并为训练方法提供了建议。该数据集被广泛用于评估LLM的真实性。

3.2 健壮、道德、偏见和可信度

LLM的评估包括稳健性、道德、偏见和可信度等关键方面。这些因素在全面评估LLM绩效方面变得越来越重要。
在这里插入图片描述

3.2.1 健壮性

鲁棒性研究系统在面对意外输入时的稳定性。具体而言,分布外(OOD)和对抗性鲁棒性是鲁棒性的两个热门研究课题。王等人是一项早期工作,使用现有的基准,如AdvGLUE、ANLI和DDXPlus数据集,从对抗性和面向对象的角度评估了ChatGPT和其他LLM。卓等人评估了语义解析的稳健性。杨等人通过扩展GLUE数据集来评估OOD的稳健性。这项研究的结果强调了在操纵视觉输入时对整个系统安全的潜在风险。对于视觉语言模型,赵等人评估了LLM对视觉输入的影响,并将其转移到其他视觉语言模型中,揭示了视觉输入的脆弱性。李等人概述了语言模型的面向对象评价:对抗性鲁棒性、领域泛化和数据集偏差。作者比较并统一了三条研究路线,总结了每条路线的数据生成过程和评估协议,并强调了未来工作的挑战和机遇。
关于对抗性鲁棒性,朱等人通过提出一个名为PromptBench的统一基准来评估LLM对提示的鲁棒性。他们从多个层面(字符、单词、句子和语义)综合评估了对抗性文本攻击。结果表明,当代LLM容易受到对抗性提示的影响,这突出了模型在面对对抗性输入时鲁棒性的重要性。

3.2.2 道德和偏见

LLM被发现会内化、传播并潜在地放大爬取训练语料库中存在的有害信息,通常是有毒语言,如攻击性、仇恨言论和侮辱,以及社会偏见,如对具有特定人口身份(如性别、种族、宗教、职业和意识形态)的人的刻板印象。最近,Zhuo等人使用传统的测试集和指标对ChatGPT的毒性和社会偏见进行了系统评估,发现它在一定程度上仍然表现出有害内容。更进一步,Deshpande等人在模型中引入了角色扮演,并观察到产生的毒性增加了6倍。此外,这种角色扮演也造成了对特定实体的偏见毒性。与简单地测量社会偏见不同,Ferrara调查了ChatGPT可能产生的这些偏见的来源、潜在机制和相应的伦理后果。除了社会偏见之外,LLM还通过政治倾向和人格特征进行了评估,基于政治指南针测试和MBTI测试等问卷,证明了进步观点的倾向和ENFJ人格类型。此外,GPT-3等LLM被发现在道德基础理论方面存在道德偏见;还观察到ChatGPT对文化价值观表现出一定的偏见。所有这些道德问题都可能引发严重风险,阻碍LLM的部署,并对社会产生深远的负面影响。

3.2.3 可信度

最后,一些工作侧重于其他可信度。王等人进行的研究发现了GPT模型中的可信度漏洞,揭示了其容易被误导,并产生有害的、有偏见的输出,这些输出可能会暴露私人信息。虽然GPT-4在标准化评估中通常比GPT-3.5表现出更高的可信度,但它也更容易受到攻击。在Hagendorff和Fabi的另一项研究中,对认知能力增强的LLM进行了评估。研究人员发现,这些模型可以避免人类常见的直觉和认知错误,表现出超理性的表现。通过认知反射测试和语义错觉实验,研究人员深入了解了LLM的心理方面。这种方法为评估模型偏见和道德问题提供了新的视角,这些问题以前可能没有被发现。

3.3 社会科学

社会科学涉及对人类社会和个人行为的研究,包括经济学、社会学、政治学、法学等学科。评估LLM在社会科学领域的表现对学术研究、政策制定和社会问题解决具有重要意义。这种评价有助于提高社会科学模型的适用性和质量,增进对人类社会的了解,促进社会进步。
吴等人评估了LLM在解决社会科学中的缩放和测量问题方面的潜在用途,发现LLM可以产生关于政治意识形态的有意义的反应,并显著改进社会科学中文本作为数据的方法。
在计算社会科学(CSS)任务中,Ziems等人对几个CSS任务的LLM进行了全面评估。在分类任务中,LLM在事件论点提取、人物比喻、隐含仇恨和移情分类方面表现出最低的绝对性能,准确率低于40%。这些任务要么涉及复杂的结构(事件自变量),要么涉及语义与LLM预训练过程中学习到的语义不同的主观专家分类法。相反,LLM在错误信息、立场和情绪分类方面的绝对表现最高。当涉及到生成任务时,LLM通常会产生超过众包工作者提供的黄金参考质量的解释。总之,虽然LLM可以极大地增强传统的CSS研究管道,但它们不能完全取代它。
一些文章还对法律任务方面的LLM进行了评估。LLM在案件判决总结中的零样本表现平庸。LLM有几个问题,包括不完整的句子和单词,多个句子被毫无意义地合并,以及更严重的错误,如信息不一致和产生幻觉。研究结果表明,LLM有必要进一步改进,以便于法律专家对案件判决进行总结。Nay等人指出,LLM,特别是与提示增强和正确的法律文本相结合时,可以表现得更好,但还没有达到税务律师的专业水平。
总之,尽管这些模型在各种任务中表现出了出色的性能,但现有的模型主要是为单任务系统设计的,缺乏足够的表达和交互能力,这在它们的能力与实际临床需求之间造成了差距。尽管这些模型为交互式医疗系统带来了希望,但它们仍然面临着产生错误输出和幻觉等挑战,这使得它们目前不适合在现实世界场景中直接应用。

3.4 自然科学与工程

在这里插入图片描述
评估LLM在自然科学和工程领域的性能有助于指导科学研究、技术开发和工程研究中的应用和发展。

3.4.1 数学

对于基本的数学问题,大多数大型语言模型(LLM)都表现出加减法的熟练程度,并具有一定的乘法能力。然而,当涉及到除法、求幂、三角函数和对数函数时,它们面临着挑战。另一方面,LLM在处理十进制数、负数和无理数方面表现出能力。就性能而言,GPT-4和ChatGPT显著优于其他模型,显示了它们在解决数学任务方面的优势。这两个模型在处理大量(大于1e12)和复杂、冗长的数学查询时具有明显的优势。GPT-4优于ChatGPT,由于其卓越的除法和三角运算能力、对无理数的正确理解以及对长表达式的一致逐步计算,其精度显著提高了10个百分点,相对误差减少了50%。当面对复杂且具有挑战性的数学问题时,LLM表现出较差的性能。具体而言,GPT3表现出几乎随机的性能,而GPT-3.5表现出改进,GPT-4表现最好。然而,即使在新模型上取得了进步,最高性能仍低于40%。代数运算和计算的具体任务继续给GPT带来挑战。GPT-4在这些任务中性能低下的主要原因是代数操作中的错误和检索相关领域特定概念的困难。吴等人评估了GPT-4在高中竞赛难题上的使用,GPT-4对一半类别的准确率达到60%。中间代数和前微积分只能以大约20%的低准确率求解。ChatGPT不擅长回答有关导数和应用、Oxyz空间微积分和空间几何等主题的问题。表明,ChatGPT的表现随着任务难度的增加而恶化:它在识别水平上正确回答了83%的问题,在理解水平上正确答复了62%,在应用水平上正确解答了27%,在最高认知复杂度水平上仅正确回答了10%。鉴于这些问题在更高的知识水平上往往更复杂,需要深入的理解和解决问题的技能,这样的结果是意料之中的。这些结果表明,LLM的能力很容易受到问题复杂性的影响。它对设计用于处理此类具有挑战性任务的优化人工智能系统具有重要意义。

3.4.2 一般科学

LLMs在化学中的应用仍处于初级阶段。Castro Nascimento和Pimentel在化学的不同亚区提出了五项简单的任务,以评估ChatGPT对化学的理解,准确率从25%到100%不等。表明,LLM在物理问题上的表现比化学问题差,这可能是因为在这种情况下,化学问题的推理复杂度比物理问题低。普通科学中对LLM的评价研究很少,现有的评价结果表明LLM在该领域的表现仍有待提高。

3.4.3 工程

在工程领域,任务从容易到困难可以安排为代码生成、软件工程和常识规划。在代码生成任务中,为任务训练的较小LLM在性能上具有竞争力,并且CODEGEN-16B在性能上与使用较大参数设置的ChatGPT相当,达到约78%的匹配。在软件工程任务中,ChatGPT通常表现可靠,其响应详细,通常比人工专家输出或SOTA输出更好。然而,在其他一些任务的情况下,如代码漏洞检测和基于信息检索的测试优先级,当前形式的ChatGPT无法提供准确的答案,因此不适合此类任务。在常识性的规划任务中,LLM可能并不好,即使在人类擅长的简单规划任务中也是如此。Pallagani等人证明,微调的CodeT5模型在所有考虑的领域中表现最好,推理时间最少。此外,它还探讨了LLM是否能够进行计划概括,并发现概括能力似乎有限。事实证明,LLM可以处理简单的工程任务,但在复杂的工程任务上表现不佳。

3.5 医学应用

LLM在医学领域的应用最近受到了极大的关注。在本节中,我们回顾了将LLM应用于医疗应用的现有努力。具体而言,我们将其分为四个方面,如表5所示:医疗质量保证、医疗检查、医疗评估和医疗教育。

3.5.1 医学QA

3.5.2 医学检验

3.5.3 医学教育

3.5.4 医学助手

3.6 代理应用

3.7 其他应用

3.7.1 教育

3.7.2 搜索与推荐

3.7.3 人格测试

3.7.4 特定应用

4 在哪里评估:数据集与基准

4.1 一般任务基准

4.2 特定下游任务基准

5 如何评估

5.1 自动评估

5.2 人类评估

6 总结

在本节中,我们根据第3、4和5节中的综述总结了主要发现。

6.1 任务:LLM成功和失败的案例

我们现在总结LLM在不同任务中的成功和失败案例。请注意,以下所有结论都是基于现有的评估工作得出的,结果仅取决于特定的数据集。

6.1.1 LLM能做得好的地方

  • LLM通过产生流畅和精确的语言表达来展示生成文本的能力。
  • LLM在涉及语言理解的任务中表现出令人印象深刻的表现,如情感分析和文本分类。
  • LLM表现出强大的上下文理解能力,使其能够生成与给定输入一致的连贯响应。
  • LLM在几个自然语言处理任务中取得了值得称赞的性能,包括机器翻译、文本生成和问答。

6.1.2 LLM什么时候会失败

  • LLM在生成过程中可能表现出偏差和不准确,导致产生有偏差的输出。
  • LLM理解复杂逻辑和推理任务的能力有限,经常在复杂的环境中遇到困惑或出错。
  • LLM在处理大量数据集和长期记忆方面面临限制,这可能会对处理涉及长期依赖的冗长文本和任务带来挑战。
  • LLM在整合实时或动态信息方面存在局限性,使其不太适合需要最新知识或快速适应不断变化的环境的任务。
  • LLM对提示很敏感,尤其是对抗性提示,这会触发新的评估和算法来提高其稳健性。
  • 在文本摘要领域,据观察,大型模型可能在特定的评估指标上表现出较差的性能,这可能归因于这些特定指标中的固有局限性或不足之处。

6.2 基准和评估协议

随着LLM的快速发展和广泛使用,评估LLM在实际应用和研究中的重要性变得至关重要。这一评估过程不仅应包括任务层面的评估,还应从社会角度深入了解其构成的潜在风险。在本节中,我们在表8中总结了现有的基准测试和评估协议。
在这里插入图片描述
首先,从客观计算转向人在环测试,在评估过程中允许更多的人的反馈。AdaVision是一个测试视觉模型的交互式过程,使用户能够标记少量数据以确保模型的正确性,这有助于用户识别和修复连贯的故障模式。在AdaTest中,用户仅通过选择高质量测试并将其组织成语义相关的主题来过滤LLM建议的测试样本。
其次,从静态测试集转向众包测试集变得越来越普遍。DynaBench、DynaBoard和DynaTask等工具依赖众包工作者来创建和测试硬样本。此外,DynamicTempLAMA允许动态构建时间相关测试。
第三,在评估机器学习模型时,从统一环境转变为具有挑战性的环境。虽然统一设置涉及对任何特定任务没有偏好的测试集,但具有挑战性的设置会为特定任务创建测试集。DeepTest等工具使用种子生成用于测试的输入转换,CheckList基于模板构建测试集,AdaFilter反向构建测试。然而,值得注意的是,AdaFilter可能并不完全公平,因为它依赖于对抗性的例子。HELM从不同方面评估LLM,而Big Bench平台用于设计机器学习模型要处理的硬任务。PromptBench旨在通过创建对抗性提示来评估LLM的对抗性鲁棒性,这更具挑战性,结果表明当前LLM对对抗性提示不具有鲁棒性。

7 重大挑战

评估作为一门新学科:我们对LLM评估的总结启发我们重新设计广泛的方面。在本节中,我们提出了几个重大挑战。我们的重点是,评估应该被视为推动LLM和其他人工智能模型成功的一个重要学科。现有的协议不足以彻底评估LLM,这可能会为未来LLM评估研究带来新的机会。

7.1 设计AGI的基准

正如我们前面所讨论的,虽然所有任务都有可能作为LLM的评估工具,但问题仍然是谁可以真正衡量AGI能力。正如我们期望LLM展示AGI能力一样,全面了解人类和AGI能力之间的差异对于创建AGI基准至关重要。主流趋势似乎将AGI概念化为超人实体,从而利用教育、心理学和社会科学等领域的跨学科知识来设计创新基准。尽管如此,仍然有许多悬而未决的问题。例如,将人类价值观作为测试构建的起点有意义吗?还是应该考虑其他视角?制定适当的AGI基准的过程提出了许多有待进一步探索的悬而未决的问题。

7.2 完整的行为评估

一个想法AGI评估不仅应该包含常见任务的标准基准,还应该包含开放任务的评估,如完整的行为测试。所谓行为测试,我们的意思是AGI模型也应该在开放的环境中进行评估。例如,通过将LLM视为中心控制器,我们可以对LLM操纵的机器人进行评估,以测试其在实际情况下的行为。通过将LLM视为一个完全智能的机器,还应该考虑对其多模态维度的评估。事实上,完整的行为评估是对标准AGI基准的补充,它们应该协同工作以进行更好的测试。

7.3 鲁棒性评估

除了一般任务外,鉴于LLM广泛融入日常生活,LLM必须保持对各种输入的稳健性,以便为最终用户提供最佳性能。例如,相同的提示但具有不同的语法和表达式可能导致ChatGPT和其他LLM生成不同的结果,这表明当前LLM对输入不健壮。虽然之前有一些关于稳健性评估的工作,但仍有很大的进步空间,例如包括更多样的评估集,检查更多的评估方面,以及开发更有效的评估来生成稳健性任务。与此同时,稳健性的概念和定义也在不断演变。因此,至关重要的是要考虑更新评价制度,以便更好地符合与道德操守和偏见有关的新要求。

7.4 动态和演化评估

大多数人工智能任务的现有评估协议依赖于静态和公共基准,即评估数据集和协议通常是公开的。虽然这有助于在社区内进行快速方便的评估,但鉴于LLM的快速发展,它无法准确评估其不断发展的能力。LLM的能力可能会随着时间的推移而增强,而现有的静态基准无法对其进行一致的评估。另一方面,随着LLM随着模型大小和训练集大小的增大而变得越来越强大,LLM可能会记住静态和公共基准,从而导致潜在的训练数据污染。因此,开发动态和不断发展的评估系统是公平评估LLM的关键。

7.5 原则和可信评估

在引入评估系统时,确定其完整性和可信度至关重要。因此,可信计算的必要性也延伸到了对可靠评估系统的要求。这提出了一个具有挑战性的研究问题,该问题与测量理论、概率和许多其他领域交织在一起。例如,我们如何确保动态测试真正生成分布外的示例?这一领域的研究很少,希望未来的工作不仅要仔细审查算法,还要仔细审查评估系统本身。

7.6 支持所有LLM任务的统一评估

LLM还有许多其他研究领域,我们需要开发能够支持各种任务的评估系统,如价值校准、安全、验证、跨学科研究、微调等。例如,PandaLM是一个评估系统,通过提供开源评估模型来帮助LLM微调,该模型可以自动评估微调的性能。我们预计,更多的评估系统将变得更加通用,并可用于某些LLM任务。

7.7 超越评估:LLM增强

归根结底,评价不是最终目标,而是起点。在评估之后,无疑会得出关于性能、稳健性、稳定性和其他因素的结论。一个熟练的评估系统不仅应该提供基准结果,还应该为未来的研究和开发提供富有洞察力的分析、建议和指导。例如,PromptBench不仅提供了对抗性提示的稳健性评估结果,还通过注意力可视化进行了全面分析,阐明了对抗性文本如何导致错误反应。该系统还提供了词频分析,以识别测试集中的鲁棒和非鲁棒单词,从而为最终用户提供提示工程指导。后续研究可以利用这些发现来增强LLM。因此,这项任务超出了单独评估协议的设计范围。

8 结论

评估具有深远的意义,在人工智能模型的发展中变得势在必行,尤其是在大型语言模型的背景下。本文首次从评估内容、评估方式和评估地点三个方面对LLM的评估进行了全面综述。通过封装评估任务、协议和基准,我们的目标是增强对LLM现状的理解,阐明其优势和局限性,并为未来LLM的发展提供见解。
我们的综述显示,当前的LLM在许多任务中表现出一定的局限性,尤其是推理和稳健性任务。与此同时,现代评估系统适应和发展的必要性仍然很明显,以确保准确评估LLM的固有能力和局限性。我们确定了未来研究应该解决的几个重大挑战,希望LLM能够逐步加强对人类的服务。

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

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

相关文章

vue——接口修改请求头——有些接口不需要请求头传递token——基础积累

最近在写后台管理系统的时候,遇到一个切换租户的功能。在请求接口的时候不需要传递token 直接上代码吧: 1.html代码 login2(this.user.id, this.ruleForm.tenantType) .then(this.afterLogin) .finally(() > {this.confirmLoading false;if (this…

ja3指纹和akamai指纹

问题: 请求失效,带上抓包软件却可以->检测ja3浏览器指纹 方法,python 安装curl_cffi库 pip install curl_cffi 查看浏览器指纹 https://tls.browserleaks.com/json python 原生request 缺少两个指纹 使用curl_cffi之后 可以看到结果…

多模态系列论文--BLIP 详细解析

论文地址:BLIP: Bootstrapping Language-Image Pre-training for Unified Vision-Language Understanding and Generation 论文代码:https://github.com/salesforce/BLIP BLIP 1 研究动机及本文贡献2 相关工作2.1 ALBEF模型2.2 VLMO模型 3 本文贡献1--U…

LLaMA: Open and Efficient Foundation Language Models

背景 用最少的计算资源,解决了LLM大模型预测问题,训练了一些列的LLaMa模型,在参数量比较少的情况下,达到业界大模型效果。 主要贡献就是提升了LLM模型的训练速度和效率,在小容量的基础上,大大提升了模型的…

C语言 - AES软件加解密算法

概述 (AES)RIJNDAEL算法是一个数据块长度盒密钥长度都可变的分组加密算法,其数据块长度和密钥长度都可独立地选定为大于等于128位且小于等于256位的32位任意倍数。深入学习请参考《密码学》书籍,谢谢各位参阅。 验证环境&#xf…

Git基本操作:版本打Tag的作用以及基本操作流程

作用介绍 在git代码管理时,有时候我们想对某个特定的commit 添加标记,比如要标识版本信息,这时候就可以用的git中的打标签功能。 打tag就类似于我们看书放书签一样,以后可以直接用tag找到提交的位置,不然的话&#x…

devtools热部署的使用

引入依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-devtools</artifactId><scope>runtime</scope><optional>true</optional></dependency>idea开启热部署 改动后 ctrl …

解决:yarn 无法加载文件 “C:\Users\admin\AppData\Roaming\npm\yarn.ps1,因为在此系统上禁止运行脚本“ 的问题

1、问题描述&#xff1a; 其一、报错的整体代码为&#xff1a; yarn : 无法加载文件 C:\Users\admin\AppData\Roaming\npm\yarn.ps1&#xff0c;因为在此系统上禁止运行脚本 // 整体的报错代码为 &#xff1a; yarn : 无法加载文件 C:\Users\admin\AppData\Roaming\npm\yar…

Django_测试模块(六)

目录 开始写我们的第一个测试 首先得有个 Bug 创建一个测试来暴露这个 bug 运行测试 修复这个 bug 更全面的测试 测试视图 针对视图的测试 Django 测试工具之 Client 改善视图代码 测试新视图 测试 DetailView 集中管理用例文件 使用Django测试运行器 源码等资料…

国风美少女【InsCode Stable Diffusion 美图活动一期】

一、 Stable Diffusion 模型在线使用地址&#xff1a; https://inscode.csdn.net/inscode/Stable-Diffusion 二、模型相关版本和参数配置&#xff1a; Steps&#xff08;采样迭代步数&#xff09;: 20 Sampler&#xff08;采样方法&#xff09;: Euler a 采样迭代步数(Steps)Sa…

Spring Boot 中的 @Field 注解详解

Spring Boot 中的 Field 注解详解 引言 Spring Boot 是目前 Java 生态圈中最受欢迎的 Web 应用开发框架之一&#xff0c;它提供了很多优秀的功能和工具&#xff0c;可以帮助开发者快速构建高效、可靠的 Web 应用程序。其中一个重要的功能就是数据绑定和验证&#xff0c;Sprin…

CRM系统中AI如何进行销售线索评分?有什么好处(下)

好的CRM解决方案既要充分利用销售人员的经验和技能&#xff0c;又要尽可能地消除人为错误。其底层逻辑是&#xff0c;从过程中消除不可预测的人为因素&#xff0c;同时利用好人的自然技能。基于此&#xff0c;AI人工智能被引入CRM客户管理系统&#xff0c;可以说CRM销售线索评分…

如何使用 Docker 部署 FreeGPT-WebUI:一个简单的教程

目录 1. FreeGPT-WebUI 项目简介 2. 安装 Docker 3. 从 Docker Hub 拉取 FreeGPT-WebUI 镜像 4. 使用 Docker 运行 FreeGPT-WebUI 应用程序 5. 访问 FreeGPT-WebUI 应用程序 总结 在本教程中&#xff0c;我们将了解如何使用 Docker 部署 FreeGPT-WebUI&#xff0c;一个基…

看完这一篇,就不要再说不了解Dockerfile了

首先&#xff0c;让我们来介绍一下对于大多数人来说容易有疑惑的地方 WORKDIR 指定工作目录 什么是工作目录&#xff1f;为什么要指定&#xff1f; 拿 window 系统的 powershell 控制台来类比。打开 powershell 命令行控制台&#xff0c;显示的是默认目录&#xff0c;如&…

Java基本概述

1、Java语言的特点 特点一&#xff1a;面向对象 两个基本概念&#xff1a;类、对象三大特性&#xff1a;封装、继承、多态 特点二&#xff1a;健壮性 去掉了C/C中影响程序健壮性的部分&#xff08;指针、内存的申请与释放等&#xff09;&#xff0c;有一个相对安全的内存管…

3-测试用例(CASE)

目录 1.什么是测试用例&#xff1f; 2.为什么要有测试用例&#xff1f; 3.练习 1.什么是测试用例&#xff1f; 测试用例&#xff08;Test Case&#xff09;是为了实施测试而向被测试的系统提供的一组集合。 这组集合包含&#xff1a;测试环境、操作步骤、测试数据、预期结…

办公技巧:43个Excel函数,进阶必备,值得收藏

目录 一、关联匹配类 二、清洗处理类 三、逻辑运算类 四、计算统计类 五、时间序列类 今天给大家分享43个Excel函数&#xff0c;希望对大家能有所帮助&#xff01; 一、关联匹配类 经常性的&#xff0c;需要的数据不在同一个Excel表或同一个Excel表不同sheet中&#xff0c…

初阶编程题积累(3)——最接近的三数之和(题目描述、示例、题目思路、题解、解析)

目录 题目描述 示例 题目思路 题解 解析 题目描述 给你一个长度为 n 的整数数组 nums 和 一个目标值 target。请你从 nums 中选出三个整数&#xff0c;使它们的和与 target 最接近。 返回这三个数的和。 假定每组输入只存在恰好一个解。 示例 示例 1&#xff1a; 输入&…

Vue生态及实践 - 配置中心

目录 目标 配置中心 config/config.js 皮肤/国际化 config/theme.js config/language.js app.js App.vue 权限管理 src/views/about.vue src/views/403.vue config/permission.js src/router.js src/store.js 献上一张通过ai生成的图片~ 目标 配置中心皮肤/国际…

编译SecureValueRecovery项目

准备 下载 git clone https://codeup.aliyun.com/6306306f95064d67d44656e5/lxr1907/SecureValueRecovery.git 进入目录 cd SecureValueRecovery编译enclave make -C ./enclave等待很长时间下载各种镜像后 报错&#xff1a; Fatal error: cant create build/kbupd_enclave_t.o:…