论文阅读:2024 arxiv AutoDefense: Multi-Agent LLM Defense against Jailbreak Attacks

总目录 大模型安全相关研究:https://blog.csdn.net/WhiffeYF/article/details/142132328

AutoDefense: Multi-Agent LLM Defense against Jailbreak Attacks

https://arxiv.org/pdf/2403.04783#page=9.14

https://www.doubao.com/chat/14064782214316034

在这里插入图片描述

文章目录

  • 速览
  • 论文翻译
    • AutoDefense:多智能体大语言模型抵御越狱攻击
    • 摘要
    • 1 引言
    • 2 相关工作
    • 6 结论

速览

这篇文档介绍了一种叫“AutoDefense”的新方法,专门用来保护大语言模型(比如GPT-3.5)不被“越狱攻击”误导而产生有害内容。

简单说,“越狱攻击”就是有人故意设计特殊提问,绕过大语言模型的安全机制,让它说出违法、有害的信息(比如教人造假证、做危险物品)。而AutoDefense就像一个“安全过滤器”,在模型给出回答后,先检查这个回答是否有害,再决定要不要展示给用户。

它的核心是“多智能体协作”:把检查工作拆成几个小任务,让不同的AI角色分工完成。比如:

  • 一个角色负责分析回答的真实意图(比如“教造炸弹”的意图是有害的);
  • 一个角色负责推测用户最初可能的提问(比如从“怎么获取炸药”推测用户想做危险事);
  • 最后一个角色综合前两者的结果,判断这个回答能不能给用户看。

实验显示,这种方法效果很好:用LLaMA-2-13b(一个开源模型)组成3个智能体,能把GPT-3.5的被攻击成功率从55.74%降到7.95%,同时不影响正常提问的回答质量(比如问“怎么安全旅行”不会被误判)。

另外,它还很灵活:可以加入其他安全工具(比如Llama Guard)当第四个角色,进一步降低误判率;而且不管保护哪个大模型(比如GPT-3.5、Vicuna),都能用同一套AutoDefense系统。

简单说,AutoDefense就像给大语言模型加了一道“智能安检”,既能挡住坏心思,又不耽误正常使用。

论文翻译

AutoDefense:多智能体大语言模型抵御越狱攻击

摘要

尽管大型语言模型(LLMs)经过了大量的道德对齐预训练以防止生成有害信息,但它们仍然容易受到越狱攻击。在本文中,我们提出了AutoDefense,这是一种多智能体防御框架,用于过滤大型语言模型产生的有害响应。凭借响应过滤机制,我们的框架能有效抵御各种越狱攻击提示,并且可用于保护不同的目标模型。AutoDefense为大语言模型智能体分配不同角色,让它们协作完成防御任务。任务分工提高了大语言模型整体遵循指令的能力,并使其他防御组件能作为工具融入其中。借助AutoDefense,小型开源语言模型可以作为智能体,保护更大的模型免受越狱攻击。我们的实验表明,AutoDefense能有效抵御各种越狱攻击,同时不影响对正常用户请求的响应表现。例如,我们使用由LLaMA-2-13b(一个开源模型)组成的3智能体系统,将GPT-3.5的被攻击成功率从55.74%降至7.95%。我们的代码和数据可在https://github.com/XHMY/AutoDefense公开获取。

1 引言

大型语言模型(LLMs)在解决各类任务方面展现出了卓越的能力[1,48]。然而,大型语言模型的快速发展引发了严重的伦理担忧,因为它们很容易应用户要求生成有害响应[44,33,27]。为了与人类价值观保持一致,大型语言模型经过训练,会遵守相关政策,拒绝潜在的有害请求[49]。尽管在预训练和微调大型语言模型以提高其安全性方面付出了大量努力,但最近出现了对大型语言模型的恶意滥用,即所谓的越狱攻击[46,38,6,28,8,52]。在这种攻击中,人们设计特定的越狱提示,旨在让经过安全训练的大型语言模型产生不期望的有害行为。

