随着生成式人工智能技术的快速发展,确保大模型与人类价值(意图)对齐(Alignment)已经成为行业的重要挑战。
虽然模型的对齐至关重要,但目前的评价方法往往存在局限性,这也让开发者往往困惑:大模型对齐程度如何?这不仅制约了对齐技术的进一步发展,也引发了公众对技术可靠性的担忧。
为此,上海交通大学生成式人工智能实验室迅速响应,推出了一款全新的价值对齐评价工具:Auto-J,旨在为行业和公众提供更加透明、准确的模型价值对齐评价。
论文地址:https://arxiv.org/abs/2310.05470
项目地址:https://gair-nlp.github.io/auto-j/
代码地址:https://github.com/GAIR-NLP/auto-j
目前,该项目开源了大量资源,包括:
Auto-J 的 130 亿参数模型(使用方法,训练和测试数据也已经在 GitHub 上给出);
所涉及询问场景的界说文件;
每个场景手工建立的参照评价准则;
能够自动识别用户询问所属场景的分类器等。
该评价器有如下优势:
1. 功能使用方面
支持 50 + 种分歧的真实场景的用户询问(query)(如常见的广告创作,起草邮件,作文润色,代码生成等)能够评价各类大模型在广泛场景下的对齐表现;
它能够无缝切换两种最常见的评价范式 —— 成对回覆比力和单回覆评价;并且可以 “一器多用”,既可以做对齐评价也可以做 “奖赏函数”(Reward Model) 对模型性能进一步优化;
同时,它也能够输入详细,结构化且易读的自然语言批评来支持其评价结果,使其更具可解释性与可靠性,并且便于开发者参与评价过程,迅速发现价值对齐过程中存在的问题。
2. 性能开销方面
在性能和效率上,Auto-J 的评价效果仅次于 GPT-4 而显著优于包括 ChatGPT 在内的众多开源或闭源模型,并且在高效的 vllm 推理框架下能每分钟评价超过 100 个样本。
在开销上,由于其仅蕴含 130 亿参数,Auto-J 能直接在 32G 的 V100 上进行推理,而经过量化压缩更是将能在如 3090 这样的消费级显卡上部署使用,从而极大降低了 LLM 的评价成本 (目前主流的解决方法是利用闭源大模型(如 GPT-4)进行评价,但这种通过调用 API 的评价方式则需要消耗大量的时间和金钱成本。)
成对回覆比力的排行榜结果
批评生成任务的排行榜结果
示例
注:本节提供的示例已由原始英文文本翻译为中文
下图例 1 为成对回覆比力,红色字体高亮了显著区分两条回覆的内容,并且用绿色字体高亮了 Auto-J 给出的评判中与用户偏好对齐的部分。
下图例 2 为单回覆评价,绿色字体高亮了 Auto-J 给出的评判中切中要点的部分。
具体方法
训练数据总体上遵循如下的流程示意图:
图1:训练数据搜集流程示意图
场景的界说和参照评价规范:
图 2:场景界说与参照评价规范
为了更广泛的支持分歧的评价场景,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。
表 1 & 图 3:成对回覆比力任务的结果
在单回覆批评生成任务上,将 Auto-J 生成的批评与其他模型的批评进行了一对一比力,可以看到不管是基于 GPT-4 的自动比力还是人类给出的判决,Auto-J 所生成的批评都显著优于大部分基线,且略微优于 GPT-4。
图 4:Auto-J 在单回覆批评生成任务上相比基线的胜率
研究者还探索了 Auto-J 作为奖赏模型(Reward Model)的潜力。在常用的检测奖赏模型有效性的 Best-of-N 设定下(即基座模型生成多个候选答案,奖赏模型根据自身输入选择最佳回覆),Auto-J 给出的单回覆打分比各类基线模型能选出更好的回覆(以 GPT-4 评分为参照)。同时,其打分也显示了与 GPT-4 打分更高的相关性。
表 2:分歧模型作为奖赏模型的表现
最后,开发者也探究了 Auto-J 在系统级别的评价表现。对 AlpacaEval(一个流行的基于GPT-4评价的大模型排行榜)上提交的开源模型使用 Auto-J 的单样本打分进行了重新排序。可以看到,基于 Auto-J 的排序结果与 GPT-4 的排序结果有极高的相关性。
图 5 & 表 3:Auto-J 与 GPT-4 对 AlpacaEval 排行榜提交的开源模型排序之间的相关性及具体排名数据
总结和展望
总结来说,GAIR 研究组开发了一个具有 130 亿参数的生成式评价模型 Auto-J,用于评价各类模型在解决分歧场景用户询问下的表现,并旨在解决在普适性、灵活性和可解释性方面的挑战。实验证明其性能显著优于诸多开源与闭源模型。此外,也公开了模型之外的其他资源,如模型的训练和多个测试基准中所使用的数据,在建立数据过程中得到的场景界说文件和参照评价规范,以及用以识别各类用户询问所属场景的分类器。