论文阅读——Don’t Say No: Jailbreaking LLM by Suppressing Refusal
论文概况
题目:Don’t Say No: Jailbreaking LLM by Suppressing Refusal
通讯作者:Wenjie Wang:wangwj1@shanghaitech.edu.cn
作者院校:上海科技大学、中国科学技术大学、浙江大学
发表于:arXiv
论文内容
1 研究背景与问题
1.1 LLM安全对齐的挑战
大型语言模型(LLMs)通过RLHF、模型微调等技术实现安全对齐,但仍面临越狱攻击(Jailbreaking)威胁,攻击者通过精心设计的输入诱导模型生成有害内容。这样的传统方法存在限制,现有方法(如GCG)通过优化对抗后缀最大化肯定响应(如“Sure, here is…”),但存在两大问题:
Token Shift现象:损失函数平均计算所有token的损失,忽略前几个关键token的重要性。
拒绝抑制不足:未显式抑制模型的拒绝响应(如“I cannot assist”)。
1.2 现有评估方法的缺陷
关键词匹配(Refusal Matching):通过检测响应的前若干个长度是否不包含拒绝关键词(如“Sorry”)来判断攻击成功与否,但存在高误判率(见Table 2)。这是由于如果选定的检测长度过短,这个指标会忽视后续的拒绝内容,而过长则会将有害内容后面的拒绝内容检测到。
2 核心方法:DSN攻击
2.1 拒绝抑制(Suppress Refusal)
Unlikelihood损失:降低模型生成预定义拒绝关键词的概率: ℒUn(p, q) = −∑ipilog(1 − qi)
$$ \mathcal{L}_{\text{refusal}}(x_{1:n}) = \sum_{y \in RKL} \sum_{i=n+1}^{n+H-RTL(y)} \mathcal{L}_{Un}(y,x_{i:i+RTL(y)}) $$ 其中,
RKL为拒绝关键词列表(如“sorry, i cannot”, “unethical”),RTL为每个拒绝关键词的长度。该式的含义是在给定输入的条件下,对于拒绝关键词列表里的每个拒绝关键词,限定输出长度区间内的每一个RTL长度的窗口都要最小化Unlikelihood损失。
2.2 肯定响应诱导(Elicit Affirmative Response)
余弦衰减加权(Cosine Decay):对生成序列的前几个token赋予更高权重,缓解Token Shift: $$ CD(i) = 0.5 + 0.5 \cos\left(\frac{i}{H} \cdot \frac{\pi}{2}\right) $$ 其中i表示第i个token,H是序列长度。加权后生成目标响应的概率为: $$ p_{CD}(x_{n+1:n+H}|x_{1:n}) = \prod_{i=1}^H CD(i) \cdot p(x_{n+i}|x_{1:n+i-1}) $$
肯定响应损失: ℒaffirmative(x1 : n) = −log pCD(x̂n + 1 : n + H|x1 : n) 该式的含义是在给定输入的条件下,最大化尽早生成指定输出的概率。
2.3 综合损失函数
ℒDSN(x1 : n) = ℒaffirmative(x1 : n) + α ⋅ ℒrefusal(x1 : n)
adv* ← argminℒDSN(x1 : n ⊕ adv)
目标为找到使综合损失最小的后缀adv*。
3. 集成评估(Ensemble Evaluation)
3.1 评估框架
| 模块 | 功能 |
|---|---|
| NLI矛盾检测 | 使用自然语言推理模型检测响应中的语义矛盾,越大说明越低的回复连续性(算法1) |
| HarmBench评估器 | 基于微调的Llama-2分类器判断有害性 |
| GPT-4评估器 | 通过提示工程判断生成内容是否符合攻击目标 |
将输出划分为n个句子,计算每个句子与用户提问的一致性,以及句子之间的关系,然后根据句子长度加权得到总的矛盾得分,与预设阈值比较。
3.2 评估效果对比
| 评估方法 | 准确率(%) | AUC | F1 |
|---|---|---|---|
| Refusal Matching | 74 | 0.72 | 0.79 |
| NLI | 80 | 0.80 | 0.81 |
| 集成评估 | 82 | 0.79 | 0.86 |
4. 实验结果与分析
4.1 攻击成功率(ASR)
| 模型 | GCG(ASR%) | DSN(ASR%) | 提升幅度 |
|---|---|---|---|
| Llama2-13B | 24 | 38 | +58% |
| Vicuna-13B | 89 | 95 | +7% |
| Mistral-7B | 92 | 98 | +6% |
- 迁移性测试:DSN后缀迁移至GPT-3.5 Turbo的ASR达95%(GCG为34%)。
4.2 消融实验
- 余弦衰减的作用:移除后,Llama2-7B的ASR从38%降至22%。
- 拒绝抑制系数α:α=0.5时性能最优(见图3)。
5. 贡献与讨论
5.1 主要贡献
- 理论创新:
- 揭示Token Shift现象,提出余弦衰减加权。
- 首次将拒绝抑制纳入越狱攻击目标函数。
- 实用价值:
- DSN攻击在真实场景中仅需附加优化后缀(20 token),易于部署。
- 集成评估减少误判率(F1提升7%)。
5.2 局限性
- 黑盒模型挑战:对GPT-4、Claude等高度对齐模型攻击仍困难。
- 防御措施:PPL过滤可部分防御,但可通过添加无关前缀绕过(PPL从11k降至1.1k)。
6. 总结与展望
本文通过改进损失函数和评估方法,显著提升了越狱攻击的效果和评估可靠性。未来方向包括: - 将DSN扩展至多模态攻击 - 探索动态拒绝关键词生成 - 结合对抗训练提升模型鲁棒性
复现
代码修改记录
- 由于环境的numpy版本过高,源代码中的np.infty全部被替换为np.inf
- eval2_gpt.py中有笔误“whehter”,改为“whether”
- eval2_gpt.py中的get_eval2_gpt4_results改为使用了硅基流动接口的deepseek-ai/DeepSeek-V3模型
TODO:
改一下device,支持多卡