如何评估大型语言模型(LLM)?

编者按:近期几乎每隔一段时间,就有新的大语言模型发布,但是当下仍然没有一个通用的标准来评估这些大型语言模型的质量,我们急需一个可靠的、综合的LLM评估框架。

本文说明了为什么我们需要一个全面的大模型评估框架,并介绍了市面上这些现有的评估框架,同时指出这些框架存在的问题,最后说明如何评估大型语言模型(LLM),评估时应该考虑哪些因素。

以下是译文,Enjoy!

作者 | Gyan Prakash Tripathi

编译 | 岳扬

目录
  • 01 简介
  • 02 为什么急需一个全面的LLMs评估框架?
  • 03 现有的LLMs评估框架有哪些?
  • 04 现有评估框架存在的问题
  • 05 在评估LLMs时应考虑哪些因素?
  • 06 结论

01 简介 Introduction

随着ChatGPT和其他大型语言模型(LLMs)的发布,可用模型数量大量增加,现在几乎每天都有新的LLMs发布。尽管如此,当下仍然没有一个通用的标准来评估这些大型语言模型的质量。本文将回顾现有的大型语言模型(LLMs)和基于LLMs的体系化评估框架。此外,我们还将尝试分析LLMs哪些因素应该受到评估。

图片

Source: Cobus Greyling

02 为什么急需一个全面的LLMs评估框架?

在某项技术发展的早期阶段,大家很容易确定哪些地方需要改进。然而,随着技术进步和各种新的替代方案出现,我们越来越难确定哪种方案选择最好。因此,拥有一个可靠的评估框架来准确评判LLMs的质量变得非常重要。

对于LLMs,当下迫切需要一个真正的评估框架。这种框架可用于以下三种方式评估LLMs:

  • 能够帮助管理机构和其他相关机构评估模型的安全性、准确性、可靠性或可用性问题。
  • 目前,这些大型科技公司似乎在盲目地争先恐后发布LLMs,许多公司只是在其产品上附加免责声明来试图撇清责任。因此制定一个全面的评估框架将有助于这些公司更负责任地发布这些模型。
  • 如果拥有一个全面的评估框架,能够帮助这些LLMs的用户确定在哪里以及如何微调这些大模型,并使他们清楚应该使用哪些额外的数据来完成部署。

在接下来的内容中,我们将会回顾当前的模型评估模式。

03 现有的LLMs评估框架有哪些?

评估大语言模型来确定它们在各种应用中的质量和实用性是比较重要的。市面上已经存在多个评估LLMs的框架,但是没有一个框架足够全面,可以覆盖所有自然语言处理任务。让我们看一下这些现有的主流评估框架。

框架名称评估时考虑的因素框架链接
Big Bench泛化能力https://github.com/google/BIG-bench
GLUE Benchmark语法、释义、文本相似度、推理、文本关联性、解决代词引用问题的能力https://gluebenchmark.com/
SuperGLUE Benchmark自然语言理解、推理,理解训练数据之外的复杂句子,连贯和规范的自然语言生成,与人对话,常识推理(日常场景、社会规范和惯例),信息检索,阅读理解https://super.gluebenchmark.com/
OpenAI Moderation API过滤有害或不安全的内容https://platform.openai.com/docs/api-reference/moderations
MMLU跨各种任务和领域的语言理解https://github.com/hendrycks/test
EleutherAI LM Eval在最小程度的微调情况下,使用小样本进行评估,并能够在多种任务发挥性能的能力。https://github.com/EleutherAI/lm-evaluation-harness
OpenAI Evalshttps://github.com/EleutherAI/lm-evaluation-harness 文本生成的准确性,多样性,一致性,鲁棒性,可转移性,效率,公平性https://github.com/openai/evals
Adversarial NLI (ANLI)鲁棒性,泛化性,对推理的连贯性解释,在类似示例中推理的一致性,资源使用方面的效率(内存使用、推理时间和训练时间)https://github.com/facebookresearch/anli
LIT (Language Interpretability Tool)以用户定义的指标进行评估的平台。了解其优势、劣势和潜在的偏见https://pair-code.github.io/lit/
ParlAI准确率,F1分数,困惑度(模型在预测序列中下一个单词的表现),按相关性,流畅性和连贯性等标准进行人工评估,速度和资源利用率,鲁棒性(评估模型在不同条件下的表现,如噪声输入、对抗攻击或不同水平的数据质量),泛化性https://github.com/facebookresearch/ParlAI
CoQA理解文本段落并回答出现在对话中的一系列相互关联的问题。https://stanfordnlp.github.io/coqa/
LAMBADA预测一段文本的最后一个词。https://zenodo.org/record/2630551#.ZFUKS-zML0p
HellaSwag推理能力https://rowanzellers.com/hellaswag/
LogiQA逻辑推理能力https://github.com/lgw863/LogiQA-dataset
MultiNLI了解不同体裁的句子之间的关系https://cims.nyu.edu/~sbowman/multinli/
SQUAD阅读理解任务https://rajpurkar.github.io/SQuAD-explorer/

