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将推动学术界和工业界关于大模型的研究,使得更多人受益于大模型的发展。