三行代码调用大模型裁判PandaLM:保护隐私、可靠、可复现

a4f2b980dfc100b58ba9e211e2771c91.gif

©作者 | 王晋东

我们训练了一个专门用于评估大模型性能的裁判大模型:PandaLM,并提供了接口,仅需三行代码就可以调用PandaLM大模型进行保护隐私、可靠、可复现及廉价的大模型评估。

90c4289cdfa5af5a25cc072fe688ba39.png

35aa36af4ca5079d7f85183cbcea8d41.png

背景介绍

“赵老师,我们用不同基座和参数训练了「几版」大模型,看了一些样例效果都还行,最后上线哪个呀?”

“周师兄,怎么今天问 ChatGPT 的答案跟一个月前「不一样」?OpenAI 更新了模型吗?评估实验怎么办?”

“李哥,标注员太贵了,要 30 块钱才能请三个不同的标注员标一条评估数据,我们的「经费」快烧不起啦!”

“小唐,这批数据是公司的「机密数据」,你可不能发给第三方公司去获得评测结果,保密红线可别忘了!”

......

大家在评估大模型的时候,想必都遇到过以上的问题。现如今,大模型的指令微调方法犹如雨后春笋般涌现,前途看似一马平川,然而仍有一朵“乌云”笼罩在我们上空,那就是:「如何实现保护隐私、可靠、可复现及廉价的大模型评估?」

04f9099a7839f30b8e4b2005089d7dd7.png

当前,大家评估大模型的方法主要有两个: 

  • 调用 OpenAI 的 API 接口; 

  • 雇佣专家进行人工标注。然而,发送数据给 OpenAI 可能会像三星员工泄露代码一样造成数据泄露问题 [1];雇佣专家标注大量数据又十分费时费力且昂贵。 

为了解决以上两个评估方案的问题,我们训练了一个专门用于评估大模型性能的裁判大模型:「PandaLM」,并提供了接口,仅需「三行」代码就可以调用 PandaLM 大模型进行保护隐私、可靠、可复现及廉价的大模型评估。训练 PandaLM 的细节在我们的开源项目中已给出。

为了验证 PandaLM 的大模型评估能力,我们构建了一个多样化的包含约 1,000 个样本的人工标注测试集,其上下文和标签均由人类创建。「在我们的测试数据集上,PandaLM-7B 在准确度达到了 ChatGPT(gpt-3.5-turbo)的 94% 的水平」。本文将简要介绍 PandaLM 项目,更多的训练、测试细节、相关文章及后续工作,欢迎关注我们的 GitHub 项目:

https://github.com/WeOpenML/PandaLM

8d6e278165e1747953e5f5c69dcc6a83.png

如何使用PandaLM?

‍当两个不同的大模型对同一个指令和上下文产生不同响应时,PandaLM 旨在比较这两个大模型的响应质量,并输出比较结果,比较理由以及可供参考的响应。比较结果有三种:响应 1 更好,响应 2 更好,响应 1 与响应 2 质量相似。

比较多个大模型的性能时,只需使用 PandaLM 对其进行两两比较,再汇总两两比较的结果进行多个大模型的性能排名或画出模型偏序关系图,即可清晰直观地分析不同模型间的性能差异。PandaLM 只需要在「本地部署」,且「不需要人类参与」,因此 PandaLM 的评估是可以保护隐私且相当廉价的。为了提供更好的可解释性,PandaLM 亦可用自然语言对其选择进行解释,并额外生成一组参考响应。

21f7c7ba93906cff01267e6c68721047.png

在项目中,我们不仅支持使用 Web UI 使用 PandaLM 以便于进行案例分析,为了方便使用,我们还支持三行代码调用 PandaLM 对任意模型和数据生成的文本评估。

考虑到现有的许多模型、框架并不开源或难以在本地完成推理,我们支持利用指定模型权重生成待评估文本,或直接传入包含待评估文本的 .json 文件。用户只需传入一个包含模型名称 /HuggingFace 模型 ID 或 .json 文件路径的列表,即可利用 PandaLM对 用户定义的模型和输入数据进行评估。下面是一个极简的使用示例:

