北大、西湖大学等开源「裁判大模型」PandaLM:三行代码全自动评估LLM,准确率达ChatGPT的94%
来源:51CTO.COM
时间:2023-05-15 20:37:36 481浏览 收藏
积累知识,胜过积蓄金银!毕竟在科技周边开发的过程中,会遇到各种各样的问题,往往都是一些细节知识点还没有掌握好而导致的,因此基础知识点的积累是很重要的。下面本文《北大、西湖大学等开源「裁判大模型」PandaLM:三行代码全自动评估LLM,准确率达ChatGPT的94%》,就带大家讲解一下知识点,若是你对本文感兴趣,或者是想搞懂其中某个知识点,就请你继续往下看吧~
ChatGPT发布后,自然语言处理领域的生态彻底发生了变化,很多之前无法完成的问题都可以利用ChatGPT解决。
不过也带来了一个问题:大模型的性能都太强了,光靠肉眼很难评估各个模型的差异。
比如用不同的基座模型和超参数训练了几版模型,从样例来看性能可能都差不多,无法完全量化两个模型之间的性能差距。
目前评估大语言模型主要有两个方案:
1、调用OpenAI的API接口评估。
ChatGPT可以用来评估两个模型输出的质量,不过ChatGPT一直在迭代升级,不同时间对同一个问题的回复可能会有所不同,评估结果存在无法复现的问题。
2、人工标注
如果在众包平台上请人工标注的话,经费不足的团队可能无力负担,也存在第三方公司泄露数据的情况。
为了解决诸如此类的「大模型评估问题」,来自北京大学、西湖大学、北卡罗来纳州立大学、卡内基梅隆大学、MSRA的研究人员合作开发了一个全新的语言模型评估框架PandaLM,致力于实现保护隐私、可靠、可复现及廉价的大模型评估方案。
项目链接:https://github.com/WeOpenML/PandaLM
提供相同的上下文,PandaLM可以比较不同LLM的响应输出,并提供具体的理由。
为了证明该工具的可靠性和一致性,研究人员创建了一个由大约1000个样本组成的多样化的人类标注测试数据集,其中PandaLM-7B的准确率达到了ChatGPT的94%评估能力。
三行代码用上PandaLM
当两个不同的大模型对同一个指令和上下文产生不同响应时,PandaLM旨在比较这两个大模型的响应质量,并输出比较结果,比较理由以及可供参考的响应。
比较结果有三种:响应1更好,响应2更好,响应1与响应2质量相似。
比较多个大模型的性能时,只需使用PandaLM对其进行两两比较,再汇总两两比较的结果进行多个大模型的性能排名或画出模型偏序关系图,即可清晰直观地分析不同模型间的性能差异。
PandaLM只需要在「本地部署」,且「不需要人类参与」,因此PandaLM的评估是可以保护隐私且相当廉价的。
为了提供更好的可解释性,PandaLM亦可用自然语言对其选择进行解释,并额外生成一组参考响应。
在项目中,研究人员不仅支持使用Web UI使用PandaLM以便于进行案例分析,为了方便使用,还支持三行代码调用PandaLM对任意模型和数据生成的文本评估。
考虑到现有的许多模型、框架并不开源或难以在本地完成推理,PandaLM支持利用指定模型权重生成待评估文本,或直接传入包含待评估文本的.json文件。
用户只需传入一个包含模型名称/HuggingFace模型ID或.json文件路径的列表,即可利用PandaLM对用户定义的模型和输入数据进行评估。下面是一个极简的使用示例:
为了能让大家灵活的运用PandaLM进行自由评测,研究人员也将PandaLM的模型权重公布在了huggingface网站上,可以通过以下命令加载PandaLM-7B模型:
PandaLM的特点
可复现性
因为PandaLM的权重是公开的,即使语言模型的输出有随机性,当固定随机种子之后,PandaLM的评价结果仍可始终保持一致。
而基于在线API的模型的更新不透明,其输出在不同时间有可能很不一致,且旧版模型不再可访问,因此基于在线API的评测往往不具有可复现性。
自动化、保护隐私性和开销低
只需本地部署PandaLM模型,调用现成的命令即可开始评估各种大模型,不需像雇佣专家标注时要时刻与专家保持沟通,也不会存在数据泄露的问题,同时也不涉及任何API费用以及劳务费用,非常廉价。
评估水平
为了证明PandaLM的可靠性,研究人员雇佣了三个专家进行独立重复标注,创建了一个人工标注的测试集。
测试集包含50个不同的场景,每个场景中又包含若干任务。这个测试集是多样化、可靠且与人类对文本的偏好相一致的。测试集的每个样本由一个指令和上下文,以及两个由不同大模型生成的响应共同组成,并由人类来比较这两个响应的质量。
筛除了标注员之间有较大差异的样本,以确保每个标注者在最终测试集上的IAA(Inter Annotator Agreement)接近0.85。值得注意的是,PandaLM的训练集与创建的人工标注测试集无任何重叠。
这些被过滤的样本需要额外的知识或难以获取的信息来辅助判断,这使得人类也难以对它们进行准确标注。
经过筛选的测试集包含1000个样本,而原始未经过滤的测试集包含2500个样本。测试集的分布为{0:105,1:422,2:472},其中0表示两个响应质量相似,1表示响应1更好,2表示响应2更好。以人类测试集为基准,PandaLM与gpt-3.5-turbo的性能对比如下:
可以看到,PandaLM-7B在准确度上已经达到了gpt-3.5-turbo 94%的水平,而在精确率,召回率,F1分数上,PandaLM-7B已于gpt-3.5-turbo相差无几。
因此,相比于gpt-3.5-turbo而言,可以认为PandaLM-7B已经具备了相当的大模型评估能力。
除了在测试集上的准确度,精确率,召回率,F1分数之外,还提供了5个大小相近且开源的大模型之间比较的结果。
首先使用了相同的训练数据对这个5个模型进行指令微调,接着用人类,gpt-3.5-turbo,PandaLM对这5个模型分别进行两两比较。
下表中第一行第一个元组(72,28,11)表示有72个LLaMA-7B的响应比Bloom-7B的好,有28个LLaMA-7B的响应比Bloom-7B的差,两个模型有11个响应质量相似。
因此在这个例子中,人类认为LLaMA-7B优于Bloom-7B。下面三张表的结果说明人类,gpt-3.5-turbo与PandaLM-7B对于各个模型之间优劣关系的判断完全一致。
总结
PandaLM提供了除人类评估与OpenAI API评估之外的第三条评估大模型的方案,PandaLM不仅评估水平高,而且评估结果可复现,评估流程自动化,保护隐私且开销低。
未来,PandaLM将推动学术界和工业界关于大模型的研究,使得更多人受益于大模型的发展。
好了,本文到此结束,带大家了解了《北大、西湖大学等开源「裁判大模型」PandaLM:三行代码全自动评估LLM,准确率达ChatGPT的94%》,希望本文对你有所帮助!关注golang学习网公众号,给大家分享更多科技周边知识!
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
116 收藏
-
253 收藏
-
121 收藏
-
210 收藏
-
276 收藏
-
131 收藏
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 立即学习 542次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 立即学习 507次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 立即学习 497次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 立即学习 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 立即学习 484次学习