A Survey on Evaluation of Large Language Models

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

摘要

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

1 引言

理解智能的本质并确定机器是否体现了它,这对科学家来说是一个令人信服的问题。人们普遍认为,真实的智力使我们具备推理能力,使我们能够检验假设,并为未来的可能发生做好准备。特别是,人工智能(AI)研究人员专注于基于机器的智能的发展,而不是基于生物的智能。正确的测量有助于理解智力。例如,衡量人类个体的一般智力通常包括智商测试。

论文精读:Hallucination of Multimodal Large Language Model: A Survey 本文综述了多模态大语言模型(MLLM)中的幻觉问题,将其定义为模型输出与视觉输入不一致或产生事实错误的现象。文章将幻觉分为物体、属性和关系三类,并分析了MLLM的架构与训练流程。重点探讨了数据、模型、训练和推理四个维度的幻觉成因及解决方案:数据层面提出了正负例均衡、因果数据和推理数据等改进方法;模型层面建议提升视觉编码器分辨率和改进模态对齐;训练层面引入了辅助监督和强化学习优化。最后指出当前评估基准和指标的不足,为未来研究方向提供了建议。该研究系统梳理了MLLM幻觉问题的关键因素与缓解策略。 阅读详情

相关推荐

论文阅读:A Survey on Evaluation of Large Language Models

大型语言模型(LLMs)在学术界和工业界越来越受欢迎,因为它们在各种应用中的卓越性能。随着LLMs在研究和日常使用中的持续重要性,它们的评估变得日益关键,不仅在任务层面,也在社会层面,以便更好地理解它们的潜在风险。本文全面回顾了LLMs的评估方法,聚焦于三个关键维度:评估什么、在哪里评估、如何评估。基于本综述的分析,作者提出了对现有评估方法的见解,并对未来的研究方向提出了建议。

CSPhD-winston的博客 1122

论文阅读:A Survey on Evaluation of Large Language Models-鲁棒性相关内容

Wang等人(2023c)是一项早期工作,使用AdvGLUE (Wang等人,2021)、ANLI (Nie等人,2019)和DDXPlus (Fansi Tchango等人,2022)数据集等现有基准,从对抗性和OOD角度评估了ChatGPT和其他LLMs。卓等人(2023b)评估了语义解析的鲁棒性。评估系统面对意外输入的稳定性是鲁棒性研究的核心,主要从对抗鲁棒性和出分布泛化两方面考察大语言模型,发现当前模型对对抗性提示和视觉输入显著脆弱,提示模型在部署中面临安全隐患,需要继续提高模型的鲁棒性。

CSPhD-winston的博客 1066

论文阅读 arxiv 2025 A Survey of Safety on Large Vision-Language Models: Attacks, Defenses and Evaluation

该文档是一篇关于大型视觉语言模型(LVLMs)安全性的综合性综述,系统分析了LVLMs在攻击、防御和评估三大核心领域的研究现状,提出了基于模型生命周期(推理阶段、训练阶段)的分类框架,指出视觉输入扩展攻击面、微调阶段安全对齐退化等独特漏洞,对最新模型Deepseek Janus-Pro进行了安全评估,揭示其在开放问答任务中84.43%的攻击成功率(ASR)等性能短板,并展望了黑盒攻击优化、跨模态安全对齐等未来研究方向,同时提供了包含100余种相关方法的公开知识库。

CSPhD-winston的博客 1079

A COMPREHENSIVE SURVEY ON EVALUATING LARGE LANGUAGE MODEL APPLICATIONS IN THE MEDICAL INDUSTRY

自 2017 年 Transformer 架构问世以来,GPT 和 BERT 等大型语言模型 (LLM) 已经取得了长足的发展,凭借其在语言理解和生成方面的高级能力影响了各个行业。这些模型已显示出改变医疗领域的潜力,凸显了专门的评估框架以确保其有效和合乎道德的部署的必要性。这项全面的调查描述了 LLM 在医疗保健领域的广泛应用和必要评估,强调了实证验证的迫切需求,以充分利用它们在增强医疗保健结果方面的能力。

c_cpp_csharp的专栏 387

Leveraging Large Language Models for NLG Evaluation: A Survey

在自然语言生成(NLG)评估的快速发展领域,引入大型语言模型(LLM)为评估生成的内容质量开辟了新的途径,例如连贯性、创造力和上下文相关性。这项调查旨在全面概述利用LLM进行NLG评估的情况,这是一个缺乏系统分析的新兴领域。我们提出了一个连贯的分类法来组织现有的基于LLM的评估指标,并提供了一个结构化的框架来理解和比较这些方法。我们的详细探索包括批判性地评估各种基于LLM的方法,以及比较它们在评估NLG输出方面的优势和局限性。

c_cpp_csharp的专栏 872

Large Language Models Hallucination: A Comprehensive Survey

该文章是一篇关于大型语言模型(LLMs)幻觉问题的综述,系统梳理了幻觉的定义、类型、成因、检测与缓解方法,同时分析了现有基准数据集、评估指标及未来挑战,为提升LLMs的真实性和可信度提供了全面参考。大型语言模型(LLMs)彻底改变了自然语言处理领域,在各类任务中展现出卓越性能。然而,其出色的流畅性往往伴随着生成虚假或编造信息的代价,这种现象被称为“幻觉”。幻觉指LLM生成的内容虽流畅且语法正确,但事实不准确或缺乏外部证据支持。幻觉会损害LLMs的可靠性和可信度,在需要事实准确性的领域(如医疗、法律)中问题尤

