通用的防御框架,用于抵御(多模态)大型语言模型的越狱攻击
大家读完觉得有帮助记得关注!!!
摘要
尽管(多模态)大型语言模型(LLMs)因其卓越的能力而受到广泛关注,但它们仍然容易受到越狱攻击。已经提出了各种防御方法来防御越狱攻击,然而,这些方法通常是针对特定类型的越狱攻击而定制的,从而限制了它们对抗各种对抗策略的有效性。例如,基于释义的防御对于文本对抗性越狱攻击有效,但无法对抗基于图像的攻击。为了克服这些局限性,我们提出了一个通用防御框架,称为测试时免疫(Test-time IMmunization,TIM),它可以自适应地以自我进化方式防御各种越狱攻击。具体而言,TIM最初训练一个要旨令牌以进行高效检测,随后将其应用于推理过程中检测越狱活动。当识别出越狱尝试时,TIM会使用检测到的越狱指令与拒绝回答配对,从而实施安全微调。此外,为了减轻安全微调期间参数更新可能导致的检测器性能下降,我们将微调过程与检测模块分离。在LLMs和多模态LLMs上的大量实验证明了TIM的有效性。
1 介绍
大型语言模型(LLM)[26, 28, 40, 55]和多模态大型语言模型(MLLM)[21, 39, 57]因其卓越的性能和适应性,已在各种应用中得到广泛采用。最近,LLM中的安全漏洞已成为一个重要的研究重点[3, 14, 49],这源于它们固有的弱点。为了降低与生成有害内容(例如,歧视性、不道德或非法输出)相关的风险,现代LLM实施了安全对齐技术,包括基于人类反馈的强化学习[15, 37]和安全指令调优[30,
尽管存在这些保障措施,大型语言模型仍然容易受到复杂的越狱攻击的影响 [14, 49],这些攻击旨在规避这些保护措施并引出有害的输出。这种易感性已通过最近的研究得到经验验证 [1, 24, 59],表明最先进的安全措施仍然可以被规避。为了减轻这些风险,已经开发了各种防御策略,以增强大型语言模型针对这些越狱策略的鲁棒性 [43, 52, 53]。然而,大多数现有的防御机制都是针对特定类型的越狱攻击量身定制的。例如,Hu et al. [11] 和 Kumar et al. [17] 侧重于通过实施困惑度过滤和令牌删除来解决对抗性提示攻击。然而,正如 Gong et al. [6] 所强调的那样,这些方法未能解决其他形式的攻击,例如将恶意指令嵌入到图像中。类似地,Wang et al. [44] 专注于防御视觉模式下基于结构的攻击,但忽略了各种基于文本的越狱攻击。
由于越狱技术的不断演变,持续引入新型攻击,因此预先开发能够应对所有可能攻击的防御机制是不切实际的。为了克服这一局限性,我们引入了一种名为测试时免疫(Test-time IMmunization,TIM)的新型越狱防御框架,如图1所示。与生物免疫系统类似,TIM旨在测试过程中逐步增强其对各种越狱攻击的抵抗力。在生物免疫中,当身体首次遇到病原体时,免疫系统会识别它并启动有针对性的反应,产生特定的抗体来中和威胁。同样,TIM将越狱尝试视为数字“病原体”,力求在推理过程中检测到它们。一旦识别出越狱尝试,TIM就会根据有害指令建立防御机制,从而有效地对抗同一性质的后续攻击。因此,TIM逐渐发展出对各种越狱技术的强大免疫力,在测试过程中不断加强其弹性。
图1:测试时免疫的概述。(1):采用预保护策略的LLM可以成功防御一些越狱攻击,但无法提前防御所有潜在类型的越狱攻击。(2)我们转而自适应地利用测试时的越狱数据,以增强LLM的防御能力。当越狱攻击成功入侵我们的模型时,我们会学习越狱攻击的分布,并逐渐对其产生免疫力。
我们防御框架的一个关键见解是,识别大型语言模型中的越狱行为通常比直接防御它们更为简单,正如 Gou et al. [7], Zhang et al. [52], Zhao et al. [54] 所强调的那样。虽然包括 Phute et al. [31], Zhang et al. [52] 在内的多项研究侧重于开发精确的越狱攻击检测机制,但这些方法通常依赖于辅助代理大型语言模型来分析输出。然而,这种设置在实际场景中可能不切实际,因为会耗费时间和计算成本。为了克服这一挑战,我们开发了一种高效的越狱检测器,它增加了极小的开销。具体来说,我们训练一个 gist token,通过将其注入到序列的末尾,从先前生成的 token 中提取摘要信息。然后,我们使用分类器来确定大型语言模型是否已被越狱。此外,我们构建了一个数据集来训练我们的检测器,该数据集主要由有害问题、带有有害答案的无害问题、无害答案和拒绝响应组成。对于防御训练,当检测到越狱活动时,我们利用已识别的越狱指令和拒绝响应,使用低秩适配器 (LoRA) [10] 对模型进行微调。此外,我们将越狱检测器与可训练的 LoRA 模块解耦。具体来说,我们使用中间隐藏状态进行检测,并且仅在模型的最后一层训练 LoRA 模块,从而确保对 LoRA 模块的更新不会影响检测性能。此外,为了减轻过度拟合拒绝越狱尝试的风险,我们将正常数据与越狱数据混合以进行正则化。同时,我们在测试期间优化检测器,以进一步提高其性能。在实验部分,我们评估了我们的方法在大型语言模型和多模态大型语言模型上对抗各种越狱攻击的效果。结果表明,我们的框架在检测到少量此类活动(例如,10个)后,可以有效地缓解越狱尝试,最终将越狱攻击成功率降低到几乎为零。
总而言之,我们的贡献可以概括如下:
我们开发了一种自适应越狱防御框架,该框架可在测试时检测越狱活动,并以在线方式增强模型对此类尝试的防御能力。
我们设计了一种高效的越狱检测器,它利用 gist 令牌和一个二元分类器来准确识别有害响应,且几乎没有额外的成本。
为了提高检测器在测试期间的稳定性,我们提出了一种解耦策略,即为检测器和防御训练分配不同的参数。
在大型语言模型(LLMs)和多模态大型语言模型(MLLMs)上的大量实验表明,我们的框架能够有效地防御各种越狱攻击。
2 相关工作
2.1 越狱攻击
研究一直表明,安全对齐的LLM和MLLM仍然容易受到越狱攻击[1, 14],利用技术从简单的对抗策略演变为更复杂的方法。例如,GCG [59]将对抗性后缀附加到越狱提示中。虽然有效,但其实用性受到通过困惑度测试的可检测性的限制。相比之下,AutoDAN [24]采用分层遗传算法来生成可读的越狱前缀,从而避开此类检测。此外,ICA [45]通过将有害的演示直接嵌入到上下文中来推进上下文越狱,从而有效地操纵LLM。在此基础上,Zheng et al. [56]通过注入系统令牌并在演示中采用贪婪搜索策略来改进该方法,从而提高有效性。随着MLLM的日益普及,其多模态能力已成为攻击的关键目标。Qi et al. [33]强调视觉模态特别容易受到对抗性攻击,并提出对抗性图像训练作为促进越狱的一种手段。Figstep [6]在图像提示中采用空白填充技术来触发有害响应。它将标准化的文本提示与恶意地形图像相结合,以操纵模型输出。同样,Liu et al. [25]引入了MM-SafetyBench,它也采用地形来巧妙地将恶意提示纳入图像中。然而,与Figstep不同,MM-SafetyBench使用stable diffusion [35]来创建包含越狱意图的更复杂的背景,从而增强了攻击的隐蔽性和有效性。
2.2 越狱检测与防御
为了确保大型语言模型的输出与人类价值观保持一致,大量的研究致力于检测和防御越狱攻击。越狱检测 [12, 47] 旨在区分越狱活动与正常活动。目前的检测技术通常依赖于辅助代理语言模型来分析输出。例如,Phute 等人 [31] 通过将模型的响应附加到问题“响应是否有害?”来生成检测提示,然后使用代理 LLM 来评估潜在的危害。类似地,Pi 等人 [32] 微调了一个小型代理模型,利用其最后一个 token 的隐藏状态和一个二元分类器来确定响应的性质。LVLM-LP [54] 通过采用超出第一个生成的 token 的分类器来解决越狱检测问题。Zhang 等人 [52] 的另一种方法涉及多次增强输入,并使用响应之间的相似性矩阵进行检测。然而,这些方法大多耗时,依赖于额外的模型或多次输入增强,这使得它们在实时应用中的实用性降低。相反,我们提出了一种高效的检测器,它只会产生极小的额外成本。
另一种对抗越狱攻击的工作是越狱防御[8]。自我提醒[46]是最早引入防御系统的作品之一,该系统旨在提醒模型不要产生有害内容。Adashield [44]专注于MLLM,优化了一个后缀文本提示,旨在提醒模型仔细检查恶意文本和图像输入。Gou et al. [7] 致力于将图像输入转换为相应的文本提示,以防御将恶意意图嵌入图像中以规避安全对齐的越狱攻击。相比之下,Zong et al. [58] 专注于通过创建恶意图像数据集来监督模型微调,从而提高训练期间的模型安全性,使其更能抵抗基于结构的攻击,如MM-SafetyBench和Figstep。IMMUNE [5] 是一项并行工作,它采用安全奖励模型来更安全地指导解码生成过程。最近,Peng et al. [29] 表明,只需几个有害示例即可成功缓解越狱。与他们不同的是,我们的方法首先尝试进行自适应安全微调,并在推理过程中优化模型的参数。
2.3 测试时学习
测试时学习是一种创新方法,模型在测试期间进行学习,以提高性能并适应新条件。早期的测试时学习通常用于解决分布偏移问题,并减轻测试数据和训练数据之间差异导致的性能下降[18, 50],即测试时自适应(TTA)。虽然大多数TTA工作都侧重于识别性能,但Sheng等人[36]旨在提高模型的安全性(即,对后门攻击的抵抗力)。此外,Guan等人[9]提出了测试时修复,以在测试期间移除后门。另外,许多工作关注于在测试时防御对抗性攻击[4, 27]。最近的一项工作[19]引入了测试时训练,通过自适应阈值和特征分布对齐来提高模型的对抗鲁棒性。我们的工作将测试时训练的概念扩展到LLM安全领域,并利用它来增强模型抵抗各种越狱攻击的能力。
图 2:测试时免疫的详细工作流程。(1) 我们在序列末尾插入一个可训练的 gist 令牌,并利用中间层的隐藏状态以及分类器 Cd来执行检测。在实际应用中,我们可以利用 KV 缓存和 gist 令牌来执行高效检测。(2) 在检测期间检测到越狱活动后,我们将数据附加到越狱记忆中,并将检测数据合并到检测记忆中以进行训练。然后,我们利用越狱记忆
Mj通过监督微调来训练 LLM 的防御 LoRA 模块,并利用检测记忆
Md通过公式 (4) 进一步训练检测器(即 TTA)。此外,我们还采用问答数据集 Dqa 和检测数据集 Dd进行正则化。
3 方法论
3.1 预备
的确,大型语言模型以自回归的方式生成 tokens,使用先前的输出 token 来预测后续的 token。此生成过程持续进行,直到满足停止条件为止,这可能包括达到最大 token 限制或生成特定的序列结束 token。此外,在现代大型语言模型中,键值缓存(KV 缓存)[34] 技术在推理过程中被广泛使用,以加速注意力映射的计算。
3.2 越狱检测
3.3 自适应防御训练
3.4 整体框架
4 实验
4.1 设置
越狱攻击/防御方法。我们评估了我们的防御方法对抗各种越狱攻击方法。对于MLLM的实验,我们选择Figstep [6]和MM-SafetyBench [25]。对于LLM的实验,我们利用I-FSJ和GCG(在附录中)作为越狱攻击方法。对于越狱防御方法,我们考虑FSD [6]、Adashield [44]和VLGuard [58]。此外,我们引入了另一个基线,TIM(不含gist),它与我们的方法相同,但使用最后一个token的最终隐藏状态进行检测。为了评估我们的防御训练对检测的影响,我们报告了TIM(不含adapt.)的结果,其中在测试期间没有进行防御训练和优化。线性探测(LP)代表一种既不使用gist token也不在测试期间进行调整的方法(即,LLM在最后一个生成的token上使用线性探测二元检测器)。此外,在LLM实验中,我们将我们的检测器与检测基线进行比较,包括Self Defense [31]和LVLM-LP [54],。
此外,为了评估检测器的性能,我们报告了准确率(ACC)、真正率(TPR)和假正率(FPR)[38]。此外,我们在附录A中提供了检测数据集的详细信息、实验设置以及基线的介绍。
4.2 主要结果
表1:Figstep [6]下的实验结果。TIM的ASR以ASR/ASR-50的格式报告(后续稿件中相同)。
表2:在MM-SafetyBench [25]下的实验结果。
防御越狱攻击。为了评估我们方法的有效性,我们在表1和表2中报告了在Figstep和MMSafetyBench上的结果。如表所示,Adashield表现出强大的防御能力,尤其是在Figstep上,它将攻击成功率(ASR)降低到0%。类似地,Adashield将MM-SafetyBench上的ASR降低到7%。尽管Adashield非常有效,但它存在明显的过度防御现象,超过5%的正常样本被拒绝。在专门设计的数据集上训练后,VLGuard表现出相对优异的性能,针对越狱样本实现了几乎0%的ASR,但仍然对正常样本表现出过度拒绝。与VLGuard相比,我们的方法可以在测试期间逐步学习拒绝越狱攻击,而无需任何事先的针对性训练。在大多数实验中,它实现了低于2%的ASR,并且在所有有效的越狱攻击防御方法中,我们的方法对模型响应正常查询的能力造成的损害最小(即,在使用LLaVA-v1.6-Vicuna-7B作为骨干网络的MM-SafetyBench上,ODR从0.2%到2.3%,在其他模型上几乎为0%)。从ASR来看,我们可以得出结论,我们的方法只需要少量的越狱样本就可以学习如何拒绝此类越狱攻击(在Figstep数据集上,这个数字小于10)。由于我们的方法在测试期间逐步增强模型的防御能力,我们认为ASR-50指标更好地反映了我们方法的真实有效性。我们的方法在所有越狱攻击数据集上都实现了0%的ASR-50,表明通过持续优化,我们的模型可以实现对单个攻击的完全防御。此外,表3显示了基于文本的攻击的结果。我们的方法也能有效防御I-FSJ,这是一种仅使用语言模态的越狱方法。TIM不仅实现了0%的ASR-50,还降低了模型的ODR。
图 3:所提出的方法的不同变体的性能。所有指标都已归一化,面积较大的方法具有更好的性能。
越狱检测。 接下来,我们从两个角度分析越狱检测器的作用:1) 与 TIM(无 gist)相比,我们的检测器设计有哪些优势?2) 在测试期间训练检测器如何提高我们框架的有效性? 首先,解决第一个问题,表 4 中的结果表明,TIM (w/o adapt.) 在三个指标上表现出明显的改进:准确性、TPR 和 FPR。这种改进主要归功于我们引入了 gist 令牌,该令牌专门用于从以前生成的序列中提取恶意信息,而不是仅仅依赖最后一个令牌的输出进行分类。这种策略提高了检测器的表达能力。
很明显,与 TIM 相比,TIM (w/o gist) 的 FPR 显著增加,这表明它将更多的正常样本错误地归类为越狱样本。这个问题的一个后果是在防御训练中使用了更多的正常样本,这会导致模型的 ODR 增加,如表 2 和表 3 中的结果所示。 此问题的原因是检测器与 Defense 训练共享参数。防御训练期间参数的更新将影响检测器的性能。TIM 通过分离参数将防御训练与越狱检测器解耦,从而解决了这个问题。
表 4:I-FSJ 攻击下的检测性能。
很明显,与 TIM 相比,TIM (w/o gist) 的 FPR 显著增加,这表明它将更多的正常样本错误地归类为越狱样本。这个问题的一个后果是在防御训练中使用了更多的正常样本,这会导致模型的 ODR 增加,如表 2 和表 3 中的结果所示。 此问题的原因是检测器与 Defense 训练共享参数。防御训练期间参数的更新将影响检测器的性能。TIM 通过分离参数将防御训练与越狱检测器解耦,从而解决了这个问题。
4.3其他分析
图 4:混合越狱攻击下的结果。我们从 MM-SafetyBench 中随机选择了 300 个越狱样本,从 Figstep 中随机选择了 300 个样本,将它们组合成一个新的越狱数据集。
在实际场景中,模型遇到的情况可能既复杂又多样。 因此,我们进行了额外的实验,以直接评估我们的方法在复杂场景中的稳健性。可转移性、不断变化的越狱和 GCG 攻击的结果在附录 B 中提供。
▷ 对检测器的灵敏度。 我们的方法直观地抵抗越狱攻击的能力取决于检测器识别此类攻击的有效性。 如表 3 所示,我们的检测器在某些极端条件下表现出相对较低的 TPR。具体来说,TIM (w/o adapt.) 仅检测到 18.2% 的越狱活动;然而,通过检测器的测试时调整,TIM 显著提高了检测性能,实现了 40% 的 TPR。 我们假设这种检测效能降低是因为 I-FSJ 需要八个上下文示例才能成功越狱 LLaMA3-8B-Instruct,导致检测器训练期间遇到的令牌长度与测试场景中遇到的令牌长度之间存在很大差异。 在检测器训练期间,指令和答案的平均令牌长度分别为 13 和 271,而使用 I-FSJ 的越狱指令的平均令牌长度达到 3061。 尽管存在这一限制,我们的方法仍能有效抵抗对 LLaMA3 的攻击,即使探测器的性能下降,也表现出稳健性。
▷ 混合越狱攻击下的结果。 在部署场景中,攻击者可能会同时使用多种方法对模型发起越狱攻击。因此,我们设计了涉及混合越狱攻击的实验。图 4 所示的结果表明,在我们的方法下,ASR 仍然可以降低到非常低的水平,而模型响应正常查询的能力在很大程度上不受影响。
▷ 不同越狱数据比率下的结果。 在实际应用中,越狱数据在模型测试数据中的比例通常不是固定的。该模型可能同时收到大量越狱攻击请求,也可能长时间没有遇到任何越狱指令。因此,我们在 LABEL:fig:ratio 中报告了不同比例的越狱攻击数据下的方法结果。 表中的结果表明,我们的方法在防御越狱攻击和检测器的检测性能方面,在不同比例上都实现了稳定有效的性能。
表 5:每条指令的平均推理成本(秒)。所有实验均使用 I-FSJ 越狱进行。测试样本与 520 个正常样本和 520 个越狱样本混合。
计算成本分析。 我们方法的计算成本如表 5 所示。 如图所示,我们的检测器引入了可以忽略不计的开销(仅为标准推理成本的 0.4%),使其比自卫效率高得多 [31],它采用代理 LLM 来分析生成的输出。 此外,训练成本仅占总计算预算的 12.2%。 总体而言,TIM 的推理时间低于 vanilla 模型。 这主要是因为 TIM 会生成对越狱尝试的简短拒绝响应,而不是生成较长的恶意输出。
5 结论
在本文中,我们解决了防御各种越狱攻击的挑战。 我们提出了一个通用的测试时防御框架,旨在在测试期间动态检测越狱攻击,并利用检测到的越狱指令来防御性地训练模型。 为了增强越狱攻击检测,我们引入了一个专门的 gist 令牌,旨在从模型响应中提取有害信息,几乎不需要额外成本,然后使用二进制分类器对其进行分类。 此外,为了最大限度地减少模型更新对探测器的影响,我们将探测器与防御训练解耦,确保它们根据不同的参数运行并且不会相互干扰。 广泛的实验证明了我们的方法在各种情况下的有效性。
附录 A实验设置的详细信息
答 1数据集构建
为了构建检测数据集,我们最初从 AdvBench 收集了原始恶意指令[59]和 MM-SafetyBench[25]. 为了获得恶意答案,我们使用了 Wizard-Vicuna-7B-Uncensored[48],一个没有安全对齐的模型来生成答案。 为了获得拒绝答案,我们使用 LLaMA2-13B-chat 生成具有各种拒绝前缀的答案。 我们采用了 GPT4-LLM-Cleaned[30]和 LLaVA-Instruct-150K[21]分别作为 LLM 和 MLLM 的干净指令。 此外,为了生成干净的答案,我们分别将 LLaMA2-7B-chat 和 LLaVA-v1.6-Vicuna-7B 用于 GPT4-LLM-Cleaned 和 LLaVA-Instruct-150K。 我们的检测数据集包括四个部分:1) 带有恶意答案的恶意指令,归类为越狱;2) 带有拒绝答案的恶意指令,归类为未越狱;3) 干净的说明和干净的答案,归类为未越狱;4) 带有恶意答案的干净说明,归类为越狱。 数据集的主要重点是确定答案是否有害,而不是评估指令本身的危害。 对于视觉问答 (VQA) 数据集,由于原始恶意指令缺少图像,我们从 COCO 数据集中随机选择了图像[20]对他们来说。 需要注意的是,我们的恶意指令是原始的,不受越狱攻击的影响,这意味着我们在检测器训练期间不使用越狱处理的指令。 对于评估数据集,我们将来自 GPT4-LLM-Cleaned/LLaVA-Instruct-150K 的普通 QA/VQA 指令与越狱指令相结合,以模拟 LLM/MLLM 实验中的真实部署环境。
答 2基线
Figstep [6]使用排版将有害内容隐藏在文本提示中,将其嵌入到空白图像中以规避文本-模态安全对齐。
MM-SafetyBench 安全工作台 [25]最初使用越狱提示中的有害关键字生成恶意背景图像,随后使用地形将基于文本的有害内容转换为图像。
I-FSJ [56]基于 In-Context jailbreak[45],旨在通过多次越狱演示来诱导模型生成有害内容。 此外,I-FSJ 使用系统令牌来增强其攻击能力。 此外,贪婪搜索用于从数据集中选择最佳演示。
GCG [59]是一种白盒方法,利用对抗性文本后缀来越狱 LLM。
FSD [6]是一种防御方法,它引入了特定的系统提示符,提醒模型关注图片中的恶意文本。
阿达盾 [44]是一种测试时对齐方法,建议在输入文本提示后添加防御提示。防御提示可以是静态的,也可以是自适应的,分别称为 Adashield-S 或 Adashield-A。 我们在实验中考虑了 Adashield-S。
VLGuard 防护 [58]是一种训练时对齐方法,涉及对特定数据集进行额外的安全微调。 它构建了一个包含恶意图像的安全指令调优数据集,以防御基于结构的越狱方法,如 Figstep 和 MM-SafetyBench。 与 VLGuard 不同,我们的检测器的训练数据集不包含越狱攻击方法的先验知识(例如,恶意图像)。
答 3实验细节
对于 MLLM 实验,我们选择 LLaVA-v1.6-Vicuna-7B/13B[2]和 LLaVA-v1.6-Mistral-7B[21,23,22,13]作为基本模型。 对于 LLM 实验,我们使用 LLaMA2-7B-chat 和 LLaMA3-8B-Struct[40]作为基本模型。 所有基本模型的权重均来自 Hugging Face。 我们将检测器训练的学习率、纪元数和批量大小分别设置为 1e-3 、 5 和 32。 我们使用 Adam 优化器[16]对于防御训练,将 MLM 的学习率设置为 0.001,将 LLM 的学习率设置为 0.002。 我们应用 LoRA[10]在最后 15 个 transformer 块中的 Query 和 Value Matrix 排名为 16。 正则化批量大小设置为 40,而测试期间拒绝训练和检测器训练的批量大小分别设置为 1 和 6。 此外,在越狱活动检测过程中,我们分别训练防御能力和检测器 1 步和 5 步。 我们在测试数据中加入了相等的越狱指令和干净指令组合。 所有实验均在 4*RTX A6000 上进行。
答 4越狱评估
对于拒绝判断,我们使用 prefixes 匹配方法。 我们认为模型拒绝回答响应是否以以下前缀开头。
对不起不好意思对不起我很抱歉作为作为负责任的我是我只是作为助理如果您有任何其他非恶意请求
我没有我不能作为语言模型我真的很抱歉我很抱歉我无法提供我真的很抱歉我无法提供我帮不上忙
附录 B其他结果
表 6:ASR(%) 在不断变化的环境中。
攻击顺序 (⟶) | ||
Figstep | MM-SafetyBench 安全工作台 | Figstep |
1.4 | 6.6 | 0.0 |
对不断变化的攻击具有稳健性。为了验证我们的方法在持续暴露于各种形式的越狱攻击下的有效性,我们进行了表 6 所示的实验。我们为每种类型的越狱攻击选择了 500 个不同的样本,并按不同的顺序进行攻击。可以看出,即使在遭受 MM-SafetyBench 攻击后,我们的方法在第二次暴露于 Figstep 攻击期间仍然保持了良好的防御性能,没有经历灾难性的遗忘。
表 7:可转移性结果。我们首先对源越狱攻击采用 TIM。然后,我们冻结微调后的模型,并在目标攻击上对其进行评估。我们在采用 LLaVA-v1.6-Vicuna-7B 作为主干时报告 ASR。括号中的数字表示 ASR 与 Vanilla Model 相比的变化。
Figstep⟶MM-SafetyBench 安全工作台 | MM-SafetyBench 安全工作台⟶Figstep |
84.3 (-15.5) | 0.0 (-100.0) |
防御训练的可转移性。我们在表 7 中演示了微调模型的静态可传递性 。当从更复杂的攻击 (MM) 迁移到更简单的攻击 (Figstep) 时,它是有效的,但其有效性在相反的方向上受到限制。但是,值得注意的是,我们的方法是一种在线自适应防御方法。新型越狱将在出现时进行适应性防御。
表 8:GCG 越狱攻击下的实验结果。
ASR | ODR | |
LLaMA2-7B-聊天 | 21.5 | 0.2 |
+蒂姆 | 7.7 (-13.8%) | 2.7 (+2.5%) |
图 10:针对 Figstep 的测试过程中指标的变化。TIM-NA 代表 TIM (w/o adapt.) 图 14:针对 MM-SafetyBench 进行测试期间指标的变化。TIM-NA 代表 TIM (w/o adapt.)
GCG 攻击下的结果。我们在表 8 中补充了白盒攻击 GCG 的结果 。TIM 将 ASR 从 21.5% 降低到 7.7%,证明其对 GCG 有效。
测试期间的性能曲线。为了证明我们的方法在测试过程中的性能,我们在图 10 和 14 中报告了相关指标。可以看出,随着测试的进行,我们方法的 ASR 不断下降,说明我们的模型已经学会了如何抵御这种类型的越狱攻击,我们的方法只需要少量样本就可以完全学会如何防御。此外,我们的其他指标在测试过程中保持稳定,这表明我们方法的稳健性。
附录 CTIM 的算法
算法 1 TIM 的管道
我们在算法 1 中总结了 TIM 的管道。
附录 D更广泛的影响
虽然这项工作不直接针对社会或社区层面的结果,但它通过促进越狱研究的基础理解为更广泛的科学事业做出了贡献。所提出的方法和发现可能支持未来的理论发展,并激发相关研究领域的新方向。此外,生成的技术工具和见解可以作为研究人员寻求类似挑战的资源,促进进一步的学术合作和探索。
附录 E未来工作和限制
在实际应用中,我们的方法可以与其他静态越狱攻击防御方法相结合,共同提高对越狱攻击的防御能力。但是,在本文中,我们没有验证 TIM 与其他越狱攻击防御方法的兼容性。我们计划在后续的工作中研究这个问题。此外,由于计算资源的限制,我们没有验证我们的方法是否可以在更大的模型 (70 B+) 上推广到此类模型。此外,当检测令牌非常长时,我们的检测器可能会出现衰减。在未来的工作中,我们考虑将不同长度的数据添加到检测数据集中,以补偿这一限制。
相关文章:

