评估大模型对齐表现最高效的方式是?
在生成式AI趋势里,让大模型回答和人类价值(意图)一致非常重要,也就是业内常说的对齐(Alignment)。
“让大模型自己上。”
这是上海交通大学生成式人工智能研究组(GAIR)提出的最新思路。
但是目前的评估方法还存在透明度不够、准确性不佳等问题。
所以研究人员开源了一个130亿参数规模的大模型Auto-J,能对评估当下大模型的对齐效果。
它可同时分析两个大模型的回答,分别做出评价并进行对比。
也能评估单个回复。并且在这一任务上的表现超越了GPT-4。
目前,该项目开源了大量资源,包括:
- Auto-J的130亿参数模型(使用方法、训练和测试数据也已经在GitHub上给出);
- 所涉及问询场景的定义文件;
- 每个场景手工构建的参考评估准则;
- 能够自动识别用户问询所属场景的分类器等。
用大模型指导大模型回答
在实际任务中,Auto-J不仅可以在两个不同模型的回复中,指明更优秀的回答,而且会从多个具体维度给出判断和分析。
同时对于它认为不够好的回复,能提出改进建议。
注:本节提供的示例已由原始英文文本翻译为中文
具体来看Auto-J在成对回复比较和单回复评估任务的效果。
成对回复比较部分给出的问题是:
起草一份给我家人的邮件,告诉他们我已经买好了感恩节的机票。我会在11月22日出发,30日离开。
实验对比了GPT4ALL-13B-snoozy和Claude-1的回复。
Auto-J给出的判断是Claude-1的回复更好,原因是信息更丰富、吸引人、个性化。
同时它也给出了具体的分析过程,从目的、语气、正文内容、个性化、信息丰富度几个方面评估,并讲明了各个方面两个大模型的优劣。
单回复评估任务的提问是:
在烤架上烤三文鱼最好的方法是什么?
待评估的回复是:
在烤架上烹制三文鱼的最好办法是首先将烤架预热至中高温,刷上橄榄油,撒上盐和胡椒,然后把三文鱼皮朝下放在烤架上。让三文鱼烤5-7分钟,直到皮酥脆,用叉子轻松刺入鱼肉。翻转三文鱼,再烤3-4分钟,配上你喜欢的配菜,享受美味。
对于这段回答,Auto-J给出的评价是“答得害行但是在几个方面缺乏深度和详细信息”。
比如没有提到具体的烹饪温度或时间,没有提到三文鱼的品质。
而且还给出了具体建议能让回复更加有个性化:通过询问用户有关具体烤肉设备或烹饪三文鱼的经验。
支持50+场景
在性能表现上,Auto-J在以下两方面都表现不错。
功能使用方面
支持50+种不同的真实场景的用户问询(query)(如常见的广告创作,起草邮件,作文润色,代码生成等)能够评估各类大模型在广泛场景下的对齐表现;
它能够无缝切换两种最常见的评估范式——成对回复比较和单回复评估;并且可以“一器多用”,既可以做对齐评估也可以做“奖励函数”(Reward Model)对模型性能进一步优化;
同时,它也能够输出详细,结构化且易读的自然语言评论来支持其评估结果,使其更具可解释性与可靠性,并且便于开发者参与评估过程,迅速发现价值对齐过程中存在的问题
性能开销方面
在性能和效率上,Auto-J 的评估效果仅次于GPT-4而显著优于包括ChatGPT在内的众多开源或闭源模型,并且在高效的vllm推理框架下能每分钟评估超过100个样本。
在开销上,由于其仅包含130亿参数,Auto-J能直接在32G的V100上进行推理,而经过量化压缩更是将能在如3090这样的消费级显卡上部署使用,从而极大降低了LLM的评估成本 (目前主流的解决方法是利用闭源大模型(如GPT-4)进行评估,但这种通过调用API的评估方式则需要消耗大量的时间和金钱成本。)
具体方法
训练数据总体上遵循如下的流程示意图:
△训练数据收集流程示意图
场景的定义和参考评估标准:
△场景定义与参考评估标准
为了更广泛的支持不同的评估场景,Auto-J 定义了58种不同的场景,分属于8大类(摘要,重写,代码,创作,考题,一般交流,功能性写作以及其他NLP任务)。
对于每个场景,研究者手动编写了一套用作参考的评估标准(criteria),覆盖了这类场景下常见的评估角度,其中每条标准包含了名称和文本描述。
评估标准的构建遵循一个两层的树状结构:先定义了若干组通用基础标准(如文本与代码的一般标准),而每个场景的具体标准则继承了一个或多个基础标准,并额外添加了更多的定制化标准。
以上图的“规划”(planning)场景为例,针对这一场景的标准包括了该场景特定的内容与格式标准,以及继承而来的基础标准。
收集来自多种场景的用户问询和不同模型的回复:
Auto-J被定位成能够在定义的多种广泛场景上均表现良好,因此一个重要的部分就是收集不同场景下相应的数据。为此,研究者手动标注了一定量用户问询的场景类别,并以此训练了一个分类器用以识别任意问询的所属场景。
在该分类器的帮助下,成功从包含了大量真实用户问询和不同的模型回复的若干数据集中(如Chatbot Arena Conversations数据集)通过降采样的方式筛选出了类别更加均衡的3436个成对样本和960个单回复样本作为训练数据的输入部分,其中成对样本包含了一个问询,两个不同的针对该问询的回复,以及人类标注的偏好标签(哪个回复更好或平局);而单回复样本则只包含了一个问询和一个回复。
收集高质量的评判(judgment):
除了问询和回复,更重要是收集作为训练数据输出部分的高质量评估文本,即“评判”(judgment)。
研究者定义一条完整的评判包含了中间的推理过程和最后的评估结果。对于成对回复比较而言,其中间推理过程为识别并对比两条回复之间的关键不同之处,评估结果是选出两条回复中更好的一个(或平局);而对于单回复样本,其中间推理过程是针对其不足之处的评论(critique),评估结果则是一个1-10的总体打分。
在具体操作上,选择调用GPT-4来生成需要的评判。
对于每个样本,都会将其对应场景的评估标准传入GPT-4中作为生成评判时的参考;此外,这里还观察到在部分样本上场景评估标准的加入会限制GPT-4发现回复中特殊的不足之处,因此研究者还额外要求其在给定的评估标准之外尽可能地发掘其他的关键因素。
最终,会将来自上述两方面的输出进行融合与重新排版,得到更加全面、具体且易读的评判,作为训练数据的输出部分,其中对于成对回复比较数据,进一步根据已有的人类偏好标注进行了筛选。
训练:
研究者将来自两种评估范式的数据合并使用以训练模型,这使得Auto-J仅通过设置相应的提示词模板即可无缝切换不同的评估范式。
另外,还采用了一种类似于上下文蒸馏的(context distillation)技术,在构建训练序列时删去了GPT-4用以参考的场景评估标准,仅保留了输出端的监督信号。
在实践中发现这能够有效增强Auto-J的泛化性,避免其输出的评判仅限制在对评估标准的同义重复上而忽略回复中具体的细节。
同时,对于成对回复比较数据部分,还采用了一个简单的数据增强方式,即交换两个回复在输入中出现的顺序,并对输出的评判文本进行相应的重写,以尽可能消除模型在评估时的位置偏好。
实验和结果
针对Auto-J所支持的多个功能,分别构建了不同的测试基准以验证其有效性:
在成对回复比较任务上,评估指标为与人类偏好标签的一致性,以及在交换输入中两个回复的顺序前后模型预测结果的一致性。
可以看到Auto-J在两个指标上均显著超过了选取的基线模型,仅次于GPT-4。
△成对回复比较任务的结果
在单回复评论生成任务上,将Auto-J生成的评论与其他模型的评论进行了一对一比较,可以看到不管是基于GPT-4的自动比较还是人类给出的判决,Auto-J所生成的评论都显著优于大部分基线,且略微优于GPT-4。
△Auto-J在单回复评论生成任务上相比基线的胜率
研究者还探索了Auto-J作为奖励模型(Reward Model)的潜力。
在常用的检测奖励模型有效性的Best-of-N设定下(即基座模型生成多个候选答案,奖励模型根据自身输出选择最佳回复),Auto-J给出的单回复打分比各类基线模型能选出更好的回复(以GPT-4评分为参考)。
同时,其打分也显示了与GPT-4打分更高的相关性。
△不同模型作为奖励模型的表现
最后,开发者也探究了Auto-J在系统级别的评估表现。
对AlpacaEval(一个流行的基于GPT-4评估的大模型排行榜)上提交的开源模型使用Auto-J的单样本打分进行了重新排序。
可以看到,基于Auto-J的排序结果与GPT-4的排序结果有极高的相关性。
△Auto-J与GPT-4对AlpacaEval排行榜提交的开源模型排序之间的相关性及具体排名数据
作者总结和展望
总结来说,GAIR研究组开发了一个具有 130 亿参数的生成式评价模型 Auto-J,用于评估各类模型在解决不同场景用户问询下的表现,并旨在解决在普适性、灵活性和可解释性方面的挑战。
实验证明其性能显著优于诸多开源与闭源模型。
此外,也公开了模型之外的其他资源,如模型的训练和多个测试基准中所使用的数据,在构建数据过程中得到的场景定义文件和参考评估标准,以及用以识别各类用户问询所属场景的分类器。
该项目具体的论文、主页信息如下:
论文地址:https://arxiv.org/abs/2310.05470
项目地址:https://gair-nlp.github.io/auto-j/
代码地址:https://github.com/GAIR-NLP/auto-j