from pandalm import EvaluationPipelinepipeline = EvaluationPipeline(candidate_paths=["./llama-7b", "./opt-7b", "xxx-model.json"], input_data_path="test.json")print(pipeline.evaluate())

当然,为了能让大家灵活的运用 PandaLM 进行自由评测,我们也将 PandaLM 的模型权重公布在了 huggingface 网站上,可以通过以下命令加载 PandaLM-7B 模型:

from transformers import AutoTokenizer, AutoModelForCausalLMtokenizer = AutoTokenizer.from_pretrained("WeOpenML/PandaLM-7B-v1",use_fast=False)model = AutoModelForCausalLM.from_pretrained("WeOpenML/PandaLM-7B-v1")

4c011d0487b92dd3acf416cb4150a30a.png

PandaLM的特点

可复现性

因为 PandaLM 的权重是公开的,即使语言模型的输出有随机性,当固定随机种子之后,PandaLM 的评价结果仍可始终保持一致。而基于在线 API 的模型的更新不透明,其输出在不同时间有可能很不一致,且旧版模型不再可访问,因此基于在线 API 的评测往往不具有可复现性。

自动化、保护隐私性和开销低

只需本地部署 PandaLM 模型,调用现成的命令即可开始评估各种大模型,不需像雇佣专家标注时要时刻与专家保持沟通,也不会存在数据泄露的问题,同时也不涉及任何 API 费用以及劳务费用,非常廉价。

评估水平

为了证明 PandaLM 的可靠性,我们雇佣了三个专家进行独立重复标注,创建了一个人工标注的测试集。该测试集包含 50 个不同的场景,每个场景中又包含若干任务。这个测试集是多样化、可靠且与人类对文本的偏好相一致的。测试集的每个样本由一个指令和上下文,以及两个由不同大模型生成的响应共同组成,并由人类来比较这两个响应的质量。

「我们筛除了标注员之间有较大差异的样本,以确保每个标注者在最终测试集上的 IAA(Inter Annotator Agreement)接近 0.85。值得注意的是,PandaLM 的训练集与我们创建的人工标注测试集无任何重叠」。

fee675c3f34de47b56fc7af18c12d2a4.png

这些被过滤的样本需要额外的知识或难以获取的信息来辅助判断,这使得人类也难以对它们进行准确标注。经过筛选的测试集包含 1000 个样本,而原始未经过滤的测试集包含 2500 个样本。测试集的分布为 {0:105,1:422,2:472},其中 0 表示两个响应质量相似,1 表示响应 1 更好,2 表示响应 2 更好。以人类测试集为基准,PandaLM 与 gpt-3.5-turbo 的性能对比如下:

4fe4263cf7318900f8cac243cc1b99ab.png

可以看到,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 对于各个模型之间优劣关系的判断完全一致。

3bf2dfdf773fa08e6ccf1d3eed11f66c.png

基于以上三张表,我们生成了模型优劣的偏序图,这个偏序图构成了全序关系,可以表示为:LLaMA-7B > Bloom-7B > Pythia-6.9B > OPT-7B > Cerebras-GPT-6.7B。

86af5ee1438ce9b306e4bfc30fcc2fde.png

0c8333330abf01a6e25f3723e25a2079.png

总结

综上所述,PandaLM 提供了除人类评估与 OpenAI API 评估之外的第三条评估大模型的方案,PandaLM 不仅评估水平高,而且评估结果可复现,评估流程自动化,保护隐私且开销低。我们相信 PandaLM 将推动学术界和工业界关于大模型的研究,使得更多人受益于大模型的发展。欢迎大家关注 PandaLM 项目,更多的训练、测试细节、相关文章及后续工作都会公布在项目网址:

https://github.com/WeOpenML/PandaLM

outside_default.png

参考文献

outside_default.png

[1] https://www.infoq.cn/article/48HXL0qs8AowJxDgSpom

更多阅读

802c12a0aa255cff443c7d6976e747e4.png

f9c697f353a4b31b6ecd77c51493a8f3.png

fd352d7e9e240954f0e0908dea09478c.png

eb5e2c9d6111c69e79b8efc27954c92e.gif