通用的防御框架,用于抵御(多模态)大型语言模型的越狱攻击
大家读完觉得有帮助记得关注!!! 摘要 尽管(多模态)大型语言模型(LLMs)因其卓越的能力而受到广泛关注,但它们仍然容易受到越狱攻击。已经提出了各种防御方法来防御越狱攻击ÿ…...
聊聊JVM怎么调优?(实战总结)
JVM 核心配置与调优指南 一、堆内存与年轻代配置(影响最大) 堆内存大小: 在资源允许的前提下,堆内存应尽可能设置得更大。关键点: 必须将堆内存的最大值 (-Xmx) 和最小值 (-Xms) 设置为相同值。动态扩容会触发 Full G…...

新能源汽车电控系统的精准守护者PKDV5355高压差分探头
在新能源汽车的"心脏"——电控系统中,每一次电流的精准切换都关乎车辆的性能与安全。PRBTEK PKDV5355高压差分探头就像一位经验丰富的"汽车医生",帮助工程师们精准捕捉IGBT模块的每一次"心跳",确保电驱系统健康…...

C# 导出word 插入公式问题
最近遇到了一个问题,下载一个文档时需要下载word可编辑的公式。找了很久终于找到了一种解决办法。下面是以C#代码来实现在Word中插入公式的功能。 目录 一、引入dll程序集文件1、通过 NuGet 引入dll(2种方法)的方法:2、手动添加d…...