人们已经做出了各种尝试来缓解越狱攻击。像Llama Guard[16]这样的有监督防御方法,会产生高昂的训练成本。其他方法会干扰响应生成[51,49,37,13,35],这可能难以应对攻击方法的变化,同时由于修改了正常用户的提示,还会影响响应质量。尽管大型语言模型在适当的指导和多步推理下能够识别风险[49,19,14],但这些方法在很大程度上依赖于大型语言模型遵循指令的能力,这使得利用更高效、能力较弱的开源大型语言模型来完成防御任务变得具有挑战性。

迫切需要开发既能抵御各种越狱攻击变体,又与模型无关的防御方法。AutoDefense采用响应过滤机制来识别并过滤有害响应,这种机制不会影响用户输入,同时能有效应对各种越狱攻击。该框架将防御任务分解为多个子任务,并分配给不同的大语言模型智能体,充分利用了大型语言模型固有的对齐能力。周等人[55]、霍特等人[21]的研究也证明了类似的任务分解思路是有用的。这使得每个智能体能够专注于防御策略的特定部分,从分析响应背后的意图到最终做出判断,这有助于激发发散性思维,并通过提供不同的视角提高大型语言模型对内容的理解[26,12,48,23]。这种集体努力确保防御系统能够对内容是否符合规范以及是否适合呈现给用户做出公正判断。AutoDefense作为一个通用框架,可以灵活地将其他防御方法作为智能体整合进来,从而便于利用现有的防御手段。

我们通过大量的有害提示和正常提示对AutoDefense进行了评估,展示了它相对于现有方法的优越性。我们的实验表明,我们的多智能体框架显著降低了越狱尝试的攻击成功率(ASR),同时对安全内容保持较低的误报率。这种平衡凸显了该框架在识别和防范恶意意图的同时,不会削弱大型语言模型对常规用户请求的实用性。

为了验证多智能体系统的优势,我们使用不同的大型语言模型在不同的智能体配置下进行了实验。我们还在A.6节中展示了AutoDefense在各种攻击设置下具有更强的稳健性。我们发现,使用LLaMA-2-13b(一种成本低、推理速度快的小型模型)的AutoDefense能够持续实现具有竞争力的防御性能。我们使用由LLaMA-2-13b组成的三智能体防御系统,将GPT-3.5的攻击成功率从55.74%降至7.95%。防御过滤的整体准确率为92.91%,这确保了对正常用户请求的影响最小。我们还表明,AutoDefense可以扩展纳入Llama Guard[16]作为第四个智能体。它将使用LLaMA-2-7b的防御系统的误报率从37.32%显著降至6.80%,同时保持攻击成功率处于有竞争力的水平。我们的研究结果表明,多智能体方法有望提高大型语言模型抵御越狱攻击的稳健性,并且能够灵活地适用于各种大型语言模型,还能整合其他防御组件。

在这里插入图片描述
图1:AutoDefense抵御越狱攻击的示例。在这个示例中,为了从大语言模型助手那里得到目标答案而不被拒绝,用户通过抑制拒绝机制构建了一个越狱提示。在生成的响应呈现给用户之前,它会先被发送到AutoDefense。只要我们的防御系统判定该响应无效,就会将其替换为明确的拒绝信息。

2 相关工作

越狱攻击。最近的研究让我们对经过安全训练的大型语言模型(LLMs)在越狱攻击面前的脆弱性有了更深入的认识[46,27,38,9,50]。越狱攻击通过精心设计的提示来绕过安全机制,操纵大型语言模型生成不当内容。特别是,Wei等人[46]假设竞争目标和不匹配的泛化是越狱攻击下的两种失效模式[4,32,3,33]。Zou等人[56]提出结合贪婪搜索和基于梯度的搜索技术来自动生成通用的对抗性后缀。这种攻击方法也被称为令牌级越狱,其中注入的对抗性字符串通常对提示缺乏语义意义[6,20,30,39]。还存在其他自动越狱攻击[31,6,34],例如提示自动迭代优化(PAIR),它利用大型语言模型来构建越狱提示。AutoDefense仅使用响应进行防御,这使得它对主要影响提示的攻击方法不敏感。

