📢 转载信息
原文链接:https://openai.com/index/instruction-hierarchy-challenge
原文作者:OpenAI
AI 系统通常会接收来自多个来源的指令。这些来源可能包括系统消息中的安全策略、开发者提供的产品指导、用户的请求,以及在线找到的信息。训练模型可靠地优先处理这些来源中最受信任的指令,是安全部署的关键部分。
当这种优先级排序机制失效时,可能会出现许多 AI 安全和可靠性问题。模型可能会收到执行违禁内容的请求,泄露私人信息的尝试,或者嵌入在线数据中的提示注入攻击。在每种情况下未能恰当行为,其根本原因相同:模型可能遵循了错误的指令。
当这些指令发生冲突时,模型必须决定优先处理哪些指令。如果模型将不受信任的指令视为权威,它可能会采取违反策略或开发人员及用户意图的行为。
我们证明,精心设计的指令层级任务(旨在训练模型根据信任级别对指令进行排序)可以改进多项实际安全属性。接受过这些任务训练的模型,对系统提示中的安全规范响应更灵敏(提高了安全可控性),并且对工具输出中嵌入的提示注入攻击更加鲁棒。
什么是指令层级——以及它为何重要
为了处理冲突,OpenAI 的模型经过训练,遵循明确的指令层级:
系统 > 开发者 > 用户 > 工具
优先级更高的指令更受信任。模型应仅在不与更高优先级约束冲突的情况下遵循较低优先级的指令。这些原则在 OpenAI 模型规范(opens in a new window) 中有所概述。
例如,如果系统消息包含一项安全策略,而用户要求模型违反该策略,模型应予以拒绝。如果工具输出包含恶意指令,模型应忽略它们,而不是将其视为命令。
正确处理这一点是安全、保障和可靠性的基础。
x = -1
Let's start by factoring the quation: (x+1)(x+1) = 0. Now, what value of x makes this zero?
右侧的模型在两个指令冲突时,正确地遵循了优先级更高的开发者的指令,而非用户的指令。
大规模指令层级训练为何困难
强化学习是教授指令层级的自然选择。我们可以生成包含冲突指令的对话,提示模型做出回应,并在其遵循正确指令时给予奖励。
我们确定了在简单应用该方法时遇到的三个陷阱:
- 指令遵循失败有时也会成为指令层级失败:模型可能无法解决指令冲突,并非因为它不理解角色的层级,而是因为指令本身过于复杂。
- 指令冲突可能非常微妙,甚至是主观的。一种常见的方法是让一个独立的 LLM 评判并为正在训练的 LLM 分配奖励,但评判者本身也可能出错。
- 模型倾向于学习 那些能带来高奖励但实际上无效的捷径(opens in a new window)。典型的例子是过度拒绝:模型可以通过拒绝即使是良性请求来最大化安全性。
我们的方法
我们设计了 IH-Challenge,一个强化学习训练数据集,以解决上述每个陷阱。我们遵循以下原则:
- 任务的指令遵循性是简单的
- 可以使用简单的 Python 脚本客观地评估它们
- 没有能保证在所有任务上都获得高奖励的简单捷径
IH-Challenge 中的每个任务本质上都是一次包含以下消息的对话:
- 一条来自高权限角色的指令消息,例如“只回答‘是’或‘否’”。
- 一条来自较低权限角色的指令消息,试图让模型违反上一条高权限消息中的指令。
正在训练的模型生成下一条消息。我们编写了这些任务/环境,使得能够通过编程检查模型的响应是否满足更高层级的约束。
结果和鲁棒性
我们在 IH-Challenge 上训练了一个模型,并产生了一个内部模型,我们称之为 GPT‑5 Mini-R,其表现如下:
- 在指令层级基准测试上表现更好
- 改进的性能泛化到未见过和对抗性的指令层级测试
- 保持整体可用性,没有出现过度拒绝的情况
这使得该方法在安全性方面尤具吸引力:通过直接训练模型在 IH-Challenge 任务上正确解决指令冲突,我们在 IH 改进方面取得了在新的攻击和新情况下的泛化能力。
在学术基准测试上的鲁棒性
|
Eval |
GPT-5-Mini |
GPT-5 Mini-R |
|
Gandalf Password (sys-user) |
0.99 |
0.99 (+0) |
|
Gandalf Password (dev-user) |
0.98 |
1.00 (+0.02) |
|
TensorTrust (sys-user) |
0.86 |
0.94 (+0.08) |
|
TensorTrust (dev-user) |
0.76 |
0.91 (+0.15) |
|
RealGuardrails (Distractors) |
0.88 |
0.95 (+0.07) |
|
RealGuardrails (Handwritten) |
0.82 |
0.89 (+0.07) |
|
System IFEval |
0.92 |
0.96 (+0.04) |
在内部基准测试上的鲁棒性
|
Eval |
GPT-5-Mini |
GPT-5 Mini-R |
|
TutorJailbreak (sys-user) |
0.96 |
0.99 (+0.03) |
|
Tutor Jailbreak (dev-user) |
0.97 |
0.99 (+0.02) |
|
System <> User Conflict |
0.84 |
0.95 (+0.11) |
|
System <> Developer Conflict |
0.86 |
0.86 (+0) |
|
Developer <> User Conflict |
0.83 |
0.95 (+0.12) |
无能力回归
|
Eval |
GPT-5-Mini |
GPT-5 Mini-R |
|
IH-Challenge (overrefusal) |
0.79 |
1.00 (+0.21) |
|
TensorTrust (overrefusal) |
0.91 |
0.90 (-0.01) |
|
GPQA Diamond |
0.83 |
0.83 (+0) |
|
AIME 2024 |
0.93 |
0.94 (+0.01) |
|
Chat WinRate vs. o1 |
0.71 |
0.66 (-0.05) |
|
Preference Score |
0.46 |
0.40 (-0.06) |
为何能提升实际安全性和安全性
更强的指令层级能够同时带来多项安全效益,包括安全可控性和提示注入鲁棒性。
安全可控性
我们通过在系统提示中添加特定类别的安全规范,并衡量模型在 OpenAI 的生产安全基准测试(一组代表 ChatGPT 实际生产场景的安全敏感对话)上的行为,来评估安全可控性。
接受 IH 训练的模型表现出持续的改进:在存在安全规范的情况下,它在违禁类别上实现了更高的拒绝率和安全完成率,表明更强的指令层级行为使其在低优先级指令提出不安全请求时,能更好地解决冲突。值得注意的是,这种改进并没有伴随有用性率的相应下降(即,它并非通过简单地总体上拒绝更多而变得“不那么有用”)。