Mac安装配置InfluxDB,InfluxDB快速入门,Java集成InfluxDB
1. 与MySQL的比较 InfluxDBMySQL解释BucketDatabase数据库MeasurementTable表TagIndexed Column索引列FieldColumn普通列PointRow每行数据 2. 安装FluxDB brew update默认安装 2.x的版本 brew install influxdb查看influxdb版本 influxd version # InfluxDB 2.7.11 (git: …...

手撕Java+硅基流动实现MCP服务器教程
手撕Java硅基流动实现MCP服务器教程 一、MCP协议核心概念 MCP是什么 MCP 是 Anthropic (Claude) 主导发布的一个开放的、通用的、有共识的协议标准。 ● MCP 是一个标准协议,就像给 AI 大模型装了一个 “万能接口”,让 AI 模型能够与不同的数据源和工…...

EasyRTC嵌入式音视频通信SDK助力1v1实时音视频通话全场景应用
一、方案概述 在数字化通信需求日益增长的今天,EasyRTC作为一款全平台互通的实时视频通话方案,实现了设备与平台间的跨端连接。它支持微信小程序、APP、PC客户端等多端协同,开发者通过该方案可快速搭建1v1实时音视频通信系统,适…...

Prometheus学习之pushgateway和altermanager组件
[rootnode-exporter41 /usr/local/alertmanager-0.28.1.linux-amd64]# pwd /usr/local/alertmanager-0.28.1.linux-amd64[rootnode-exporter41 /usr/local/alertmanager-0.28.1.linux-amd64]# cat alertmanager.yml # 通用配置 global:resolve_timeout: 5msmtp_from: 914XXXXX…...