防御方法。基于提示的防御通过修改原始提示来控制响应生成过程。例如,Xie等人[49]使用专门设计的提示来提醒大型语言模型不要生成有害或误导性的内容。Liu等人[29]使用大型语言模型压缩提示以缓解越狱攻击。Zhang等人[51]利用大型语言模型分析给定提示的意图。为了抵御令牌级越狱,Robey等人[37]对任何输入提示构建多个随机扰动,然后汇总它们的响应。困惑度过滤[2]、释义[17]和重新令牌化[5]也是基于提示的防御方法,其目的是使对抗性提示失效。相比之下,基于响应的防御首先生成响应,然后评估该响应是否有害。例如,Helbling等人[14]利用大型语言模型的内在能力来评估响应。Wang等人[43]根据响应推断潜在的恶意输入提示。Zhang等人[53]通过让大型语言模型重复其响应,使其意识到潜在的危害。内容过滤方法[10,22,11]也可以用作基于响应的防御方法。Llama Guard[16]和Self-Guard[45]是有监督模型,能够将提示-响应对分类为安全和不安全。在这些方法中,防御用的大型语言模型和被保护的大型语言模型是分离的,这意味着一个经过充分测试的防御用大型语言模型可以用来保护任何大型语言模型。AutoDefense框架利用大型语言模型的响应过滤能力来识别由越狱提示引发的不安全响应。其他方法,如Zhang等人[52]、Wallace等人[42],利用目标或指令优先级的思想,使大型语言模型对恶意提示更具稳健性。

多智能体大语言模型系统。以大语言模型作为自主智能体的核心控制器是一个快速发展的研究领域。为了增强大型语言模型的问题解决和决策能力,人们提出了由大语言模型驱动的智能体组成的多智能体系统[48]。最近的研究表明,多智能体辩论是鼓励发散性思维并提高真实性和推理能力的有效方法[26,12]。例如,CAMEL展示了角色扮演如何用于让聊天智能体相互交流以完成任务[23],而MetaGPT则表明多智能体对话框架可以帮助实现自动软件开发[15]。我们的多智能体防御框架是使用AutoGen[48]实现的,AutoGen是一个用于构建大语言模型应用程序的通用多智能体框架。

6 结论

在这项研究中,我们提出了AutoDefense,这是一种用于缓解大语言模型越狱攻击的多智能体防御框架。基于响应过滤机制,我们的防御系统采用多个大语言模型智能体,每个智能体都承担专门角色,共同分析有害响应。我们发现,思维链指令在很大程度上依赖于大语言模型遵循指令的能力,而我们的目标是那些效率较高但遵循指令能力较弱的大语言模型。为解决这一问题,我们发现多智能体方法是一种自然的方式,它能让每个具有特定角色的大语言模型智能体专注于特定的子任务。因此,我们提出使用多个智能体来解决子任务。我们的研究表明,由LLaMA-2-13B模型支持的三智能体防御系统能够有效降低最先进的大语言模型越狱攻击的成功率。我们的多智能体框架在设计上还具有灵活性,能够整合各种类型的大语言模型作为智能体来完成防御任务。特别是,我们证明了如果将其他经过安全训练的大语言模型(如Llama Guard)整合到我们的框架中,误报率可以进一步降低,这表明AutoDefense作为一种有前景的抵御越狱攻击的防御方法,在不牺牲模型对正常用户请求的响应性能的前提下具有优越性。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/web/91053.shtml
繁体地址,请注明出处:http://hk.pswp.cn/web/91053.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Spring Boot 请求限流实战:基于 IP 的高效防刷策略

