PandaLM: 用于大型语言模型评估的新方法

释放双眼,带上耳机,听听看~!
PandaLM是一种新的用于大型语言模型评估的方法,通过有效的评估流程和测试数据生成,解决了现有评估方法的问题。

github:github.com/WeOpenML/Pa…

1 技术背景

PandaLM: 用于大型语言模型评估的新方法

上图所示是使用instruction-tuing方法训练LLM时的整体流程。每次迭代都需要对模型进行优化且评价。目前,进行大模型性能评估主要有两种方式:

  • 基于LLM的评估方法:通过合适的prompt design使开源LLM具有评估模型的能力;
  • 基于人工评价的方法:通过人工的方式来对模型进行评估,具体为多人评估同一条数据取平均。
    但当我们考虑下面的场景时,这两种方法均不能很好地满足需求:

这里我摘抄了PandaLM知乎文章的内容:

  • “赵老师,我们用不同基座和参数训练了「几版」大模型,看了一些样例效果都还行,最后上线哪个呀?”
  • “周师兄,怎么今天问ChatGPT的答案跟一个月前「不一样」?OpenAI更新了模型吗?评估实验怎么办?”
  • “李哥,标注员太贵了,要30块钱才能请三个不同的标注员标一条评估数据,我们的「经费」快烧不起啦!”
  • “小唐,这批数据是公司的「机密数据」,你可不能发给第三方公司去获得评测结果,保密红线可别忘了!”
  • ……

可以看到,在实际训练和上线LLM之前,有几个问题需要考虑:

  1. 可靠性如何对模型进行高效的评估,如何有效确定多个训练版本的优劣;
  • 基于LLM的评估方法:只能调用相应API,访问受限;
  • 基于人工评价的方法:主观性强且耗时长。
  1. 可复现性如何保证用于评估方法的稳定性,即相同的输入总是产生相同的输出;
  • 基于LLM的评估方法:模型版本无法人为控制随时可能升级,且内部评价算法不透明,可能存在不可控的随机种子等;
  • 基于人工评价的方法:不同人对不同输出的评价不同,带有强烈的主观色彩。
  1. 评价费用如何降低评估模型所需费用,显然两种方式均需高昂的费用;

  2. 隐私数据保密如何防止公司隐私数据泄露,显然两种方法均会泄露。

基于以上考虑,作者提出了PandaLM模型,用于对大模型进行有效评估。

2 整体流程

PandaLM: 用于大型语言模型评估的新方法

如上图所示,给定输入(instruction,input,response1,response2),PandaLM输出(result,evalutation,reference response),即:

  • 比较结果:即response1和2质量相似,response1更好或response2更好,这里作者使用0,1,2进行编码;
  • 评价理由:即为什么给出上面的结果;
  • 参考回答:即PandaLM期望得到怎样的回答。

3 训练细节

具体训练细节等待论文发布

4 训练测试数据生成

训练数据采用self-instruct方式生成,self-instruct简单来说分为以下几步:

  1. 进行良好的prompt design使LLM能够生成所需要的数据;

  2. 对重复度高的数据进行清理(这里不会对人类所认为的低质量数据进行过滤);

  3. 使用过滤后的数据训练模型直到产生的数据符合要求为止。

下图是训练数据实例:

PandaLM: 用于大型语言模型评估的新方法

其中instructions和inputs是从Alpaca 52K data上采样得到的,两个response是作者微调得到的LLaMA-7B, Bloom-7B, Cerebras-GPT-6.7B, OPT-7B and Pythia-6.9模型提供的。之后的outputs应该是作者通过self-instruct得到的。具体的细节需要等论文发布。

测试数据是从self-instruct中的人工评价数据中进行采样,这些数据是人工进行标注的(3人),覆盖了多个领域。作者删除了其中IAA(Inter Annotator Agreement)小于0.85的数据来确保评价结果的单一性。

5 方法评价

优势:PandaLM模型代码及权重开源可在本地部署无需人工参与

  • 可控性强:由于代码开源,因此可以自行控制随机种子及模型版本来保证结果的可复现性;

  • 成本低廉:无需线上API及额外的人工费用;

  • 防止隐私数据泄露:模型本地部署,无需上传数据;

  • 评估水平良好:下表显示了PandaLM对比chatgpt的结果

PandaLM: 用于大型语言模型评估的新方法

局限性:

以我的角度来看,PandaLM需要输出对应的reference response,是否可以认为PandaLM的性能在所评测的领域必须强于其所评测的模型。否则相当于水平较差的学生来评估水平较好的老师,我认为无法保证评估结果的可靠性。

但当开源的PandaLM性能更强时,为何要采用这些需要评测的模型而不直接使用更好的PandaLM呢。chatgpt不是开源的可以理解,但PandaLM这种模型已经开源,为什么不直接采用它呢。这一点值得思考…

参考资料

PandaLM: 评估大模型的大模型, 保护隐私、可靠、可复现,三行代码即可调用 (zhihu.com)

本网站的内容主要来自互联网上的各种资源,仅供参考和信息分享之用,不代表本网站拥有相关版权或知识产权。如您认为内容侵犯您的权益,请联系我们,我们将尽快采取行动,包括删除或更正。
AI教程

AlphaCode: 超越程序员的编程神器

2023-12-16 16:02:14

AI教程

ChatGPT API接口编程基础与使用技巧

2023-12-16 16:17:14

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索