#投 稿 通 道#

 让你的文字被更多人看到 

如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。

总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。 

PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读,也可以是学术热点剖析科研心得竞赛经验讲解等。我们的目的只有一个,让知识真正流动起来。

📝 稿件基本要求:

• 文章确系个人原创作品,未曾在公开渠道发表,如为其他平台已发表或待发表的文章,请明确标注 

• 稿件建议以 markdown 格式撰写,文中配图以附件形式发送,要求图片清晰,无版权问题

• PaperWeekly 尊重原作者署名权,并将为每篇被采纳的原创首发稿件,提供业内具有竞争力稿酬,具体依据文章阅读量和文章质量阶梯制结算

📬 投稿通道:

• 投稿邮箱:hr@paperweekly.site 

• 来稿请备注即时联系方式(微信),以便我们在稿件选用的第一时间联系作者

• 您也可以直接添加小编微信(pwbot02)快速投稿,备注:姓名-投稿

4bda15410873766676323756f0ece063.png

△长按添加PaperWeekly小编

🔍

现在,在「知乎」也能找到我们了

进入知乎首页搜索「PaperWeekly」

点击「关注」订阅我们的专栏吧

·

·

·

·

4a5ad7399edb65f3be12f41dbf0cb39e.jpeg

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

让Ai帮你工作(4)--锁定图片生成角色

背景: Gpt4多模态模型上来后,MJ也是紧接着发布了V5,微软发布自己Ai作图工具,Abode、unity这些传统老牌作图软件工具也是紧跟着发布自己的AI作图插件工具。这已经标志着Ai作图已经成为计算成像的另一条生成链。 各大厂都已经发布了…

【LLM】大模型值得探索的十个研究方向

note 基础理论:大模型的基础理论是什么? 网络架构:Transformer是终极框架吗? 高效计算:如何使大模型更加高效? 高效适配:大模型如何适配到下游任务? 可控生成:如何实…

R语言 星相图和stars函数的用法