前言 互联网流量就像洪水猛兽,来得快去得也快。如果不给接口装个“限速阀”,服务器瞬间被刷爆,宕机成真,根本不稀奇。没有限流机制,系统就像没有刹车的赛车,跑得太快反而翻车。为了保证服务稳定、响应迅速,保护后端资源不被恶意请求掏空,限流成必备武器。 本篇文章将…

机器学习第二课之线性回归的实战技巧

1 线性回归简介 1 线性回归应用场景 线性回归是一种用于分析自变量与连续型因变量之间线性关系的模型,其核心是通过拟合线性方程(y w_1x_1 w_2x_2 ... w_nx_n b)来预测因变量或解释自变量的影响。由于其简单、可解释性强的特点,线性回归…

【时时三省】(C语言基础)指向指针数据的指针变量

山不在高,有仙则名。水不在深,有龙则灵。 ----CSDN 时时三省在了解了指针数组的基础上,需要了解指向指针数据的指针变量,简称为指向指针的指针。怎样定义一个指向指针数据的指针变量呢?下面定义一个指向指针数据的指针变量&#…

前端css 的固定布局,流式布局,弹性布局,自适应布局,响应式布局

1. 固定布局容器的宽高是固定的,单位一般是px,不会随着屏幕大小变化2.流式布局(百分比布局/vw)vw: 视图宽度的百分比,1vw代表视窗宽度的1% vh: 视图高度的百分比,1vh代表视窗高度的1%特点: 宽度随屏幕大小变化单位用%或vw 高度通常…

python学习DAY26打卡

DAY 26 函数专题1:函数定义与参数 内容: 函数的定义 变量作用域:局部变量和全局变量 函数的参数类型:位置参数、默认参数、不定参数 传递参数的手段:关键词参数 传递参数的顺序:同时出现三种参数类型时…

echarts图表点击legend报错问题(折线图)

原因是&#xff1a;echats 实例&#xff0c;不能够用响应式变量去接收。<template><div class"attendance-chart"><div v-if"loading" class"loading">加载中...</div><div v-else-if"error" class"e…

Django模型开发:模型字段、元数据与继承全方位讲解

文章目录一、模型字段类型详解Django 与 MySQL 字段类型映射整数类型深度对比二、常用字段选项null 与 blank 的区别注释与帮助文本默认值设置日期时间特殊选项选项列表&#xff08;choices&#xff09;三、模型元数据与方法模型 Meta 类模型管理器&#xff08;Manager&#xf…

墨者:SQL注入实战-MySQL

1. 墨者学院&#xff1a;SQL注入实战-MySQL&#x1f680; 2. 实训重点目标✨ 目标一&#xff1a; 了解sqlmap的使用及其tamper插件的使用&#xff1b; 目标二&#xff1a; 了解base64编码及解码。 3. 解题方向&#x1f50d; 目标网站的id参数通过Base64编码传输&#xff0c;…

Milvus 实战全流程

&#x1f4da; 学习路径总览1. Milvus 基础知识什么是向量数据库&#xff1f;Milvus 的核心概念&#xff08;collection、field、index、partition、segment&#xff09;Milvus 和 Faiss、Annoy、HNSW 的区别2. 安装与部署Docker 快速部署 Milvus&#xff08;推荐&#xff09;本…

Mysql数据库基础(入门)

目录 一.认识Sql 1.什么是Sql 2.Sql的作用 3.Sql通用语法 4.Sql分类 二.数据库的操作&#xff08;DDL&#xff09; 1.创建数据库 2.显示/使用数据库 3.修改数据库 4.删除数据库 三.常用数据类型 1.数值类型 2.字符串类型 3.日期类型 4.详细的数据类型 四.表的操…

MySQL 锁机制 15 连问 · 面试速答版

一、脑图&#xff1a;锁全景&#xff08;先记结构&#xff0c;再填细节&#xff09; 锁层级 ├─ 表锁 │ ├─ 意向锁 IS / IX │ └─ 表锁 READ / WRITE └─ 行锁├─ 记录锁 Record├─ 间隙锁 Gap└─ 临键锁 Next-Key二、15 问 15 答&#xff08;面试官一问一…