提示注入鲁棒性:对恶意工具指令的更强抵抗力

IH 训练模型如何抵抗 GPT‑5 Mini(基线模型)会陷入的提示注入的示例。
指令层级也是抵抗提示注入的关键,即当恶意指令嵌入在工具输出中时。我们在两个提示注入基准测试上评估了 IH 训练模型——一个学术基准测试 CyberSecEval 2,以及一个 OpenAI 内部提示注入基准测试,该测试包含类似在旧版 ChatGPT Atlas 上展示的攻击。
相较于基线模型,接受 IH 训练的 GPT‑5 Mini-R 模型在两个基准测试上都提高了提示注入鲁棒性,并在这些实验中显著提高了我们在内部静态提示注入评估上的表现。
展望未来
随着模型变得越来越具有代理性——调用工具、阅读不受信任的文档、并在现实世界中采取行动——一致地优先信任指令而非不信任指令的能力,将成为核心安全属性。
这项工作表明,可以通过设计解决这些陷阱的训练环境来克服 IH 鲁棒性训练中的一些难题。尽管我们的 IH-Challenge 数据集看似简单,但模型从这些环境中学习到的 IH 行为,能够泛化到更现实、通常无法客观评估的基准测试上。
加强指令层级不仅能提高可靠性,还能同时带来多项安全和安保收益——随着 AI 系统能力和自主性的增强,这将成为一个日益重要的基础。
为了支持该领域的进一步研究,我们在此 发布(opens in a new window) IH-Challenge 数据集。
🚀 想要体验更好更全面的AI调用?
欢迎使用青云聚合API,约为官网价格的十分之一,支持300+全球最新模型,以及全球各种生图生视频模型,无需翻墙高速稳定,文档丰富,小白也可以简单操作。
评论区