星相图是雷达图的多元表达形式,每个变量在图中都占据着一定的位置,想绘制一幅星相图,需要用到Rstudio中自带的graphic包得stars()函数 其用法如下: stars(x,full TRUE,draw.segments FALSE,key.locc(xcoo…

r语言绘制星相图

星相图是雷达图的多元表达形式,每个变量在图中都占据着一定的位置,想绘制一幅星相图,需要用到Rstudio中自带的graphic包得stars()函数 其用法如下: stars(x,full TRUE,draw.segments FALSE,key.locc(xcoo…

r语言中将茎叶图旋转90度_R语言(02)绘图

基本图形的绘制 在R语言(01)中,最后的一个综合训练,我们生成了一部分数据,现在我们就用这些数据为例,来展示R是如何绘制一些图表的。 数据的导入 通过读取数据文件,我们可以导入之前产生的数据。 1 2 3 4 5 6 7 8 9 10…

R语言小总结(基础篇)

🐱‍🐉🐱‍🐉🐱‍🐉一起来干R语言,冲冲冲!!! 🤗🤗🤗欢迎大佬们来指点指点鸭~~~ 参考资料: 1.多元统计分析及R语…

APISpace 生日密码API

APISpace 的 生日密码 API,根据出生日期查询生日密码。每个人的生日都是个迷,星相命理给我们生命的启示,不同的生日都会有不同的命运。生日总有神奇的暗示,凭出生日期的数字测出内在性格和潜在力量。这里帮你揭开【生日密码】的神秘面纱。 返…

R 多元数据可视化

多元数据可视化 1.数据描述2.调入数据3.条图3.1 按行做均值条图3.2 按列做均值条图 4.箱尾图5.星相图5.1具有图例的360度星相图5.2具有图例的180度星相图 6. 脸谱图(需加载aplpack)7. 调和曲线图(需加载mvstats包)8. 案例全部程序…

R(现代统计图形)软件的使用

1.R软件的下载安装 1.R官网地址:https://www.r-project.org/ 2.下载流程: 3.安装: 双击运行,语言简体中文,问题不大,都懂的,能不装C盘就不装: 后面我都默认。 4.安装成功&…

面向IoT的协议选择思考

对于使用传感器和保持连接性的IoT系统而言,如何使用这些元素和多种互联网技术相结合呢? 互联网协议并不陌生, 但是IoT相关的互联网协议可能是有不同, 有些协议被用来辅助塑造系统。TCP/IP协议栈上有多个应用层协议, 每种协议都有自己的优势和…

【多元统计分析与R语言】【详解】使用教材P84页表3-2进行多元数据简单R分析:定量变量的分析(直方图、散点图)、定性变量的分析并绘制绘制均值条图、箱尾图、星相图、调和曲线图

可视化[教材P84页表3-2] 1.题目2.题目详解2.1.多元数据简单R分析:定量变量的分析(直方图、散点图)、定性变量的分析(单因素分析、多维列联表)。参考教材P45-P52页。2.2.绘制均值条图、箱尾图、星相图、调和曲线图。参考…

星相

今天看了一个死于白血病17岁男孩的盘,心情沉重。人逃不过宿命,当这个宿命是死亡的时候,就额外让人无奈。尤其是,你看到命运已经这样写下了。我还是比较喜欢卜卦盘,简单直接。问的问题也比较不关痛痒,跟这个…

R语言实战--R语言数据可视化中各种图形的函数命令及含义(散点图,星相图,箱线图等)

散点图 > plot(x1,x2)直方图 可以用来表示不同值出现的频率 > hist(x$x1)箱线图 > boxplot(x$x1,x$x2,x$x3)箱子中间的黑色粗线为样本的中位数。比如第一个图为90箱子的上下横线分别表示样本的25%分位线以及75%分位线,意思是有25%的样本数在上横线以上。…

R以国民CPI数据为例绘制箱尾/条状/星相/饼图

本博文源于暨南大学的mooc课程《多元数据统计分析》,如果大家没有装R语言的,可以查看此博文,手把手带你装R R语言安装 下面我们就开始今天的学习吧(ps:博主看matlab看哭了,太难了)。 国民CPI数据分析准备 我会把这个数据上传至资…

取代ChatGPT,腾讯的二次元生成器居然成海外网友新宠​

海外爆红,服务器被挤垮,还顺手普及了点中文? —— 文|杜晨 编辑|VickyXiao 图片来源 | 腾讯 还在沉溺于 ChatGPT 无法自拔? 外国网友早就 move on 了! 这两天,另一个AIGC&#…

当 ChatGPT 教我学操作系统

还记得 2021 年 11 月 8 号我开始写 Linux 0.11 的源码解读系列。 当初为了写这个系列,把 Linux 0.11 源码和相关解读的书籍都翻烂了,查阅资料理解代码的过程非常痛苦,有的时候一个小的卡点就要好几天才能整明白。 就比如最开头的位于 boots…

《花雕学AI》你知道人工智能ChatGPT在10秒钟里能写出多少种标题吗?我试了24次,惊呆了!

今天准备测试AI绘画,使用几个不同的AI平台来生成猫娘图片,以此具体学习绘图的AI咒语。这篇博客用什么标题好呢?于是,我开始关心如何优化标题,还是老办法,不懂就问ChatGPT(没有正式账号&#xff…

【固收研究】资金面分析

资金面,参考了一些友商的研究,主要是看货币政策,一般是从两个角度出发,一个是回购市场方面,也就是央行的公开操作;另一个是利率方面,主要是分析同业存单利率,也叫从存单市场方面进行…

建议设计师一定要尝试的副业排名TOP1!

要说这年头最苦逼的职业,我觉得非建筑设计师不可! 每次项目结束,甲方嗨了,领导爽了,只有咱们设计师继续爆肝下一个需求。 毕竟在项目里,甲方爸爸就负责拍拍脑袋,抛个时间,再闭着眼…

Python+Qt桌面端与网页端人工客服沟通工具

程序示例精选 PythonQt桌面端与网页端人工客服沟通工具 如需安装运行环境或远程调试&#xff0c;见文章底部个人QQ名片&#xff0c;由专业技术人员远程协助&#xff01; 前言 这篇博客针对<<PythonQt桌面端与网页端人工客服沟通工具>>编写代码&#xff0c;代码整洁…