04 现有评估框架存在的问题

上述评估大型语言模型的方法各有其优势。然而,有几个重要因素使得以上这些方法似乎都并不足够完善:

  1. 以上任何一个框架都没有将安全性作为评估因素考虑在内。尽管“OpenAI Moderation API”在某种程度上涉及这个问题,但这并不足够。
  2. 上述框架在评估模型因素方面是分散的。它们中没有一个因素是足够全面综合的

在下一节中,我们将尝试列出所有应该在一个综合的评估框架中存在的重要因素。

05 在评估LLMs时应考虑哪些因素?

经过审查现有的大模型评估框架存在的问题之后,下一步是确定在评估大型语言模型(LLMs)的质量时应考虑哪些因素。我们听取12名数据科学专业人员的意见,这12名专家对LLMs的工作原理和工作能力有一定的了解,并且他们曾经尝试过测试多个LLMs。该调查旨在根据他们的理解列出所有重要因素,并在此基础之上评估LLMs的质量。

最终,我们发现有几个关键因素应该被考虑:

1. 真实性

LLMs生成的结果准确性至关重要。包括事实的正确性以及推理和解决方案的准确性。

2. 速度

模型产生结果的速度很重要,特别是当大模型需要部署到关键功能(critical use cases)时。虽然在某些情况下速度较慢的大模型可能可以可接受,但这些rapid action团队需要速度更快的模型。

3. 正确的语法和可读性

LLMs必须以具备可读性的格式生成自然语言。确保正确、合适的语法和句子结构至关重要。

4. 没有偏见

LLMs必须不受与性别、种族和其他因素相关的社会偏见影响。

5. 回溯回答的参考来源

了解模型回答的来源对于我们来说是十分必要的,以便我们可以重复检查其 basis。如果没有这个,LLMs的性能将始终是一个黑匣子。

6. 安全和责任

AI模型的安全保障是必要的。尽管大多数公司正在努力使这些大模型安全,但仍然有显着的改进空间。

7. 理解上下文

当人类向AI聊天机器人咨询有关个人生活的建议时,重要的是该模型需要基于特定的条件提供更好的解决方案。在不同的上下文中提出同样的问题可能会有不同的答案。

8. 文本操作

LLMs需要能够执行基本的文本操作,如文本分类、翻译、摘要等。

9. 智商

智商是用来评判人类智力的一项指标,也可以应用于机器。

10. 情商

情商是人类智力的另一方面,也可应用于LLMs。具有更高情商的模型将更安全地被使用。

11. 具备多功能

模型可以涵盖的领域和语言数量是另一个重要因素,可以用于将模型分类为通用AI或特定领域的AI。

12. 实时更新

一个能够实时进行信息更新的模型可以做出更大范围的贡献,产生更好的结果。

13. 成本

开发和运维成本也应该考虑在内。

14. 一致性

