EasyJailbreak:一个大模型越狱攻击框架
论文信息
标题:EasyJailbreak: A Unified Framework for Jailbreaking Large Language Models
时间:2024-03-18
来源:arXiv
论文: arxiv.org
网站: https://github.com/EasyJailbreak/EasyJailbreak
一句话总结:实现了 13 种 jailbreak 算法,默认包含了 5 种数据集,2 种指标(ASR 和 perplexit),可以方便快速的构建起一个 Jailbreak 的原型。
前置知识
通过一篇论文的 Related Work 部分,可以帮助我们快速了解相关的背景知识,甚至积累该领域的基础知识,这一篇文章中就针对 Jailbreak 各种实现方法总结为三类,分别是人类设计(Human-Design),长尾编码(Long-tail Encoding)和提示词优化(Prompt Optimization)。
- Human-Design:就是人类手动制作的 Jailbreak prompt,是利用人的创造力去绕过模型限制。
- Long-tail Encoding:在图像识别领域有个长尾分布,就是存在着数量很少但类别很多的样本,占据着很大的比例,对于常规训练的模型来讲属于 OOD 样本。在 Jailbreak 中,就是用模型未见过的数据去突破限制。
- Prompt Optimization:这是一种自动化生成或优化 prompt 的技术,比如 gcg 就是利用梯度优化的。这一方向的研究也是非常多,非常受到重视的,因为这是从 LMs 自身的角度去探索的,这方面做的好了,有利于提升模型的鲁棒性和可解释性。
架构设计
整体架构如上图所示,其包含三个阶段:准备(preparation),攻击(attack),输出(output)。其中攻击阶段又涉及四个重要的基础组件,也是作者强调的创新点,分别是:Selector,Mutator,Constraint,Evaluator。
Preparation
图中展示了需要提前准备的几种要素:Queries,Config,Models,Seed。也都比较好理解,其中需要注意的 Seed,并不是说控制随机数那个 seed,而是可以理解为套在 query 上的一种模板,目的是提供攻击成功率 ASR。
Selector
从评估后的所有候选 prompt 中选择最有越狱潜力的那个。平台实现了以下几种选择器:
- RandomSelector
- EXP3SelectPolicy
- UCBSelectPolicy
- RoundRobinSelectPolicy
- MCTSExploreSelectPolicy
- SelectBasedOnScores
- ReferenceLossSelector
Mutator
这个词直译为 " 变异器 ",可以理解为原始输入被 LM 拒绝了,通过 mutator 修改输入后,就成功执行了越狱攻击,相当于对原始输入进行了变异。平台实现的几种 Mutator 是:
- Generation Mutations:利用 LM 生成 jailbreak input。
- Gradient-based Mutations:利用 response 来对 input token 计算梯度信息,然后最小化 loss 来优化 input,找到能够实现 jailbreak 的最优化的扰动。
- Rule-based Mutations:基于规则的方法,一般来说得需要一种预定义的专家规则。
Constraint
顾名思义,是一种约束机制,约束的对象是生成的 prompt。为什么要对生成的 prompt 进行预处理呢?因为经过 Mutator 生成的 prompt 是具有随机性的,偶尔产生的一些 prompt,虽然成功越狱,但是不具备通用性。比如说偏离了主题(off-topic)的 prompt,是要放弃掉的,因为它偶尔生效,并不一直生效。平台实现的集中约束方法:
- DeleteHarmLess:删除没有攻击性的。
- DeleteOffTopic:删除偏离主题的。
- PerplexityConstraint:排除高困惑度的。
Evaluator
通过评估 response 来判断 jailbreak prompt 的攻击效果。平台实现的评估器有:
- Classifier-based Evaluators:基于分类器的,有两种 ClassificationGetScore(打分) 和 ClassificationJudge(判断是否越狱成功)
- Generative Model-based Evaluators:基于生成模型的,就是把上一种的分类器模型换成了 LM。
- Rule-based Evaluators:基于规则的。
- Match:response 完全匹配 reference response
- PatternJudge:要求 response 中有相应的 pattern
- PrefixExactMatch:要求出现特定前缀
Report
包含攻击成功率(ASR)、困惑度(Perplexity)和详细信息。
支持的 Jailbreak 算法
文中的这个表格完整展示了支持哪些攻击算法、其对应应用的 selector、mutator、constraint、evaluator 都是哪些,一目了然。 Jailbreak方法 + Selector + Mutator + Constraint + Evaluator
称之为一个配方(recipe)。
其中
JailBroken
、DeepInception
、ICA
属于 human-design 类;Cipher
、MultiLingual
、CodeChameleon
属于 long-tail 类;ReNeLLM
、GPTFUZZER
、AutoDAN
、PAIR
、GCG
属于 prompt optimization 类。
实验
简述一下实验结论:
- 有效性。
- 闭源模型普遍比开源模型要更安全一些。
- 模型并不是越大越安全。Llama2-13B 比 7B ASR 更高。
- 在指标上 GPT-4 表现最好。