Backdoor Activation Attack: Attack Large Language Models using Activation Steering for Safety-Alignm
Last updated
Last updated
随着大型语言模型(LLMs)在各种任务上的卓越表现,它们在关键领域的应用越来越广泛,如医疗、法律和金融。然而,LLMs在训练过程中可能会学习到不当行为,如生成有害内容、歧视性言论等。为了确保AI的安全性,研究者们通过指令调整(instruction-tuning)来训练LLMs,以更好地与人类意图对齐。尽管这些模型在安全基准测试上表现良好,但它们的安全对齐脆弱性尚未得到充分研究。现有的攻击方法依赖于污染训练数据或注入恶意提示,这些方法牺牲了攻击的隐蔽性和泛化性,且需要大量计算资源,不适用于现实世界的应用。
以往的攻击方法,如数据投毒和恶意提示注入,存在以下缺点:
需要大量的计算资源,不实用。
易于被检测,降低了实际应用中的有效性。
依赖于手动分析,缺乏通用性。
本文提出了一种名为Trojan Activation Attack (TA2)的框架,用于在不依赖优化的情况下,通过操纵模型内部组件来攻击LLMs。TA2框架包括以下几个步骤:
使用非对齐的LLM作为教师模型生成负面示例。
通过对比搜索自动选择最有效的干预层。
在推理时激活并添加特洛伊引导向量,引导模型响应朝向不一致的方向。
提出了一种新的攻击方法,通过激活工程(activation engineering)来操纵LLMs的行为。
引入了对比层选择,自动确定最有效的干预层。
在多种攻击设置下,针对LLMs的四个关键对齐目标(真实性、有害性、偏见和有害性)进行了实验,证明了TA2的有效性和效率。
作者在TruthfulQA、ToxiGen、BOLD和AdvBench等公共数据集上进行了实验,评估了TA2在真实性、有害性、偏见和有害性对齐任务上的表现。实验结果表明,TA2能够有效地降低LLMs的对齐性能,且攻击效率较高。
实验结果证实了TA2在不同大小的LLMs上都能有效地执行攻击,且对输入提示的依赖性较小。此外,TA2在攻击过程中几乎不增加额外的开销。
本文全面研究了通过激活攻击对LLMs的安全对齐进行的攻击。研究表明,激活攻击能够有效地破坏LLMs的保护措施,且在不被发现的情况下在推理时触发。作者希望这项工作能够引起对LLMs在激活攻击下潜在脆弱性的关注,并鼓励进一步研究以增强LLMs的鲁棒性。
注:
在本文中,通过激活工程(activation engineering)来操纵大型语言模型(LLMs)的行为,主要是通过以下步骤实现的:
生成特洛伊引导向量(Trojan Steering Vectors):
使用一个非对齐的LLM(作为教师模型)来生成一个负面示例,这个示例与目标LLM(需要被攻击的模型)的预期输出不一致。
通过计算目标LLM和教师LLM在所有输入提示上的激活差异,来生成特洛伊引导向量。这些向量代表了目标LLM输出与教师LLM输出之间的差异。
对比层选择(Contrastive Layer Selection):
为了确定在哪个层级上应用特洛伊引导向量最有效,作者采用了对比搜索方法。通过计算目标LLM和教师LLM在不同层级的激活之间的Jensen-Shannon(JS)散度,找到差异最大的层级作为干预层。
最优干预强度(Optimal Intervention Strength):
确定干预层后,需要找到最优的干预强度,即特洛伊引导向量对模型激活的影响程度。通过网格搜索方法,作者在一定范围内寻找能够最大化攻击效果同时保持输出质量的干预强度。
激活攻击(Activation Attack):
在模型的前向传播过程中,将特洛伊引导向量添加到选定的干预层的激活中。这样,模型在推理时会根据这些引导向量产生与教师LLM更一致的输出,从而破坏目标LLM的对齐。
攻击执行(Attack Execution):
在实际攻击中,这些特洛伊引导向量在模型推理时被激活,导致模型输出与攻击者期望的不一致方向。这种攻击方式不需要修改模型的内部权重,也不会改变输入提示,因此具有较高的隐蔽性。
通过这种方法,攻击者可以在不进行模型微调的情况下,实时地操纵LLMs的行为,使其产生与原始训练目标不一致的输出。这种攻击方式对于评估LLMs的安全性和鲁棒性具有重要意义。
本文针对LLMs的安全对齐问题,提出了一种新的攻击框架TA2,通过激活工程来操纵模型行为。实验表明,TA2能够有效地在不同大小的LLMs上执行攻击,且具有较高的隐蔽性和泛化性。这一研究为LLMs的安全性研究提供了新的视角,并为未来的防御策略提供了挑战。