相同或类似的提示应该产生相同或几乎相同的响应,否则确保部署于商业环境的质量将会很困难。

15. 提示工程的需要程度

需要使用多少详细和结构化的提示工程才能获得最佳响应,也可以用来比较两个模型。

06 总结

大型语言模型(LLMs)的发展彻底改变了自然语言处理领域。然而,当下仍需一个全面性的和标准化的评估框架来评估这些模型的质量。现有的框架提供了有价值的参考,但它们缺乏全面性和标准化,并且没有将安全作为评估因素

可靠的评估框架应该考虑诸如真实性、速度、正确的语法和可读性、没有偏见、回溯回答的参考来源、安全和责任、理解上下文、文本操作、智商、情商、具备多功能和实时更新等因素。 开发这样的框架将帮助这些公司更负责任地发布LLMs,并能够确保其质量、可用性和安全性。与相关机构和专家合作,建立一个真实和全面的LLMs评估框架是十分有必要的。

END

本文经原作者授权,由Baihai IDP编译。如需转载译文,请联系获取授权。

原文链接

https://www.analyticsvidhya.com/blog/2023/05/how-to-evaluate-a-large-language-model-llm/

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

C#TryCatch用法

前几天一个学员在学习C#与TryCatch用法时,也不知道TryCatch用法装可以用来做什么 。下面我们就详细讲讲C# 和封TryCatch用法相关知识。 C# 是一种通用、类型安全且面向对象的编程语言,由微软开发并在 .NET 平台上运行。TryCatch 是 C# 语言中的一个结构&#xff0c…

CSS的自定义属性var和JS的classList.toggle()方法,使用详细(css中var变量怎么应用)

简介:CSS中的var(变量)是CSS3中的新特性,用于定义可重用的值,类似于编程语言中的变量;它允许您在整个CSS文件中定义一个值,并在需要时使用该值。这样可以使CSS更加灵活和易于维护;cl…

环境搭建【1】VM和ubuntun 环境搭建

1.安装VMware 1.1 下载安装包 (1)官网下载:https://customerconnect.vmware.com/en/downloads/info/slug/desktop_end_user_computing/vmware_workstation_pro/16_0 (2)百度网盘:https://pan.baidu.com/s/…

软考高级系统架构设计师(三) 基础知识之操作系统2(分页/分段/段页存储)

目录 存储管理 页式存储 段式存储 段页式存储 存储管理 存储管理的主要目的:解决多个用户共同使用主存的问题(怎么分配内存??) 主要包括分区存储管理、分页存储管理、分段存储器管理、段页式存储管理以及虚拟存储…

windows10企业版安装西门子博途V15---01准备环境

网上看到了很多博途安装的文章或视频,一大部分都是你抄抄,我抄抄,滥鱼充饥,一是文章思路不清晰,二是具体安装环境不一致,三是视频讲解混乱,视频不清楚,操作有错误,其中不…

2022(一等奖)D678基于改进结构函数法的大气气溶胶遥感反演

作品介绍 1 应用背景 大气气溶胶是大气中重要的成分之一,是悬浮于大气中的固体和液体微粒与它们的气体载体共同组成的多相体系,其尺度大约在10-3到102 μm之间。大气气溶胶的特性对空气质量具有良好的指示作用,气溶胶的研究对空气质量的监测…

使用大白菜PE给苹果电脑安装win7ghost

如何安装大白菜苹果电脑?ghost (苹果电脑能用大白菜安装系统吗) 喜欢用苹果Mac电脑,开始后发现不习惯苹果的操作系统,还是习惯用Windows我们可以给苹果系统Mac电脑上安装Windows系统,享受苹果的外观,操作windows系统…

机器学习之基于LDA的人脸识别

目录 LDA降维 思想 matlab代码 fisherface 思想 matlab代码 人脸识别 思想 matlab代码 LDA降维 思想 首先,代码通过使用dir函数获取指定路径下所有以".bmp"结尾的文件,并存储在变量pictures中。 然后,定义了一些参数&a…

机器学习之线性回归算法

