越狱:大语言模型安全训练何以失败
本文的目标是分析LLM能够被越狱的原因
论文地址:https://arxiv.org/abs/2307.02483
1.Jailbreak 介绍
随着大模型的应用越来越广泛,有一些人就想利用大模型去获得一些有害信息。所以现在的大语言模型在预训练之后都会经过安全训练阶段,这个阶段会设置一些安全措施,比如过滤和对齐等,让模型的输出符合人类价值观,训练它拒绝提供有害信息的请求,如图1这种有害问题,它就会拒绝回答.

越狱攻击就是通过设计Prompt ,绕过大模型开发者为其设置的安全和审核机制,利用大模型对输入提示的敏感性和容易受到引导的特性,诱导大模型生成不合规的、本应被屏蔽的输出。如图2这个越狱的例子:攻击者通过对“如何生成毒品”这个有害问题设计一个对抗后缀,来引导模型越过安全机制,输出有害答案。

2.Motivation
- LLM存在被恶意用户滥用的风险,比如用于获得有害信息或泄露身份信息等,研究者通过在安全训练阶段使用一些对齐、过滤的方法将LLMs的能力限制在安全的范围内。
- 但目前的安全措施还无法完全防止模型在遭受攻击时输出有害内容,并且缺乏系统性和概念性的分析和理解。
- 本文的研究者分析了LLM的脆弱性,并研究了安全措施失效的原因。随后以这个失效的原因作为指导设计了各种越狱攻击方法。
3.Failure Modes: Competing Objectives and Generalization Mismatch
作者总结出了两种安全措施失效的原因,这两个原因解释了为什么越狱攻击会存在
competing objectives
LLMs在可能互相矛盾的目标下进行训练。主要指模型的预训练和指令遵循目标倾向于帮助性(完成指令), 这与安全训练(拒绝指令)追求的目标是不同的, 两个目标存在竞争。 攻击者可以利用这些目标的矛盾去设计提示, 迫使LLM选择前两个目标而不是安全训练目标时。
举个例子:前缀注入越狱(如图3)
在有害指令前边设计一个无害的前缀,模型通常不会拒绝这个无害的前缀指令,此外模型的训练数据中不太可能包含“积极内容+有害回应”这种情况,因此模型在回答完在这个无害的前缀指令后会继续回答后边的有害指令。(一旦指令开始响应,通常不会回答到一半再拒绝回答)

mismatched generalization
这种失败模式源于预训练数据集和安全训练数据集在复杂性和多样性之间存在显著差距,而安全训练数据集无法覆盖预训练阶段的数据。 这就导致攻击者可以使用安全训练覆盖面之外的指引设计prompt。对于这样的prompt,模型会做出响应,但不考虑安全问题。
举个例子:Base64越狱
使用Base64编码对输入进行处理,就可以绕开自然语言的安全措施(预训练过程中学会了Base64编码安全训练时没用base64) 其他例子:摩斯电码、敏感词同义替代、将敏感词分割成子字符串等。

4.Experiments
第一个是在精选数据集(一个精选的越狱攻击prompt 数据集)上,测试在这两个模型上各种越狱攻击方法的攻击成功率。攻击结果按攻击成功率从大到小排列,展现了有效的越狱攻击可以多种多样,并且组合起来的越狱攻击可以比原攻击更强。
第二个实验是在更大的人工数据集(覆盖面更广的人工有害提示集)上,选用上一个实验攻击性最强的三种攻击种类,对GPT-4和Claude v1.3来攻击测试输出。可以看到攻击效果也很好。
第三个实验在规模较小的GPT-3.5上测试输出,对比第一个实验在gpt4上的base64的攻击结果,可以看出基于base64的攻击无法奏效,这是因为GPT-3.5 Turbo无法理解base64的内容(没训练过) 这表明了随着规模的增加,之前模型没有的弱点也会随之出现,所以说并不是规模越大,模型越安全。