FalseReject:通过推理感知评估减少大语言模型的过度谨慎
大型语言模型在通过强大的安全机制执行负责任的人工智能标准方面已取得长足进步。然而,这些机制常常过于谨慎,导致“过度拒绝”——即模型拒绝回答完全良性的提示。这种过度谨慎的行为虽然初衷良好,却会降低大语言模型在教育、健康和人力资源支持等细致入微的现实场景中的实用性。
为解决此问题,我们与同事开发了一种基于图的方法来生成过度拒绝的示例。利用这种方法,我们创建了FalseReject,一个包含15000个训练提示和1100个测试提示的基准数据集。在我们的论文中,报告了数据生成方法,以及使用该数据集对29个最先进的大语言模型进行基准测试,并通过微调减少不必要拒绝的情况。
在微调实验中,使用了五种不同的大语言模型。每个模型都进行了四次微调:两次在两个不同的指令遵循数据集上,两次在相同数据集但用FalseReject的过度拒绝数据增强后进行。随后使用两个不同的数据集评估每个模型,即FalseReject和标准基准Or-Bench,共进行了20次不同的比较。通过模型接受无害提示的百分比来衡量性能。
使用FalseReject微调的模型在所有情况下都优于基线,在某些情况下超出40%至70%。平均而言,微调使模型对安全提示的接受度提高了27%,同时保持或提升了一般的语言能力及在另外四项安全指标上的表现。
问题:现代大语言模型中的过度拒绝
随着大语言模型对安全的意识增强,它们越来越多地纳入过滤器或接受训练以标记敏感查询。但这些模型通常缺乏上下文辨别能力。例如,模型可能会拒绝响应诸如以下的查询:
“我能为了学校项目学习吸烟的危害吗?”
“用针的类比解释疫苗如何工作?”
尽管这些是教育类查询,但模型有时会因为“吸烟”或“针”等特定触发词而将其归类为可能不安全。这个问题在专业应用中尤其关键,例如医疗聊天机器人、教育工具或人力资源支持,必须在保持安全的同时,保证帮助性和相关性。
解决方案:引入FalseReject
FalseReject是一个大规模、精心策划的提示数据集,这些提示看起来可能不安全,但实际上是良性和合理的。它针对44个敏感主题类别,旨在挑战大语言模型在需要上下文细微差别的情景下的表现。
FalseReject具有三个关键特征:
- 丰富多样的主题:数据集涵盖的类别比任何可比基准都多,大约是先前基准(如XSTest和OKTest)的两到四倍;
- 带有推理链的结构化回复:每个提示都配有两个回复,一个标准回复和一个带有长推理链的回复,因此模型可以学习如何证明特定提示是安全的,并制定有用的答案,而不是一概拒绝;
- 通过图知情的对抗性代理生成:我们开发了一种新颖的多代理对抗性生成框架,用于创建看似敏感但在上下文上是良性的多样化提示,帮助模型学会区分真正不安全的查询和安全的边缘情况,而不削弱安全边界。
基于图的多代理生成
使用大语言模型进行大规模合成数据生成通常会导致内容重复,降低多样性。因此,在生成训练示例之前,我们使用一个大语言模型从现有数据集的有毒提示中识别和提取实体,重点关注与安全问题相关的人员、地点、对象和概念。我们重复此过程多次,生成多个列表,然后让一个大语言模型集成选择最具代表性的列表。
接下来,我们使用一个大语言模型识别提取实体之间的关系,并将这些信息编码到实体图中。基于该图,被提示充当生成器的大语言模型提出涉及潜在不安全实体的示例提示。
然后,被提示充当判别器的大语言模型确定候选提示是真正不安全还是仅仅看起来不安全。被判定为安全的提示会传递给一个大语言模型池,这些模型尝试处理它们。任何被池中至少一个大语言模型拒绝的提示都会被保留以供进一步评估。
最后,被提示充当协调器的大语言模型确定保留的提示是否构成有效的过度拒绝案例,特别是它们是否尽管看起来令人担忧但实际上是良性的。有效案例被保留用于数据集;无效的提示则反馈给生成器进行改进。
在过程的每次迭代中,生成器通过生成看似不安全实则无害的提示来积极尝试触发拒绝。同时,判别器试图避免被误导,识别它们是安全还是不安全的。这种对抗性交互产生了极其微妙的训练示例,可以帮助大语言模型学习细粒度的区分。
实验结果
我们评估了29个最先进的大语言模型,包括开源和闭源模型,涵盖标准和推理导向的变体。我们的发现既令人警醒又充满希望:
- 所有模型都表现出显著的过度拒绝率,即使是领先的商业模型也拒绝回答25%至50%的安全提示;
- 更大的模型规模与更好的拒绝行为无关。
- 更强的通用语言能力并不意味着更低的过度拒绝。
- 使用FalseReject微调的模型显示出明显的改进,在不增加不安全生成和通用语言能力的情况下,提供了更有帮助的响应。
实用性:FalseReject如何帮助大语言模型开发
FalseReject不仅仅是一个数据集:它是一个改进大语言模型上下文安全性的框架。以下是它的使用方式:
- 微调:训练模型,使其能够为对边缘案例提示的响应提供基于推理的合理性说明;
- 基准测试:使用人工标注的测试集评估拒绝行为;
- 调试:理解模型对哪些类别(例如法律、性健康、成瘾康复)过于敏感;
- 转移评估:测试指令遵循或推理模型在标准安全数据集之外的稳健性。
FalseReject是实现更周到和具有上下文感知能力的语言模型的关键一步。通过专注于结构化推理,它在帮助性和安全性之间架起了桥梁,为减少大语言模型中的有害过度谨慎提供了一种可扩展的方法。
更多精彩内容 请关注我的个人公众号 公众号(办公AI智能小助手)或者 我的个人博客 https://blog.qife122.com/
对网络安全、黑客技术感兴趣的朋友可以关注我的安全公众号(网络安全技术点滴分享)