随着人工智能技术的发展,以 GPT-4 为代表的大语言模型依靠其强大的能力正在对社会产生深远的影响。与此同时,大模型本身的安全性问题也变得尤为重要。如何确保大语言模型可以和人类的价值、真实的意图相一致,防止模型被滥用、输出有害的信息,这是大模型安全治理的核心问题。之前的大多数对齐方法需要收集新数据重新训练模型,然而对训练数据质量要求高以及优化模型参数耗时耗力是对齐中的痛点。除此之外,待对齐的价值观可能是动态变化的,这进一步给大模型价值观对齐带来了挑战。
有鉴于此,上海交通大学生成式人工智能实验室 GAIR 迅速采取行动,推出了一种全新的价值对齐方法:OPO (On-the-fly Preference Optimization,实时偏好优化)。OPO 无需训练即可实现实时动态对齐,而且因其即插即用的特性,适用于所有的开源与闭源大模型。研究者透过 OPO 实现了大模型对于法律与道德标准的对齐,展示了 OPO 的动态性以及优越性。
相比于之前工作中的对齐方法(i.e., SFT、PPO 和 DPO),OPO 方法有如下优势:
表 1:OPO 与 SFT、PPO、DPO 等对齐方法的对比。
目前,该项目开源了大量资源,包括:
OPO 框架包含 3 部分,准则构建模块、对齐模块和评估模块。
图 1:OPO 框架。
准则构建模块:
收集原始的准则文档,清洗文本数据,统一准则的格式,分别得到一个法律准则语料库和道德准则语料库。具体而言,对于法律准则,研究者从国家法律法规数据库中收集宪法、行政法规、地方性法规等法律法规,从国家规章库中收集部门规章与地方政府规章。这 2 个数据库涵盖了中国现行有效的所有法律。对于道德准则,研究者从中学的《道德与法治》教材里收集剔除法治内容后的文本作为基础道德准则,从网上收集了 57 家不同公司 / 行业的职业道德准则。除了收集显式的道德准则外,研究者也尝试从人标注好的道德数据里提取道德准则。从 NormBank 的训练集里随机选了 1000 条数据,每一条数据均是一个结构化的社会道德场景,之后研究者利用 ChatGPT 从每条数据里提取一条社会道德准则。
表 2:收集的道德准则与法律准则的分析。
表 3:收集的法律准则、基础道德准则、职业道德准则和社会道德准则的示例。
对齐模块:
对齐模块基于检索增强生成(RAG),旨在通过提供相应的准则,引导大模型在遵守准则的前提下更好地回答用户的问题。研究者利用 OpenAI 的 text-embedding-ada-002 embedding 模型将每条准则都表征为稠密向量并存储在一个向量库里。给定一个提问,首先也将问询转换为一个稠密向量,然后利用 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 个测试基准中所使用的所有数据。
文章来自于微信公众号 “机器之心”
【开源免费】graphrag是微软推出的RAG项目,与传统的通过 RAG 方法使用向量相似性作为搜索技术不同,GraphRAG是使用知识图谱在推理复杂信息时大幅提高问答性能。
项目地址:https://github.com/microsoft/graphrag
【开源免费】Dify是最早一批实现RAG,Agent,模型管理等一站式AI开发的工具平台,并且项目方一直持续维护。其中在任务编排方面相对领先对手,可以帮助研发实现像字节扣子那样的功能。
项目地址:https://github.com/langgenius/dify
【开源免费】RAGFlow是和Dify类似的开源项目,该项目在大文件解析方面做的更出色,拓展编排方面相对弱一些。
项目地址:https://github.com/infiniflow/ragflow/tree/main
【开源免费】phidata是一个可以实现将数据转化成向量存储,并通过AI实现RAG功能的项目
项目地址:https://github.com/phidatahq/phidata
【开源免费】TaskingAI 是一个提供RAG,Agent,大模型管理等AI项目开发的工具平台,比LangChain更强大的中间件AI平台工具。
项目地址:https://github.com/TaskingAI/TaskingAI
【开源免费】XTuner 是一个高效、灵活、全能的轻量化大模型微调工具库。它帮助开发者提供一个简单易用的平台,可以对大语言模型(LLM)和多模态图文模型(VLM)进行预训练和轻量级微调。XTuner 支持多种微调算法,如 QLoRA、LoRA 和全量参数微调。
项目地址:https://github.com/InternLM/xtuner
【开源免费】LangGPT 是一个通过结构化和模板化的方法,编写高质量的AI提示词的开源项目。它可以让任何非专业的用户轻松创建高水平的提示词,进而高质量的帮助用户通过AI解决问题。
项目地址:https://github.com/langgptai/LangGPT/blob/main/README_zh.md
在线使用:https://kimi.moonshot.cn/kimiplus/conpg00t7lagbbsfqkq0