通过推理感知评估减少LLM过度拒绝行为

研究背景

大型语言模型在通过健全的安全机制执行负责任的人工智能标准方面已取得长足进步。然而,这些机制常常过于谨慎,导致出现“过度拒绝”——即模型拒绝回答完全无害的提示。这种过度谨慎的行为,虽然初衷良好,但会降低大型语言模型在教育、医疗和人力资源支持等需要细致处理的真实场景中的实用性。

解决方案:引入FalseReject

为了应对此问题,我们开发了一种基于图的方法来生成过度拒绝的示例。利用这种方法,我们创建了FalseReject,一个包含15,000个训练提示和1,100个测试提示的基准数据集。在我们的论文《FalseReject:一种通过结构化推理改进上下文安全性和缓解LLM过度拒绝的资源》中,我们报告了我们的数据生成方法,以及我们如何使用该数据集对29个最先进的大型语言模型进行基准测试,并通过微调减少不必要的拒绝。

在微调实验中,使用了五个不同的大型语言模型。每个模型被微调四次:两次在两个不同的指令遵循数据集上,两次在相同的但用FalseReject中的过度拒绝数据增强过的数据集上。然后使用两个不同的数据集(FalseReject和标准基准Or-Bench)来评估每个模型,总共进行了20次不同的比较。性能衡量标准是模型接受无害提示的百分比。

使用FalseReject进行微调的模型在所有情况下都优于基线模型,在某些案例中高出40%至70%。平均而言,微调将模型对安全提示的接受率提高了27%,同时保持或提高了一般语言能力以及在另外四项安全指标上的性能。

问题:现代LLM中的过度拒绝

随着大型语言模型变得更注重安全,它们越来越多地融入过滤器或接受训练以标记敏感查询。但这些模型常常缺乏对上下文的分辨能力。例如,模型可能拒绝回答像这样的查询:“我能为一个学校项目了解吸烟的危害吗?”“用针的比喻解释疫苗是如何工作的。”即使这些是教育性质的查询,模型有时也会因为“吸烟”或“针”等特定触发词而将其归类为潜在不安全。这个问题在专业应用(例如,医疗保健聊天机器人、教育工具或人力资源支持)中尤其关键,必须在保持安全性的同时保证帮助性和相关性。

FalseReject的特点

FalseReject是一个大规模、精心策划的数据集,其中的提示看似潜在不安全,但实际上是无害且合理的。它针对44个敏感主题类别(例如,药物使用、政治和心理健康),旨在在需要上下文细微差别的场景中挑战大型语言模型。

FalseReject具有三个关键特征:

  • 丰富多样的主题:该数据集涵盖的类别比任何同类基准都多——几乎是先前基准(如XSTest和OKTest)的两到四倍。
  • 带推理链的结构化响应:每个提示都配有两个响应,一个是标准响应,另一个是带有长思维链推理轨迹的响应。这样模型可以学习如何证明特定提示是安全的判断,并构建有帮助的回答,而不是一概拒绝。
  • 通过基于图的对抗性代理生成:我们开发了一种新颖的多代理对抗性生成框架,以创建看似敏感但在上下文中无害的多样化提示,帮助模型学会区分真正不安全的查询和安全的边缘案例——同时不削弱安全边界。

基于图的多代理生成

使用大型语言模型进行大规模合成数据生成常常导致内容重复,降低多样性。因此在生成训练示例之前,我们使用一个大型语言模型从现有数据集中的有毒提示中识别和提取实体,重点关注与安全问题相关的人物、地点、物体和概念。我们重复此过程数次,生成多个列表,然后让一组大型语言模型选出最具代表性的列表。

接下来,我们使用一个大型语言模型来识别所提取实体之间的关系,并将该信息编码到一个实体图中。基于该图,一个被设定为生成器角色的大型语言模型提出涉及潜在不安全实体的示例提示。

然后,一个被设定为判别器角色的大型语言模型确定候选提示是真正不安全还是仅仅看似不安全。被判断为安全的提示会传递给一组尝试处理它们的大型语言模型。任何被该组中至少一个模型拒绝的提示都会被保留以进行进一步评估。

最后,一个被设定为协调器角色的大型语言模型确定被保留的提示是否构成有效的过度拒绝案例,特别是它们是否看似令人担忧但实际上无害。有效的案例被保留用于数据集;无效的提示则反馈给生成器进行改进。

FalseReject中过度拒绝示例的生成流程

在此过程的每次迭代中,生成器都积极尝试触发拒绝,生成看似不安全但实际上无害的提示。同时,判别器则努力避免被误导,识别它们是安全还是不安全。这种对抗性互动产生了极其微妙的训练示例,可以帮助大型语言模型学习精细的区分。

实验结果

我们评估了29个最先进的大型语言模型,包括开源和闭源模型,涵盖了标准和推理导向的变体。我们的发现既令人深思又充满希望:

  • 所有模型都表现出显著的过度拒绝率,即使是领先的商业模型也拒绝回答25%–50%的安全提示。
  • 模型规模更大并不意味着更好的拒绝行为。
  • 更强的通用语言能力并不意味着更低的过度拒绝。
  • 使用FalseReject进行微调的模型显示出明显的改进,提供了更有帮助的响应,同时没有增加不安全的生成,并保持了通用语言能力。

实用性:FalseReject如何帮助LLM开发

FalseReject不仅仅是一个数据集,它是一个用于改进大型语言模型中上下文安全性的框架。以下是它的用途:

  • 微调:训练模型,使其能为对边缘案例提示的响应发展基于推理的论证。
  • 基准测试:使用人工标注的测试集评估拒绝行为。
  • 调试:理解模型对哪些类别(例如,法律、性健康、成瘾康复)过度敏感。
  • 转移评估:测试指令遵循或推理模型在标准安全数据集之外的鲁棒性。

FalseReject是迈向更具思考力和上下文感知的语言模型的关键一步。通过聚焦于结构化推理,它弥合了帮助性和安全性之间的差距,提供了一种可扩展的方法来减少大型语言模型中有害的过度谨慎。
更多精彩内容 请关注我的个人公众号 公众号(办公AI智能小助手)或者 我的个人博客 https://blog.qife122.com/
对网络安全、黑客技术感兴趣的朋友可以关注我的安全公众号(网络安全技术点滴分享)

公众号二维码

公众号二维码

posted @ 2025-12-14 22:19  CodeShare  阅读(10)  评论(0)    收藏  举报