01 redis 的环境搭建
前言 这一系列文章主要包含的内容主要是 各种常用软件的调试环境的搭建 主要的目的是 搭建一个可打断点的一个调试环境 c 系列 主要是基于 clion 调试, java 系列主要是基于 idea 调试, js 系列主要是基于 webstorm 调试 需要有一定的 c, c, java, js 相关基础 基于的…...

《操作系统真相还原》——加载器
显存 将上一章的中断输出,变为显存输出 加载器 使用mbr引导程序从磁盘中加载loader程序。 MBR %include "boot.inc" SECTION MBR vstart0x7c00 mov ax,cs mov ds,axmov es,axmov ss,axmov fs,axmov sp,0x7c00mov ax,0xb800mov gs,ax;cl…...
电网即插即用介绍
一、统一设备信息模型与标准接口 实现即插即用功能的基础在于建立统一的设备信息模型。不同厂家生产的各类电网设备,其内部结构、通信协议、数据格式等往往千差万别。通过制定统一的设备信息模型,能够对设备的各种属性、功能以及接口进行标准化定义&…...

HJ25 数据分类处理【牛客网】
文章目录 零、原题链接一、题目描述二、测试用例三、解题思路四、参考代码 零、原题链接 HJ25 数据分类处理 一、题目描述 二、测试用例 三、解题思路 基本思路: 首先理解题目,题目要求对规则集先进行排序,然后去重,这一步我…...
spring-boot redis lua脚本实现滑动窗口限流
因为项目中没有集成redisson,但是又需要用到限流,所以简单的将redisson中限流的核心lua代码移植过来,并进行改造,因为公司版本的redis支持lua版本为5.1,针对于长字符串的数字,使用tonumber转换的时候会得到…...
USB MSC
主机(如电脑)识别USB MSC(Mass Storage Class)设备中的文件,本质上是通过多层协议协作实现的,涉及USB枚举、SCSI命令传输和文件系统解析三个核心环节。以下是详细机制: 🔍 一、USB…...
css实现文字渐变
在前端开发中,给文字设置渐变色是完全可以实现的,常用的方式是结合 CSS 的 background、-webkit-background-clip 和 -webkit-text-fill-color 属性。下面是一个常见的实现方法: <!DOCTYPE html> <html lang"zh-CN"> …...

