Representation Bending for Large Language Model Safety¶
会议: ACL 2025
arXiv: 2504.01550
代码: https://github.com/AIM-Intelligence/RepBend
领域: AI安全
关键词: 表示工程, 激活转向, LLM安全, 越狱防御, 表示空间分离
一句话总结¶
提出 RepBend,将 activation steering 的核心思想(安全/不安全表示的向量差异)引入 LoRA 微调的损失函数设计,通过"弯曲"模型的表示空间使安全和不安全状态在潜在空间中远离彼此,在多种越狱攻击基准上实现高达 95% 的攻击成功率降低,且对模型通用能力影响极小。
研究背景与动机¶
- 领域现状:LLM 安全训练(SFT、DPO、RLHF)已被证明是"浅层对齐",容易被越狱攻击绕过。对抗训练只能防御特定攻击类型,不泛化到未见攻击。系统级防御(输入/输出过滤器)难以扩展且不改善模型本身的安全性。
- 现有痛点:
- Activation steering 在推理时通过向量加减改变行为,但分布外泛化差且损害通用推理能力
- Circuit Breaker (CB) 和 RMU 通过表示工程改进安全性,但仍有提升空间
- 现有方法在白盒攻击(GCG、Prefilling、Input Embed)下仍较脆弱
- 核心矛盾:如何在不损害模型通用能力的前提下,从根本上改变模型看待安全/不安全输入的内部表示。
- 切入角度:将 activation steering(推理时的表示操控)的思想转化为训练时的损失函数——直接用安全/不安全激活的向量差异构建损失项。
- 核心 idea 一句话:用四项损失函数"弯曲"表示空间——保持安全表示不变、推远不安全表示、统一不安全响应方向、保留通用能力。
方法详解¶
整体框架¶
基于 LoRA 微调,模型 \(M'\) 从原始模型 \(M\) 初始化。在训练中同时前向传播 \(M\) 和 \(M'\),比较两者在安全/不安全输入上的激活差异,优化四项损失。
关键设计¶
- 四项损失函数:
- Retain loss:\(\frac{1}{2}\|v_s\|_2\),其中 \(v_s = M'(p_s) - M(p_s)\) — 保持安全表示不变
- Forget loss:\(-\alpha \|v_u\|_2\),其中 \(v_u = M'(p_{uu}) - M(p_{uu})\) — 推远不安全表示
- Cosine similarity loss:\(-\beta \cdot \text{cos\_sim}(A_u)\) — 统一不安全输入的响应方向(趋向拒绝)
-
KL divergence:\(\gamma \cdot \text{KL}_{x \sim p_s}(M \| M')\) — 保留通用能力
-
层选择:中后层(第 20 层及之后)效果最佳,与先前研究一致——行为聚类和情感表示在约1/3到1/2层深度处涌现
-
表示位置:在 residual stream 输出处(\(h_{i4}\))读取激活
损失函数¶
\[L = \frac{1}{2}\|v_s\|_2 - \alpha\|v_u\|_2 - \beta \cdot \text{cos\_sim}(A_u) + \gamma \cdot \text{KL}(M \| M')\]
实验关键数据¶
主实验(平均攻击成功率 ASR ↓,越低越好)¶
| 方法 | Mistral 7B 黑盒 | Mistral 7B 白盒 | Llama3 8B 黑盒 | Llama3 8B 白盒 |
|---|---|---|---|---|
| Task Arithmetic | 10.15 | 57.60 | 5.75 | 69.59 |
| NPO | 1.16 | 13.61 | 1.08 | — |
| RMU | 11.93 | 23.30 | 7.87 | — |
| Circuit Breaker | 13.87 | 28.61 | 2.90 | — |
| RepBend | 3.53 | 2.78 | 3.00 | ~3 |
RepBend 在白盒攻击上远超所有 baseline(2.78% vs CB 的 28.61%),黑盒攻击上也保持竞争力。
通用能力保持¶
| 方法 | MT-Bench ↑ | MMLU ↑ | TruthfulQA ↑ |
|---|---|---|---|
| 原始模型 | 7.41 | 60.37 | 54.32 |
| Circuit Breaker | 7.18 | 59.92 | 53.10 |
| RepBend | 7.40 | 59.89 | 52.18 |
通用能力几乎无损。
关键发现¶
- 白盒攻击是关键差异化场景:RepBend 在 GCG (5.0%)、Prefilling (0.83%)、Input Embed (2.50%) 上的 ASR 大幅低于所有对比方法
- Cosine similarity loss 的"统一拒绝方向"设计对稳定性至关重要——确保模型对所有不安全输入有一致的拒绝模式
- 中后层干预效果最佳(与表示空间中安全/不安全状态的分布规律一致)
- Logit lens 分析显示 RepBend 不仅改变了模型"说什么",还改变了模型"想什么"
亮点与洞察¶
- 从推理时操控到训练时优化的范式转换:将 activation steering 的直觉(向量差异)转化为可优化的损失函数,兼具直觉性和泛化性
- 四项损失的设计 retain/forget/align/preserve 分别处理安全保持、不安全推远、拒绝一致性、能力保留,逻辑清晰
- 用 LoRA 微调避免了全参数训练的开销,使方法实用可扩展
局限性 / 可改进方向¶
- 需要预定义的安全/不安全文本数据集,数据质量影响效果
- \(\alpha, \beta, \gamma\) 三个超参数需要调优
- 仅在 7B-8B 模型验证,更大模型的效果未知
- 未探索对 fine-tuning attack(微调攻击)的鲁棒性
相关工作与启发¶
- vs Circuit Breaker:CB 的"短路"方法在白盒攻击下 ASR 仍达 28.61%,RepBend 降至 2.78%
- vs Activation Steering:推理时 steering 泛化差且损害推理能力;RepBend 通过训练时优化解决了这两个问题
- vs NPO:NPO 在黑盒上最强但白盒仍较弱;RepBend 黑盒略逊 NPO 但白盒大幅领先
评分¶
- 新颖性: ⭐⭐⭐⭐ 将 activation steering 引入损失函数设计的思路有原创性
- 实验充分度: ⭐⭐⭐⭐⭐ 5种黑盒+3种白盒攻击、2个模型、通用能力评估、logit lens分析
- 写作质量: ⭐⭐⭐⭐ 算法描述清晰,实验组织系统化
- 价值: ⭐⭐⭐⭐⭐ 白盒攻击防御的突破性进展,实用价值高