Refuse Whenever You Feel Unsafe: Improving Safety in LLMs via Decoupled Refusal Training¶
会议: ACL 2025
arXiv: 2407.09121
代码: https://github.com/RobustNLP/DeRTa
领域: LLM 对齐
关键词: LLM安全, 拒绝训练, 越狱防御, 位置偏差, 强化转换
一句话总结¶
发现标准安全微调数据存在"拒绝位置偏差"——模型只学会在回答开头拒绝,中途发现不安全时无法中断。提出 DeRTa(Decoupled Refusal Training),通过"有害前缀+安全拒绝"的 MLE 训练和在每个位置模拟"从有害到安全"转换的 RTO 训练,让 LLM 能在回答的任何位置感知到不安全时拒绝,在六种攻击场景下超越 GPT-4 和 LLaMA3-Instruct。
研究背景与动机¶
- 领域现状:LLM 通过安全微调(SFT + RLHF)学习拒绝有害请求。但越狱攻击(jailbreak)可以通过各种手段绕过这些保护。
- 现有痛点:(a) 标准安全微调数据中,拒绝总是出现在回答的开头位置——模型学到的是"在开头判断是否安全",而非"在任何时候都保持安全警觉";(b) 某些攻击(如前缀注入、渐进诱导)会让模型先生成一些看似无害的内容,然后滑向有害内容——模型一旦开始生成就"刹不住车";(c) 缺乏训练数据教模型"中途发现不安全时如何中断并转向安全回复"。
- 核心矛盾:拒绝应该可以发生在生成的任何位置,但训练数据中拒绝只出现在位置 0——导致模型只学会了"一开始就拒绝或不拒绝"的二元决策,不会"中途拒绝"。
- 本文要解决什么? 让 LLM 能在生成回答的任何位置感知到不安全并中断转向拒绝。
- 切入角度:在安全训练数据中显式构造"先有害后安全"的转换序列——让模型学会"从有害到安全"的转换技能,而非仅学习"直接安全"的模式。
- 核心idea一句话:让模型学会"中途刹车"——从有害输出的任意位置转向安全拒绝。
方法详解¶
整体框架¶
DeRTa 包含两个互补组件:(1) MLE with Harmful Prefix——在安全回复前拼接一段随机长度的有害回复前缀来训练,让模型学会"即使已经开始有害生成也能转向拒绝";(2) Reinforced Transition Optimization (RTO)——在有害回复序列的每个位置上模拟"从有害到安全"的转换,用辅助训练目标强化这种转换能力。
关键设计¶
- MLE with Harmful Response Prefix:
- 做什么:训练模型在已经生成部分有害内容后仍能转向安全拒绝
- 核心思路:对每个有害查询,先用(未对齐的)LLM 生成有害回复,然后截取随机长度的有害前缀拼接到安全拒绝回复之前。训练目标是预测"拒绝回复"部分
- 训练数据形式:
[有害查询] [有害回复前n个token] [<拒绝>] [安全拒绝回复] -
设计动机:有害前缀提供了额外的上下文信息帮助模型识别不安全内容——"看到自己正在说什么坏话"才能决定停下来
-
Reinforced Transition Optimization (RTO):
- 做什么:在有害回复的每个 token 位置上都强化"转向安全"的能力
- 核心思路:MLE 只有一次转换(从前缀结尾转向拒绝),但一次不够。RTO 在有害回复的完整序列上,对每个位置 \(t\) 计算"从这里转向安全拒绝"vs"继续有害生成"的偏好分数,用强化学习优化模型在所有位置都偏好转向安全
-
设计动机:确保模型不只在一个特定位置会转向安全,而是在任何位置都有能力转向
-
两组件的协同:
- MLE with Harmful Prefix 提供了"单次转换"的学习信号——拿到一次决策正确
- RTO 将这种能力泛化到所有位置——无论在哪个 token 处都能做出正确决策
- 两者结合实现了真正的"随时随地拒绝"
损失函数 / 训练策略¶
- MLE 阶段:标准自回归损失,仅计算安全拒绝部分的 loss
- RTO 阶段:DPO 式的偏好优化——preferred = 从当前位置转向安全,dispreferred = 继续有害生成
- 分两阶段先后训练(先 MLE 后 RTO)
实验关键数据¶
主实验(六种攻击场景)¶
| 方法 | 平均安全率(↑) | 有用性保持 | 说明 |
|---|---|---|---|
| LLaMA3-8B-Instruct | 基线 | 高 | 标准安全微调 |
| 标准安全 SFT | 中 | 高 | 位置偏差问题 |
| GPT-4 | 中高 | 高 | 闭源参考 |
| DeRTa (LLaMA3-8B) | 最高 | 高 | 超越GPT-4 |
| DeRTa (LLaMA3-70B) | 最高 | 高 | 更大模型更好 |
消融实验¶
| 配置 | 效果 | 说明 |
|---|---|---|
| 仅 MLE (无RTO) | 显著提升但不够 | 单次转换不足以覆盖所有位置 |
| 仅 RTO (无MLE) | 提升有限 | 没有前缀学习RTO缺乏基础 |
| MLE + RTO | 最优 | 两者互补 |
| 不同有害前缀长度 | 随机长度最优 | 固定长度可能导致位置过拟合 |
关键发现¶
- 拒绝位置偏差是一个真实且重要的问题——标准安全微调的模型确实"不会中途刹车"
- DeRTa 在不损害有用性的前提下大幅提升安全性——不是简单地让模型更拒绝,而是让它更精准地拒绝
- 在 LLaMA3-8B 上超越 GPT-4 的安全性——结构化的安全训练可以弥补模型规模差距
- RTO 的位置级强化关键——仅靠 MLE 的单次转换不够,需要在每个位置都强化
- 有害前缀长度随机化避免了特定位置的过拟合
亮点与洞察¶
- "拒绝位置偏差"的发现简单却深刻——之前所有安全微调工作都没有注意到训练数据中拒绝总是在开头,这是个系统性盲点。
- "中途刹车"的隐喻直觉好——不是不让车上路,而是教会车在任何时刻都能刹车。
- MLE + RTO 的渐进策略设计精巧——先学会一次转换,再泛化到所有位置。
- 对所有 LLM 安全微调的实践有直接影响——应在训练数据中加入"中途拒绝"样本。
- 该方法可与其他安全防御(如输入检测、表示工程)正交结合。
局限性 / 可改进方向¶
- 有害回复生成需要用未对齐 LLM——如果攻击绕过了有害回复的模式则可能无效
- 仅评估英语场景——跨语言攻击未验证
- RTO 增加了训练复杂度——每个样本在多个位置上计算偏好
- 可能对"真正需要谨慎但最终应该回答"的边界场景过度拒绝
相关工作与启发¶
- vs 标准安全微调(LLaMA-Guard/Safe RLHF): 标准方法只训练"开头拒绝";DeRTa 训练"任意位置拒绝"
- vs 表示工程(RepE/Lat-AT): 表示工程在隐藏层操作安全特征;DeRTa 在训练数据层面解决问题——不同层次
- vs Wallace et al. (2024) Priority Training: Priority Training 确保安全性优先;DeRTa 解决的是拒绝时机问题——互补
- 对对抗性安全(Red Teaming)和防御研究有重要参考价值
评分¶
- 新颖性: ⭐⭐⭐⭐⭐ "拒绝位置偏差"的发现和"中途拒绝"的训练方法都是原创且重要的
- 实验充分度: ⭐⭐⭐⭐⭐ 六种攻击+两个模型家族+消融+有用性评估+定性分析
- 写作质量: ⭐⭐⭐⭐⭐ 问题发现过程清晰,方法动机自然,MLE→RTO 的渐进逻辑流畅
- 价值: ⭐⭐⭐⭐⭐ 对 LLM 安全微调有直接且重大的实践影响