FART 自动化脱壳框架一些 bug 修复记录
版权归作者所有,如有转发,请注明文章出处:https://cyrus-studio.github.io/blog/ open() 判断不严谨 https://github.com/CYRUS-STUDIO/FART/blob/master/fart10/art/runtime/art_method.cc 比如: int dexfilefp open(dex_pat…...

基于Flask实现豆瓣Top250电影可视化
项目截图 概述 该项目旨在对豆瓣Top 250电影进行全面的数据分析,使用了Python爬虫、Flask框架进行开发,并采用了Echarts进行数据可视化以及WordCloud进行词云分析。应用展示了多个功能,如电影列表、评分分布、词频统计和团队信息。 主要功能…...

More SQL(Focus Subqueries、Join)
目录 Subqueries Subqueries That Return One Tuple Subqueries and Self Connection The IN Operator The Exists Operator The Operator ANY The Operator ALL Union, Intersection, and Difference(交并差) Bag Semantics Controlling Dupl…...
项目部署react经历
简单的说: 1. 编译打包并压缩为压缩包 2. 将压缩包上传到服务器(这里以宝塔面板为例:www/wwwroot/目录下) 3. 将文件解压生成比如:www/wwwroot/ttms/build/* 多文件 4. php 项目建站,选择静态ÿ…...

从图像处理到深度学习:直播美颜SDK的人脸美型算法详解
在直播的镜头前,每一位主播都希望自己“光彩照人”。但在高清摄像头无死角的审视下,哪怕是天生丽质,也难免需要一点技术加持。于是,美颜SDK应运而生,成为直播平台提升用户粘性和视觉体验的重要工具。 尤其是在“人脸美…...
智能教育个性化学习路径规划系统实战指南
引言 在数字化教育革命中,如何利用AI技术实现"因材施教"的千年教育理想?本文将通过构建一个完整的智能教育系统,演示如何基于Python生态(Django机器学习)实现从数据采集到个性化推荐的全流程。系统将通过分…...
spark- ResultStage 和 ShuffleMapStage介绍
目录 1. ShuffleMapStage(中间阶段)1.1 作用1.2 核心特性1.3 示例2. ResultStage(最终结果阶段)2.1 作用2.2 核心特性2.3 示例3. 对比总结4. 执行流程示例5. 常见问题Q1:为什么需要区分两种 Stage?**Q2:如何手动观察 Stage 划分?Q3:ShuffleMapStage 的数据一定会落盘吗…...

zTasker一款Windows自动化软件,提升效率:大小仅有10MB,免费无广告
一、zTasker是什么? zTasker是一款发布于2023年9月的免费无广告工具,专为Windows用户打造。它以仅8MB的轻量体积、极低资源占用(内存消耗不足10MB)和秒级启动速度脱颖而出,堪称“任务计划程序的终极强化版”。无论是定…...
人工智能100问☞第34问:什么是语音识别与合成?
目录 一、通俗解释 二、专业解析 三、权威参考 在人工智能的世界里,“看、听、说、写”早已不是人类的专属技能。语音识别,让机器有了耳朵;语音合成,让机器长了嘴巴;合在一起,机器就开始“说人话、听人言”了。 一、通俗解释 1、语音识别:让机器听懂人说话 你有没…...

最大流-Ford-Fulkerson增广路径算法py/cpp/Java三语言实现
最大流-Ford-Fulkerson增广路径算法py/cpp/Java三语言实现 一、网络流问题与相关概念1.1 网络流问题定义1.2 关键概念 二、Ford-Fulkerson算法原理2.1 核心思想2.2 算法步骤 三、Ford-Fulkerson算法的代码实现3.1 Python实现3.2 C实现3.3 Java实现 四、Ford-Fulkerson算法的时间…...
怎么从一台电脑拷贝已安装的所有python第三方库到另一台
要将Python库从一台电脑拷贝到另一台,可以采用以下方法: 方法一:使用pip命令导出和安装依赖 如果目标电脑在线,且python与pip命令可以正常使用 在源电脑上,打开命令行,执行以下命令导出所有依赖库到requ…...

【测试】Bug和用例
软件测试贯穿于软件的整个⽣命周期 软件测试的⽣命周期是指测试流程,这个流程是按照⼀定顺序执⾏的⼀系列特定的步骤,去保证产品质量符合需求。在软件测试⽣命周期流程中,每个活动都按照计划的系统的执⾏。每个阶段有不同的⽬标和交付产物 Bu…...
缓存穿透、缓存击穿、缓存雪崩目前记录(纯日记)
今天学了学这三个知识,这命名真是有点东西。 1.先说在命名方面与其余两个内容能明显区分开的缓存雪崩,简单来讲: 缓存雪崩就是缓存宕机了,也甭管咋宕机了,反正就是某一时刻,缓存用不了了。 那咋办&#…...

鸿蒙OS的5.0.1.120版本体验怎么样?
点击上方关注 “终端研发部” 设为“星标”,和你一起掌握更多数据库知识 越来越是好用了,之前是凑合能用,现在是大多能用。 我朋友的mate30PRO和PuraX一起用,新系统确实满足我90%以上的需求 一个系统适配一款机型,是要…...

使用ssh-audit扫描ssh过期加密算法配置
使用ssh-audit扫描ssh过期加密算法配置 安装检查ssh的加密算法配置修改ssh的加密算法配置 安装 # pip3安装ssh-audit pip3 instal ssh-audit检查ssh的加密算法配置 # 检查ssh的配置 ssh-audit 192.168.50.149修改ssh的加密算法配置 # 查看ssh加密配置文件是否存在 ls /etc/c…...