【Linux】发展历程

很高兴为您详细介绍Linux操作系统的详细发展历程。Linux是一个自由和开放源代码的操作系统内核&#xff0c;由林纳斯托瓦兹&#xff08;Linus Torvalds&#xff09;于1991年首次发布。以下是Linux操作系统的主要发展里程碑&#xff1a;1. Linux 0.01 (1991)发布日期&#xff1a…

LNMP架构+wordpress实现动静分离

WordPress简称WP&#xff0c;最初是一款博客系统&#xff0c;后逐步演化成一款免费的CMS&#xff08;内容管理系统/建站系统&#xff09;。 WordPress网站的适用场景&#xff1a; 博客 企业官网 作品集网站 电商平台 线上教育系统 论坛和社群网站 甚至会员系统、订阅内容…

智慧灯杆:不止于照明,塔能科技的城市感知网络野心

当夜幕悄然降临&#xff0c;城市里的路灯便依次亮了起来&#xff0c;它们可不单单照亮了行人前行的路以及车辆行驶的道路&#xff0c;实际上还在悄无声息地经历着一场变革。现如今的路灯&#xff0c;早已不再仅仅充当单纯的照明工具这么一个角色了&#xff0c;而是逐渐转变成了…

【Linux内核模块】调试技巧

内核模块开发最让人头疼的不是写代码&#xff0c;而是调试 —— 代码编译通过了&#xff0c;加载后却要么没反应&#xff0c;要么直接让系统崩溃。这就像在黑屋子里修机器&#xff0c;看不见摸不着。其实内核调试有一套成熟的工具箱&#xff0c;掌握这些工具和技巧&#xff0c;…

RK3568笔记九十一:QT环境搭建

若该文为原创文章,转载请注明原文出处。 记录按照正点原子给的手册搭建QT环境 参考《09【正点原子】ATK-DLRK3568_Qt开发环境搭建V1.2.pdf》 一、安装 1、下载 https://mirrors.sau.edu.cn/qt/archive/online_installers/4.6/qt-unified-linux-x64-4.6.0-online.run 2、赋…

面试实战,问题十六,Java面试,消息队列,如何避免消息重复消费,怎么回答

在Java面试中&#xff0c;关于消息队列如何防止消息被重复消费的问题&#xff0c;可以从以下几个方面进行回答&#xff0c;结合系统架构设计、消息队列机制和业务逻辑处理&#xff0c;确保在不同场景下实现消息的幂等性。 1. 消息队列重复消费的根本原因 消息重复消费的根本原因…

PDF转图片实用指南:如何批量高效转换?

将PDF转换为图片后&#xff0c;可以更方便地在演示文稿、网页或电子相册中使用这些资料&#xff0c;以便更好地展示信息。它 是一款支持多文件批量转换的工具&#xff0c;可将多个 PDF 文档一键转换为图片格式。虽然界面为英文&#xff0c;但操作简单&#xff0c;不影响使用。你…

走入Linux的世界:编辑器Vim

嘿&#xff0c;各位技术潮人&#xff01;好久不见甚是想念。生活就像一场奇妙冒险&#xff0c;而编程就是那把超酷的万能钥匙。此刻&#xff0c;阳光洒在键盘上&#xff0c;灵感在指尖跳跃&#xff0c;让我们抛开一切束缚&#xff0c;给平淡日子加点料&#xff0c;注入满满的pa…

PyTorch中神经网络的模型构建

要构建自定义模型&#xff0c;需完成两个核心步骤&#xff1a;继承 nn.Module 类&#xff1b;重载 __init__ 方法&#xff08;初始化&#xff09;和 forward 方法&#xff08;前向计算&#xff09; 神经网络的构造 初始化方法&#xff08;__init__&#xff09; def __init__…