c_cpp_csharp的专栏 432

Through the Lens of Core Competency: Survey on Evaluation of Large Language Models

从预训练语言模型(PLM)到大型语言模型(LLM),自然语言处理(NLP)领域已经见证了巨大的性能提升和广泛的实际应用。对一个研究领域的评估指导其改进方向。然而,LLM非常难以彻底评估,原因有两个。首先,由于LLM的优异性能,传统的NLP任务变得不足。其次,现有的评估任务很难跟上现实世界场景中广泛的应用。为了解决这些问题,现有的工作提出了各种基准,以更好地评估LLM。为了阐明学术界和工业界的众多评估任务,我们调查了多篇关于LLM评估的论文。我们总结了LLM的4个核心能力,包括推理、知识、可靠性和安全性。

c_cpp_csharp的专栏 176

Datasets for Large Language Models: A Comprehensive Survey

本文对大型语言模型(LLM)数据集进行了探索,这些数据集在LLM的显著进步中发挥着至关重要的作用。数据集作为基础基础设施,类似于支撑和培育LLM发展的根系统。因此,对这些数据集的检查成为研究中的一个关键课题。为了解决LLM数据集目前缺乏全面概述和彻底分析的问题,并深入了解其现状和未来趋势,本调查从五个角度对LLM数据集中的基本方面进行了整合和分类:(1)预训练语料库;(2) 指令微调数据集;(3) 偏好数据集;(4) 评估数据集;(5) 传统的自然语言处理(NLP)数据集。

c_cpp_csharp的专栏 414

【开关电源】开关电源实战经验分享

开关电源原理设计、Layout设计经验分享

weixin_42098658的博客 4170

深入解析安卓/Linux固件:从DTB到DTS的反编译实战

本文详细介绍了如何从安卓/Linux设备固件中提取并反编译DTB文件,将其转换为可读的DTS源码。通过实战步骤,包括拆解boot.img、处理resource.img以及使用dtc工具,帮助开发者深入理解设备硬件配置,为固件定制、驱动调试和系统移植提供关键支持。

weixin_29274337的博客 341

【科研导航】【计算机视觉与图像处理】从顶刊到潜力股:跨学科(电子/电气/信息)SCI期刊投稿全景图

本文全面解析了计算机视觉与图像处理领域的SCI期刊投稿策略,涵盖从顶刊到潜力股的各类期刊特点。重点介绍了IEEE Transactions系列、Elsevier旗舰期刊以及二区优质期刊的审稿偏好和投稿技巧,特别适合电子/电气/信息交叉学科的研究者。文章还提供了三区、四区期刊的实用投稿建议,帮助科研新手快速找到适合的发表平台。

weixin_30897233的博客 83

Unity四部曲(核心)

需要先改成Cube复杂的展开留到unity进阶再说。

ultraman1234566的博客 2797

AD9361 RSSI配置实战:从寄存器到精准功率测量的避坑指南

本文详细解析了AD9361芯片的RSSI配置实战,从寄存器设置到精准功率测量的全流程避坑指南。通过优化模式选择、测量持续时间及高级参数配置,实现高精度信号强度测量,并分享实际项目中的校准流程与性能优化技巧,帮助工程师提升射频接收链路的测量精度。

weixin_38166557的博客 447

Spring AI Alibaba实战训练营-28 手把手教你用SAA+ Nacos 构建分布式 MCP 应用

本文介绍如何使用Spring AI Alibaba和Nacos构建分布式MCP应用,实现AI模型与工具服务的动态发现和调用。主要内容包括:1) 项目架构设计,包含MCP Server、Nacos注册中心和MCP Client三个核心组件;2) 环境准备要求,如Java 17+、Maven 3.6+、Nacos 3.1.0+等;3) 详细实施步骤:启动Nacos服务、注册MCP服务端、配置MCP网关聚合服务、设置MCP客户端发现机制。通过这种架构,开发者可以轻松扩展新工具服务,无需修改客户端代码,实现服务动态

program哲学 311

矿石生成(1)

这个提供了标准化的矿石放置配置模板简化了常见和稀有矿石的配置过程遵循了Minecraft原版的世界生成模式提高了代码的可读性和可维护性通过使用这个类,模组开发者可以更轻松地配置矿石的生成规则,而不需要每次都手动编写完整的放置修饰符列表。这种设计模式在原版Minecraft和其他大型模组中也很常见,是一种良好的编程实践。// 导入语句...// 字段和方法...包声明表明这个类位于luckymod模组的WorldGen包中,专门处理世界生成相关配置。导入语句。

qq_24992377的博客 137

YOLO系列算法改进 | 主干改进篇 | 替换LSKNet主干特征提取网络 | 通过动态调整感受野自适应融合长程上下文,显著提升小目标与复杂背景下的检测精度!

YOLO系列算法改进 | 主干改进篇 | 替换LSKNet主干特征提取网络 | 通过动态调整感受野自适应融合长程上下文,显著提升小目标与复杂背景下的检测精度! (以YOLO26最新目标检测模型为基础,利用LSKNet替代Backbone)

2502_91881744的博客 212

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

上一篇: A Survey on Multimodal Large Language Models
下一篇: Harnessing the Power of LLMs in Practice: A Survey on ChatGPT and Beyond
UnknownBody
博客等级 码龄16年 5601粉丝 4739原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

UnknownBody

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值