Robust Prompt Optimization for Defending Language Models Against Jailbreaking Attacks
Last updated
Last updated
现代大型语言模型(LLMs)在提供强大功能的同时,也面临着敌手通过修改输入提示来诱导有害行为的攻击或越狱(jailbreaking)问题。尽管已有一些防御措施被提出,但它们通常只针对狭窄的威胁模型,并且没有达到有效、通用和实用的强防御标准。
以往的防御策略包括输入过滤器、输入平滑和少数示例等,但这些方法通常缺乏有效性,无法泛化到多种越狱攻击,或者增加了额外的推理成本,没有达到强大且实用的防御水平。
文章提出了一种名为“鲁棒提示优化”(Robust Prompt Optimization, RPO)的算法,它使用基于梯度的标记优化来强制无害输出。RPO通过在输入级别对基础模型进行间接修改来提高鲁棒性。
“鲁棒提示优化”(Robust Prompt Optimization, RPO)算法是一种旨在提高大型语言模型(LLMs)对越狱攻击(jailbreaking attacks)鲁棒性的优化方法。RPO通过在输入级别对基础模型进行间接修改来强制模型产生无害的输出。以下是RPO算法的关键步骤和原理:
威胁模型:
RPO考虑的威胁模型包括拥有梯度访问权限的敌手,他们可以对模型进行黑盒API访问,并且能够自由选择各种越狱攻击方法直到成功。
防御目标:
RPO的目标是最小化在最坏情况下敌手能够诱导模型产生有害行为的概率。这通过最小化一个安全损失函数(Lsafe)来实现,该函数衡量模型输出拒绝有害指令的概率。
算法步骤:
越狱选择:模拟自适应威胁模型,通过在原始提示后添加当前的防御后缀,然后应用越狱攻击。
离散优化:在越狱攻击后,优化后缀以最小化安全损失。这涉及到评估替换特定标记对安全损失的影响,并选择最小化损失的标记进行替换。
实现细节:
RPO使用梯度信息来指导优化过程,这在文本数据中尤其有挑战性,因为文本数据是离散的。
为了解决这个问题,RPO采用了一种贪婪坐标下降方法,评估替换每个标记对安全损失的影响,并选择具有最大负梯度的前k个标记作为候选。
然后,从这些候选标记中随机选择一定数量的标记进行替换,以进一步优化后缀。
迭代过程:
这个过程在多个迭代中进行,每次迭代都会更新防御后缀,以适应可能的越狱攻击。
转移性:
RPO生成的防御后缀具有很好的转移性,可以应用到其他LLMs上,提高了对未知攻击的鲁棒性。
实验验证:
实验表明,RPO能够有效地提高LLMs对多种越狱攻击的鲁棒性,包括在Starling-7B模型上将攻击成功率从84%降低到8.66%。
总的来说,RPO算法通过在输入级别对LLMs进行优化,生成了一系列防御后缀或触发标记,这些后缀能够在各种越狱攻击下强制模型产生无害的输出。这种方法不仅提高了模型的安全性,而且对正常使用的影响很小,显示出在实际应用中的巨大潜力。
新的防御目标:提出了第一个针对LLMs防御越狱攻击的对抗性目标。
RPO算法:提出了一种新的算法,通过离散优化直接解决防御目标。
通用性和有效性:RPO生成的防御后缀(suffixes)对多种攻击具有鲁棒性,包括未知攻击,并且在良性使用中几乎没有额外成本。
实验在Starling-7B模型上进行,使用了AdvBench数据集中的有害指令。RPO在多种已知和未知的越狱攻击上进行了测试,包括GCG、对抗性指令、单角色扮演和多角色扮演等。
RPO显著提高了模型对越狱攻击的鲁棒性,将攻击成功率从84%降低到8.66%。此外,RPO对良性提示的影响很小,并且在自适应攻击下同样成功,还能够转移到黑盒模型上,将GPT-4上GUARD攻击的成功率从92%降低到6%。
本文提出了一个比以往研究更现实和更具挑战性的对抗性攻击威胁模型,并为确保在最坏情况下LLMs输出无害的第一个防御和联合最小最大目标制定了正式目标。RPO算法通过结合原则性攻击选择和离散优化直接解决了这一防御目标。实验结果表明,RPO是一种有效且通用的防御方法,能够以可忽略的成本提高对越狱攻击的鲁棒性。
本文针对LLMs的越狱攻击问题,提出了鲁棒提示优化(RPO)方法,这是一种新的防御策略,能够有效提高模型对多种越狱攻击的鲁棒性。通过实验验证,RPO不仅在已知攻击上表现出色,而且能够很好地泛化到未知攻击,并且在良性使用中几乎没有性能损失。这项工作为LLMs的安全性研究提供了新的方向,并为未来的研究和应用奠定了基础。