目录 线性回归算法 求导法推导 梯度下降法推导 线性回归实现人脸识别 导入数据 构建标签矩阵 经典线性回归求导法实现 经典线性回归梯度下降法实现 岭回归实现 套索回归实现 局部加权线性回归实现 可视化 人脸识别 线性回归算法 求导法推导 梯度下降法推导 线性回…

TypeScript ~ TS 掌握编译文件配置项 ⑤

作者 : SYFStrive 博客首页 : HomePage 📜: TypeScript ~ TS 📌:个人社区(欢迎大佬们加入) 👉:社区链接🔗 📌:觉得文章不错可以点点关注 &…

计算机网络——网络层

序言 计算机网络中的网络层在当今的社会起到了什么作用? 现在的互联网通信,远程办公和远程教育,电子商务和在线服务,信息共享和社交媒体,物联网和智能家居都是通过网络层才能使用的。它连接了人们、设备和信息&#xf…

chatgpt赋能python:Python编译成SO文件和反编译的介绍

Python编译成SO文件和反编译的介绍 什么是SO文件? SO文件,也称为共享对象文件,是一种二进制文件格式,用于在多个应用程序之间共享代码和数据。在Unix和类Unix系统中,它们通常是共享库文件的形式。因此,SO…

Vue-scoped(局部)样式

scoped(局部)样式 scoped是在脚手架有一个编写样式的小技巧 作用:让样式在局部生效,防止冲突 1 编写案例 现在有两个组件,一个student,一个school,现在想给组件写点样式 这里只给个背景色 没问题,样式生效 2 样式冲…

自然语言处理从入门到应用——动态词向量预训练:ELMo词向量

分类目录:《自然语言处理从入门到应用》总目录 在双向语言模型预训练完成后,模型的编码部分(包括输入表示层以及多层堆叠LSTM)便可以用来计算任意文本的动态词向量表示。最自然的做法是使用两个LSTM的最后一层隐含层输出作为词的动…

GPT学习笔记-Enterprise Knowledge Retrieval(企业知识检索)--私有知识库的集成

openai-cookbook/apps/enterprise-knowledge-retrieval at main openai/openai-cookbook GitHub 终于看到对于我解决现有问题的例子代码,对于企业私有知识库的集成。 我对"Retrieval"重新理解了一下,源自动词"retrieve"&#xf…

idea乱码的相关问题

idea控制台乱码(即:tomacat等启动时的乱码) 第一步: 控制台tomcat启动信息乱码解决(红色字体) 1 在本地 tomcat 的配置文件中找到 logging.properties 文件设置日志输出的编码为 UTF-8 追加的配置信息为…

插入排序-C语言实现

🥰前言 🍔在学数据结构的第一节课就知道了数据结构课程是要管理并且学会操作数据,当然操作数据首先想到的就是数据的排序,排过顺序的数据的使用价值才够大。前面我们学习了顺序表也学习了链表等等,这些就是储存数据的方…

1.1 编写一个简单的C++程序

博主介绍:爱打游戏的计算机专业学生 博主主页:夏驰和徐策 所属专栏:夏驰和徐策带你从零开始学C 1.1.0 这段话告诉我们什么? 这段话解释了一个C程序中的main函数的基本结构和功能。 它告诉我们以下几点: 1. C程序的…

Python爬取城市天气数据,并作数据可视化

1.爬取广惠河深2022-2024年的天气数据 import requests # 发送请求要用的模块 需要额外安装的 import parsel import csvf open(广-惠-河-深天气.csv, modea, encodingutf-8, newline) csv_writer csv.writer(f) csv_writer.writerow([日期, 最高温度, 最低温度, 天气,…

深入理解深度学习——GPT(Generative Pre-Trained Transformer):GPT-3与Few-shot Learning

分类目录:《深入理解深度学习》总目录 相关文章: GPT(Generative Pre-Trained Transformer):基础知识 GPT(Generative Pre-Trained Transformer):在不同任务中使用GPT GPT&#x…