本文来自于微信公众号 机器之心(ID:almosthuman2014),作者:机器之心。
随着人工智能技术的发展,以 GPT-4为代表的大语言模型依靠其强大的能力正在对社会产生深远的影响。与此同时,大模型本身的安全性问题也变得尤为重要。如何确保大语言模型可以和人类的价值、真实的意图相一致,防止模型被滥用、输出有害的信息,这是大模型安全治理的核心问题。之前的大多数对齐方法需要收集新数据重新训练模型,然而对训练数据质量要求高以及优化模型参数耗时耗力是对齐中的痛点。除此之外,待对齐的价值观可能是动态变化的,这进一步给大模型价值观对齐带来了挑战。
有鉴于此,上海交通大学生成式人工智能实验室 GAIR 迅速采取行动,推出了一种全新的价值对齐方法:OPO(On-the-fly Preference Optimization,实时偏好优化)。OPO 无需训练即可实现实时动态对齐,而且因其即插即用的特性,适用于所有的开源与闭源大模型。研究者透过 OPO 实现了大模型对于法律与道德标准的对齐,展示了 OPO 的动态性以及优越性。
相比于之前工作中的对齐方法(i.e., SFT、PPO 和 DPO),OPO 方法有如下优势:
无需训练即可实现价值观对齐;
舍弃奖励模型,并对任意大模型均适用,包括开源与闭源大模型;
容易更新待对齐的价值观。考虑到价值观可能会随着时间发生变化(比如法律),OPO 能方便快捷地通过替换相应的准则完成价值观的更新,而其他对齐方法则需要收集数据重新训练模型。
表1:OPO 与 SFT、PPO、DPO 等对齐方法的对比。
目前,该项目开源了大量资源,包括:
OPO 代码(使用方法和测试流程也已经在 GitHub 上给出);
5种类型的测试数据集,包括人出的法考题目、《道德与法治》考试题目(只保留了道德相关的题目)和从 NormBank 数据的测试集中随机采样的题目,以及利用大模型自动生成的法律题目和职业道德题目;
2大类价值观准则,分别是法律准则和道德准则。法律准则包括截止到2023年7月中国现行有效的所有法律法规(约95万条)。道德准则:①从中学的《道德与法治》教材里收集的基础道德准则;②从网上收集多家不同公司 / 行业的职业道德准则;③从 NormBank 训练集数据中随机抽取得到的社会道德规则;
用于自动生成测试数据的 prompt 以及评估生成的测试数据质量的 prompt;
用 OpenAI embedding 模型提取的法律和道德准则文本对应的向量。
方法
OPO 框架包含3部分,准则构建模块、对齐模块和评估模块。
图1:OPO 框架。
准则构建模块:
收集原始的准则文档,清洗文本数据,统一准则的格式,分别得到一个法律准则语料库和道德准则语料库。具体而言,对于法律准则,研究者从国家法律法规数据库中收集宪法、行政法规、地方性法规等法律法规,从国家规章库中收集部门规章与地方政府规章。这2个数据库涵盖了中国现行有效的所有法律。对于道德准则,研究者从中学的《道德与法治》教材里收集剔除法治内容后的文本作为基础道德准则,从网上收集了57家不同公司 / 行业的职业道德准则。除了收集显式的道德准则外,研究者也尝试从人标注好的道德数据里提取道德准则。从 NormBank 的训练集里随机选了1000条数据,每一条数据均是一个结构化的社会道德场景,之后研究者利用 ChatGPT 从每条数据里提取一条社会道德准则。
表2:收集的道德准则与法律准则的分析。
表3:收集的法律准则、基础道德准则、职业道德准则和社会道德准则的示例。
对齐模块:
对齐模块基于检索增强生成(RAG),旨在通过提供相应的准则,引导大模型在遵守准则的前提下更好地回答用户的问题。研究者利用 OpenAI 的 text-embedding-ada-002embedding 模型将每条准则都表征为稠密向量并存储在一个向量库里。给定一个提问,首先也将问询转换为一个稠密向量,然后利用 Faiss 作为检索器在向量库里检索和问询最相关的 k 条准则,接下来,大模型会通过设计的 prompt 利用检索回来的准则作为行为规范回答问询。
图2:利用检索信息回答问询的 prompt。
评估模块:
评估模块是一个通用可扩展的问题自动生成工具,能够轻松扩展评测范围、扩大评测数据数量,还能缓解测试数据泄露的问题。大模型在预训练和有监督微调阶段通常会涉及大量的非公开文本,之前的一些研究表明这可能会造成测试数据泄露的问题,进而影响大模型性能对比的公平性。此外,研究者观察到人出的法考题目只涵盖一小部分法律,很多法律尤其是地方性法律没有被覆盖到,而对于这部分法律又很难收集到相应的测试题目。并且,职业道德作为道德的一个重要组成部分,目前没有对应的测试基准。为了解决上述问题,研究者提出了一个评估模块,该模块利用 GPT-4自动生成带有答案的单项选择题。评估模块共包含3步:
1. 自动出题:收集人出的单项选择题并从中随机抽取一道题作为 seed quesiton,同时从收集的准则库里随机选择准则,要求 GPT-4参考 seed quesiton 并依据准则和出题要求生成一道合理的包含题目、备选项、选项分析和答案的单项选择题;
2. 自动检测题目质量:将第一步的准则和生成的题目输入到 GPT-4,对单项选择题的4个部分(题目、备选项、选项分析和答案)依次核验,筛掉任意一部分不符合要求的题目;
3. 人工检测题目质量:研究者发现利用 GPT-4并不能去掉所有质量差的自动生成的题目。为了确保评估的可靠性,研究者邀请了3个人类标注者,对第二步保留的题目作进一步的筛选。如果2个及以上的标注者都认为某道题不合理,则去掉这道题。
实验和结果
为了验证 OPO 的有效性,研究者构建了三个由人类标注的测试基准,以及两个由模型自动生成的测试基准。这些基准涵盖了法律和道德两大类别,包括中文和英文基准。测试基准中的每一条数据均为单项选择题。
表4:测试基准的分析。
在 H-Law 和 A-Law 测试基准上,OPO 能显著提高大多数模型的准确率。尤其值得一提的是,OPO 能在 A-Law 测试基准上为许多大型模型带来10个百分点的准确率提升。例如,经过 OPO 优化后,GPT-4的准确度从84.83% 提升至94.65%。此外,国产大模型 Qwen-Chat-14B 和 XuanYuan-70B 在应用 OPO 后的表现不仅与 GPT-4不相上下,而且略微优胜。
表5:各个大模型在 H-Law 与 A-Law 上的原始准确率(Base)、应用 OPO 后的准确率(OPO)、将生成题目用到的准则替换 OPO 中检索得到的准则后的准确率(Oracle)。
表示 OPO 相比 Base 的绝对提升,而
表示 Oracle 相比 Base 的绝对提升。
在 H-Basic-Morality、H-Social-Morality 和 A-Professional-Morality 等3个道德测试基准上,能观察到类似的现象。OPO 能提升所有模型在 A-Professional-Morality 上的表现,提升大部分模型在 H-Basic-Morality 和 H-Social-Morality 上的分数。
表6:各个大模型在 H-Basic-Morality、H-Social-Morality 和 A-Professional-Morality 上的原始准确率(Base)、应用 OPO 后的准确率(OPO)、将生成选择题用到的准则替换 OPO 中检索得到的准则后的准确率(Oracle)。
表示 OPO 相比 Base 的绝对提升,而
表示 Oracle 相比 Base 的绝对提升。
同时,研究者还探索了不同检索长度对 OPO 方法的影响。检索回来的文本长度最大值分别设置成200、500、1000、1500、2000,发现大部分模型在不同的测试基准上均具有相似的趋势:随着检索长度的增加,模型的性能先上升后下降。可能得原因是,较短的文本提供了有益信息,而更长的检索内容引入了噪声。
图3:在 H-law 基准上,改变检索长度对 OPO 效果的影响。
图4:在 A-law 基准上,改变检索长度对 OPO 效果的影响。
图5:在 H-Basic-Morality 基准上,改变检索长度对 OPO 效果的影响。
图6:在 H-Social-Morality 基准上,改变检索长度对 OPO 效果的影响。
图7:在 A-Professional-morality 基准上,改变检索长度对 OPO 效果的影响。
总结
总结来说,GAIR 研究组提出了一个无需训练实现价值观实时动态对齐的方法 OPO,能够作用于开源模型与闭源模型。同时,为了缓解测试数据泄露的问题并扩大测试数据的数量与覆盖范围,研究者介绍了一个可扩展的评估模块用于根据准则自动生成测试问题。实验证明 OPO 能够显著提升不同大模型在5个测试基准上的性能。此外,也公开了收集的所有法律准则与道德准则,以及5个测试基准中所使用的所有数据。