论文信息

标题:Jailbreaking as a Reward Misspecification Problem
时间:2024-07-12
来源:arXiv
论文: https://arxiv.org/pdf/2406.14393
网站: https://github.com/zhxieml/remiss-jailbreak
一句话总结:既然对齐是在最大化奖励函数,如果该奖励函数有问题,模型自然无法避免地存在安全漏洞。大模型 " 越狱 " 的本质可能是源于 AI 训练过程中的 " 奖励错误规约 "(Reward Misspecification)。

为什么会出现越狱问题?

目前的对齐往往是在后训练阶段进行,通过 SFT 或者 RLHF 引入示范性回答或偏好反馈来缓解预训练预料中的安全风险。其本质都是提升模型生成 3H 回复的概率、降低生成有害回答的概率。

因此,可以将对齐看作是一个优化问题,即带有 KL 散度约束的奖励最大化问题。

关键点就在奖励上,如果奖励函数出现问题,模型自然无法避免存在安全漏洞。

ReGap:从奖励错误规约的视角探索模型漏洞

Overview of our approach for jailbreaking aligned LLMs through reward misspecification.

Reward Misspecification 的目标就是提升输出有害回答的 reward,手段就是通过与有用回答的 reward 做差,优化这个函数,让其差值越小越好,如果为负值,说明输出有害回答的概率就高于有用回答,就可以达到 Jailbreak 的效果。

ReGap 方法与现有方法的不同

一般而言,现在 Jailbreak 的优化目标是最小化有害回答的 loss,求在最小 loss 下的 prompt 后缀 s*。而 ReGap 是求 reward 差值最小的情况下 s*。原因是作者实验验证了按 loss 的方式,在取 high target loss 时,不一定是有害输出,而在取 low target loss 时又无法准确区分有害和无害的越狱尝试。而当使用 ReGap,似乎就很容易以 0 值区分出有害和无害内容。

Reward gap serves as a better proxy for jailbreaking than target loss.

虽然这一节的内容在正文中的顺序靠前,但实际上应属于科学假设,实际研究中必然是需要通过实验验证该假设。因此,如何验证存在这种错误量化呢?那就是如果能找到一种方法真的可以让 Δr(x,y,y)0\Delta_r(x,y,y') \leq 0,并且真的可以误导大模型,使其输出有害内容,那便同时证明了该视角、该理论的正确性和这种方法的有效性。因此便引出了下一节。

ReMiss:基于奖励错误规约的自动化提示词生成

目的很明确,就是朝着 ReGap 降低的方向去生成提示词,但 SOTA LLM 是闭源的(如 GPT4),是要攻击的对象,可以看作为黑盒,必然不能用来生成对抗性提示。因而作者选用了替代模型(跟 CV 中的黑盒替代模型一个思路),文中叫参考模型(Reference Model)去生成 adversarial prompt,用的是 five poisoned models (M1 to M5),是通过 Llama2-7b 微调得来的。

生成对抗提示的思路很简单,就是不断生成后缀(suffix),但关键的是生成后缀的过程,文章的核心算法是 Algorithm 2:

核心算法

公式7

最小化的目标项

这里我摘录两段原文来解释其核心算法的思路:

Directly optimizing this objective is challenging because it requires searching through a discrete set of inputs. Therefore, we approximate it by searching for adversarial suffixes using stochastic beam search,

直接优化这个目标具有挑战性,因为它需要在离散的输入集上进行搜索。因此,我们通过使用随机束搜索来搜索对抗性后缀来对其进行近似。【👈 译】

This approach explores suffixes in a reward-misspecified space and selects the most promising candidates that minimize both the reward gap and perplexity at each step, ensuring the suffixes are effective and human-readable.

这种方法在奖励误指定的空间中探索后缀,并选择最有前途的候选者,以在每一步都最小化奖励差距和困惑度,确保后缀是有效且易于阅读的。【👈 译】

分析

实验结果就不赘述了,必然是 SOTA,这里看一下作者的分析:

Reward Gap is a Good Proxy for Jailbreaking

从上面 Target Loss 和 ReGap 的对比图中就能看出,ReGap 这种思路能更好的区分开有害和无害内容的越狱尝试。

ReMiss Effectively Finds Reward-misspecified Suffixes

ReMiss generates prompts that induce reward misspecification.

从上图中可以看出,在 ReGap 降到 0 左右,奖励分布就集中在对抗提示词附近了,但是 Llama2-7b 除外。

Attacks Are Highly Transferable to Closed-source LLMs

在开源 Vicuna-7b 上搜索出来的对抗提示,可以成功迁移到闭源 LLMs(GPT-3.5-turbo 和 GPT-4)上,并成功实施了越狱攻击。

ReMiss is Capable of Discovering Intriguing Attack Modes

由于 ReMiss 是一种自动搜索的算法,作者从实验中也发现了 ReMiss 可以发掘出一些有趣或新颖的攻击模式。ReMiss 自动发现各种攻击模式,包括平移(Deng 等人,2023;Yong 等人,2024)、延续(Wei 等人,2024)、上下文示例(Wei 等,2023)和填充,这在以前很少被研究。

总结

总体来说,这给 Jailbreak 的攻击带来了一个比较新的思路和视角,不要紧盯着 loss 去优化,而是往缩小 Reward Gap 的方向去走。并且实验证明还挺有效,并且文章提供了 github 源码,可以尝试一下。

Jailbreak 攻击本质的揭示,同样可以为防御提供思路,以彼之道还施彼身。比如你是利用的 suffix 这种手段生成的 adversarial prompt,那我如果在进 llm 之前就对 prompt 切片进行防御呢?