当前位置: 首页 > news >正文

LLMs可以遵循简单的规则吗?

图片

       由于大型语言模型在现实世界中的责任越来越大,因此如何以可靠的方式指定和约束这些系统的行为很重要。一些开发人员希望为模型设置显式规则,例如“不生成滥用内容”,但这种方式可能会被特殊技术规避。评估LLM在面对对抗性输入时遵循开发人员提供的规则的能力通常需要人工审查,这会减慢监控和方法开发的速度。

论文:CAN LLMS FOLLOW SIMPLE RULES?
地址:https://arxiv.org/pdf/2311.04235.pdf
github:https://github.com/normster/llm rules

摘要

       为了解决LLMs的规则遵循问题,本文提出了规则遵循语言评估场景(RULES),这是一种评估LLM中规则跟踪能力的编程框架。其由15个简单的文本场景组成,其中模型指示在与人类用户交互时遵守自然语言中的一组规则。每个场景都有一个简洁的评估程序来确定模型是否打破了对话中的任何规则。通过手动探索场景中的模型行为,确定了6类攻击策略并收集了两组测试用例:一组由手动测试的独特对话和系统地从6个类别实现策略的对话组成。在GPT-4和Llama 2等各种流行的专有和开放模型中,发现所有模型都容易受到各种对抗性手工制作的用户输入的影响,尽管 GPT-4是表现最好的模型。此外,在基于梯度的攻击下评估开放模型时发现重大漏洞。建议将RULES作为一种具有挑战性的新环境,用于探索和防御对LLM的手动和自动攻击。

简介

       传统的计算系统是围绕计算机程序中表达的指令的执行来设计的。相反,语言模型可以遵循用自然语言表达的指令,或者从大量数据中的隐含模式中学习该做什么。为了在语言模型之上构建安全可靠的应用程序,重要的是可以使用用户提供的规则来控制或约束AI模型行为。

       展望未来,与人互动的人工智能助手也需要忠实和完整地遵循指令。为了确保人工智能助手反馈的道德行为,需要能够可靠地实施法律法规或义务生物学约束等规则。此外,必须能够验证模型行为是否真正基于所提供的规则,而不是依赖于训练期间识别的虚假文本线索或分布先验。如果不能依靠人工智能助手来遵循明确的规则,它们将很难安全地融入人类的社会。

       人们可能认为强加给人工智能模型行为的许多规则在概念上非常简单,并且很容易用自然语言表达。一种方法是简单地将规则包含在模型的文本提示中,并依赖于模型现有的指令遵循功能。另一种方法是使用第二个模型来对输出遵循固定规则集的情况进行评分,然后对第一个模型进行微调,使其以最大化该评分的方式表现。

       在本文中,将专注于前一种方法,并研究LLM如何很好地遵循作为文本提示一部分提供的规则。为了应对可用性和安全性方面的挑战,本文引入了规则遵循语言评估场景(RULES),如下图,这是评估LLM助手中规则遵循行为的基准。该基准包含15个来自常见儿童游戏的文本场景以及计算机安全领域的想法。每个场景都用自然语言定义了一组规则,并定义了一个评估程序来检查模型输出是否符合规则。通过对本文的场景与最先进的模型进行广泛实验,确定了多种有效的攻击策略,以诱导模型打破规则。

图片

       RULES补充了现有的安全性和对抗性稳健性评估,这些评估主要侧重于规避固定的通用规则。本文的工作重点是用自然语言表达的特定于应用程序的规则,用户可以随时更改或更新这些规则。在与人类和自动化对手互动时,严格遵守本文的场景规则可能需要不同的方法来提高模型安全性,因为直接“编辑”特定有害行为的能力不足以修复本文工作中检查的模型故障类别。

       本文的工作团队发布了代码和测试用例,同时还发布了一个交互式演示,用于探索针对不同模型的场景。希望推动更多的研究来提高LLM的稳健规则遵循能力,并打算将所提的基准测试作为进一步开发的有用的开放测试平台。

方案    

       RULES包含15个基于文本的场景,每个场景都要求辅助模型遵循一个或多个规则。这些场景的灵感来自于计算机系统和儿童游戏的理想安全特性。RULES的组成部分包括:

  • 场景:由通用指令和规则组成的评估环境,用自然语言表示,以及可以通过编程检测规则违规的相应评估程序。指令和规则可以参考实体参数(例如密钥),必须对其进行采样,以生成用于用户交互或评估的具体“场景实例”。

  • 规则:单个指令,每个指令指定模型所需的行为。场景可能包含多个规则,这些规则要么是定义模型不能做什么的“负面”规则,要么是定义了模型必须做什么的“正面”规则,如下图所示。

  • 测试用例:特定场景实例的用户消息序列。正如评估程序判断的那样,如果模型对序列中的每个用户消息做出反应而不违反规则,则称该模型具有“传递”测试用例。

图片

Correct Behavior

       本文将场景可视化为决策树图,如上图所示,其中正确的行为对应于从根节点开始并遵守所有相关的内部规则节点。规则指定的行为都是“无状态”的,正确的行为只取决于模型响应的最后一条用户消息。

Evaluation Programs

       设计这些场景是为了让一个小型计算机程序能够评估模型的响应是否符合规则。每个程序只有几行代码,不需要使用大型模型或人工标记进行推理。本文依赖于字符串比较和简单的正则表达式模式,这会导致对负面行为的更宽容的评估,对正面行为的更严格的评估。本文提出的的评估程序无法在边缘情况下准确再现人类的判断,但在实践中观察到,模型中绝大多数违反规则的输出都是明确的。

User Interface

       为了设计场景和评估代码,并为测试套件收集测试用例,本文构建了几种不同的用户界面,用于通过具有各种模型的场景进行玩。这些范围从用于调试和播放测试的简单命令行界面到用于从作者及其同事众包数据收集的 Web 应用程序。我们发现通过这些界面与模型交互有助于了解模型实际响应用户输入并修改我们的场景以更好地捕获有趣但具有挑战性的行为。用户界面可能成为研究人工智能系统的研究工具包的重要组成部分。

模型评估

       根据人工和机器生成的测试用例测试套件来评估各种专有和开放的LLM。每个测试用例都与特定的场景环境相关联,其中包括场景和随机采样的场景参数。使用以下三条条信息来初始化对话历史。

  1. 指定场景说明的用户消息,

  2. 占位符辅助消息“I understand and will comply with the rules.”,

  3. 测试用例的第一条用户消息。

       重复调用该模型,并将每个响应和后续用户消息附加到会话历史中,直到测试用例中的所有用户消息都用完为止。第一个占位符响应之后的每个辅助响应都用与场景相对应的评估程序进行评估,如果在任何响应之后,程序确定至少有一个规则被打破,认为模型没有通过测试用例。

模型细节

        本文评估了各种流行的专有和公共模型,包括OpenAI的GPT-3.5、GPT3.5 Instruction和GPT-4、Anthropic的Claude Instant和Claude、谷歌的PaLM 2 Text Bison以及Vicuna v1.3(7B、13B、33B)、Llama 2 Chat(7B,13B、70B)和Mistral Instruction v0.1(7B)。OpenAI、Anthropic和Google模型可通过各自的API获得多个版本如下表所示。

图片

       GPT-3.5 Instruction和PaLM 2 Text Bison是文本生成模型,而不是聊天模型,因此使用一个简单的聊天模板来提示这两个模型进行对话响应,如下表所示。

图片

手动测试

       根据场景的探索性期间记录的对话,组装了一个初始手动测试。过滤重复的对话并删除辅助响应,从而产生870个测试用例。测试案例的数量从155个认证案例到27个保密案例不等,涵盖了广泛的策略。大多数记录的对话都针对负面规则,但没有跟踪用户意图,也没有区分负面和正面测试案例。下表中显示了手动测试的结果。所有模型都失败了大量的测试用例,尽管GPT-4失败的测试用例数量最少,其次是Claude Instant和Claude 2。

图片

系统测试

图片

       每个策略的测试用例示例如上表所示。每个测试用例都包含一到三条用户消息。“Just Ask”策略为每个规则定义了一个单一的基本测试用例,如果严格遵守,将导致模型违反目标规则,从而测试模型拒绝最直接攻击尝试的能力。大多数积极的规则都要求模型根据特定的用户输入产生特定的输出,因此对于这些规则,“Just Ask”测试用例由两条用户消息组成,首先要求模型打破规则,然后用正确的用户输入触发破规行为。

       如下图所示,所有评估的LLM在大量测试用例中都失败了。系统测试中负规则的性能与手动测试的性能密切相关。模型的夫,负面测试失败率通常低于正面测试,除Vicuna 33B外的所有开放模型几乎所有阳性测试都失败。结果表明,引导模型偏离正确的行为比强迫这些模型做出特定的不正确行为要容易得多,尤其是对于开放模型。

       在所有评估的模型中,GPT-4在系统测试中失败的测试用例最少。令人惊讶的是,Claude Instant的表现略好于表面上能力更强的Claude 2。有的LLM不能可靠地遵循规则;尽管它们可以抵制一些尝试,但仍有很大的改进空间。

图片

方差与不确定性

       本文的结果中有几个方差和不确定性的来源。首先,即使temperature设置为0,OpenAI和Anthropic API的输出也是不确定的。这导致了测试用例结果的一些差异,在下表中使用系统测试的子集进行了估计。

图片

       连续10次运行相同的评估,并在每个评估的测试用例子集的39个测试用例中,测量1.1个或更少的失败测试用例数量的标准差。PaLM 2 API在输出或测试用例结果方面没有任何变化,在本地评估时也没有任何公共模型。

错误检测

       如果模型无法可靠地遵循规则,它们可能会至少能够可靠地检测到助手响应何时违反规则。为了回答这个问题,从系统测试上评估的模型的输出以及地面实况传递/失败评估标签中抽取 1098 对用户消息和助手响应,以衡量模型检测规则违规的能力作为零样本二元分类任务。

图片

       如上表所示,大多数模型都可以比偶然做得更好,但不能可靠地检测是否遵循了规则。将正数定义为助手响应违反场景的一个或多个规则的实例,并测量通常定义的精度/召回率。目前还没有模型“解决”这个任务,GPT-4 达到了 82.1% 的准确率和 F 分数 84.0,其他模型下降得很短。需要一个简洁的“pass”或“fail”答案,它将 Llama 2 等冗长模型置于劣势,因为这些模型偶尔会用额外的文本预先查看他们的答案。

对抗性检测

       本文还评估了Greedy Coordinate Gradient (GCG),这是一种最近提出的算法,用于查找导致模型产生特定目标字符串的后缀,与本文场景中的开放7B模型(Vicuna v1.3、Llama 2 Chat和Mistral v0.1)进行比较。GCG是一种迭代优化算法,它在每个时间步长更新单个token,以最大限度地提高目标语言模型下目标字符串的可能性。

图片

       结果如上表所示,GCG可以增加所有三个评估模型的失败测试用例数量。Mistral特别容易被影响,几乎所有的正面和负面测试都失败了,而Llama 2仍然通过了一些负面测试。针对Llama 2 7B优化的后缀在针对其他模型使用时,不会导致失败测试用例的数量显著增加。

结论

       本文的实验表明,目前的模型在很大程度上不足以遵循简单规则。尽管在指定和控制LLM的行为方面做出了重大努力,但在人类能够指望模型可靠地抵御各种人类或机器生成的攻击之前,研究界还有更多的工作要做。

       同时,本文的工作团队乐观地认为,尽管过去十年在图像分类模型中对难以察觉的扰动的对抗性鲁棒性方面的进展慢于预期,但在这一领域仍有可能取得有意义的进展。打破规则需要一个模型采取有针对性的生成行动,而打破规则的目标可以在模型的内部表示中确定,这反过来又可以产生基于检测和弃权的可行防御。

       要想使AI虚拟助手在安全地整合到社会中,就需要研究并改进LLMs对于规则遵循的能力。

参考文献:

[1] LLMs可以遵循简单的规则吗?

相关文章:

LLMs可以遵循简单的规则吗?

由于大型语言模型在现实世界中的责任越来越大,因此如何以可靠的方式指定和约束这些系统的行为很重要。一些开发人员希望为模型设置显式规则,例如“不生成滥用内容”,但这种方式可能会被特殊技术规避。评估LLM在面对对抗性输入时遵循开发人员提…...

如何挑选护眼灯?光照均匀度、色温、眩光这3点!

光照环境对我们的生活质量影响深远,尤其在孩子的成长过程中,良好的光照环境对其学习效率、视力保护都至关重要。光照中的很多因素都对视力有着或大或小的影响,本文将从光照均匀度、眩光、色温三个关键点,深入浅出地让消费者了解其…...

python 实验7

姓名:轨迹 学号:6666 专业年级:2021级软件工程 班级: 66 实验的准备阶段 (指导教师填写) 课程名称 Python开发与应用 实验名称 文件异常应用 实验目的 (1)掌握基本文件读写的方式; …...

日历应用程序 BusyCal mac中文版软件特点

BusyCal mac是一款日历应用程序,它可以帮助用户轻松地管理日程安排、事件提醒、会议安排等。BusyCal 支持 macOS 和 iOS 平台,并且可以与 iCloud、Google 日历、Exchange 等多种日历服务进行同步。 BusyCal mac软件特点 强大的日历功能:Busy…...

软件测试/测试开发丨接口自动化测试,接口鉴权的多种方式

点此获取更多相关资料 本文为霍格沃兹测试开发学社学员学习笔记分享 原文链接:https://ceshiren.com/t/topic/28000 一、后端接口鉴权常用方法 cookie 携带身份信息请求认证之后的每次请求都携带cookie信息,cookie记录在请求头中 token 携带身份信息请求…...

08 robotframework 修改乱码问题

修改[Python目录]\Lib\site-packages\robotide\lib\robot\utils中的encodingsniffer.py if UNIXY: DEFAULT_SYSTEM_ENCODING UTF-8 DEFAULT_OUTPUT_ENCODING UTF-8 else: DEFAULT_SYSTEM_ENCODING cp1252 DEFAULT_OUTPUT_ENCODING cp437 将DEFAUL…...

门店如何设置多个联系电话和营业时间

​小程序中门店信息是非常重要的,通常需要有门店地址、门店电话和营业时间等。采云小程序支持设置多个门店联系电话,避免客户无法联系到门店。而且,也支持设置多个营业时间时段。例如周一到周五早08:00 - 18:00 。客户在周末下单的时候&#…...

第5章 字典和结构化数据

目录 1. 字典数据类型1.1 添加键值对1.2 删除键值对1.3 keys() 方法1.4 values() 方法1.5 items() 方法1.6 检查字典总是否存在键或值1.7 get() 方法1.8 setdefault() 方法 2. 嵌套2.1 在列表中存储字典2.2 在字典中存储列表2.3 在字典中存储字典 1. 字典数据类型 键值对无序 …...

2023年咸阳市《网络建设与运维》赛题

2023年咸阳市职业院校技能大赛 网络建设与运维赛项 赛卷 023年11月 竞赛说明 一、竞赛项目简介 “网络建设与运维”竞赛共分为模块一:网络理论测试;模块二:网络建设与调试;模块三:服务搭建与运维等三个模块。 二、竞赛注意事项 1.禁止携带和使用移动存储设备、计算...

Spring Cloud Netflix微服务组件-Eureka

目录 CAP理论 注册中心对比 为什么注册中心更适合用AP? 分布式系统AP和CP如何取舍? Eureka核心功能点 Euraka server启动的主线流程 总体流程图 EnableEurekaServer 流程图 EurekaServerAutoConfiguration EurekaServerInitializerConfigurat…...

FreeRTOS_任务创建与删除

1. 函数TaskCreate() 2. 函数xTaskDelete() xTaskDelete(NULL) //参数为NULL,为删除当前任务 3.其它相关任务API函数...

什么是Vue的前端微服务架构(Micro Frontends)?

前端微服务架构(Micro Frontends)是一种借鉴了后端微服务架构思想的新型前端架构风格。它将前端应用程序拆分为多个小型、独立的部分,每个部分都可以独立部署、独立开发和独立运行。这种架构的出现是为了解决庞大的一整块后端服务带来的变更与…...

什么是原生IP与广播IP?原生IP有何优势?

在代理IP中,我们常常听到原生IP与广播IP,二者有何区别?如何区分呢?下面为大家详细讲解。 一、什么是原生ip 原生IP地址是互联网服务提供商(ISP)直接分配给用户的真实IP地址,无需代理或转发。此…...

vnodeToString函数把vnode转为string(innerhtml)

函数 function vnodeToString(vnode) {// 如果是文本节点,直接返回文本内容if ([string, boolean, undefined, null, number].includes(typeof vnode)) {return vnode;}// 转换节点的属性为字符串形式const attrs Object.keys(vnode.attrs || {}).map((key) > …...

【Halcon】C# HTuple多参数设置小技巧

比如,在halcon中我们经常这么写: dev_disp_text (hello, window, 100, 200, red, [box,shadow],[true,false])[‘box’,‘shadow’] 和 [‘true’,‘false’] 成对出现。 可以同时对多个参数设置。 如果用halcon翻译C#,你会得到&#xff1a…...

此芯科技加入绿色计算产业联盟,参编绿色计算产业发展白皮书

近日,此芯科技正式加入绿色计算产业联盟(Green Computing Consortium,简称GCC),以Arm架构通用智能CPU芯片及高能效的Arm PC计算解决方案加速构建软硬协同的绿色计算生态体系,推动绿色计算产业加速发展。 继…...

webrtc 生成unpack_aecdump工具

1.download webrtc-code https://git.ringcentral.com/build/webrtc-build 2.下载webrtc代码 3.terminal 进入src目录下 4.构建目录: terminal执行:gn gen out/Release --argsis_component_buildfalse 5.构建可执行文件: terminal执行…...

数据结构第四课 -----线性表之队列

作者前言 🎂 ✨✨✨✨✨✨🍧🍧🍧🍧🍧🍧🍧🎂 ​🎂 作者介绍: 🎂🎂 🎂 🎉🎉&#x1f389…...

蓝桥杯 第 3 场算法双周赛4,7题

迷宫逃脱 一眼数字三角形模型,因为是要求最大值,而且对转移状态有限制,所以需要注意dp状态的初始化,可以将所有状态赋值为-0x7f,然后将dp[0][1]和dp[1][0]初始化为0,又因为考虑到起始点a[1][1]&#xff0c…...

西安有哪些比较好的设计院?西安名企设计院介绍!

1、西北综合勘察设计研究院(地址:陕西省西安市习武园9号) 西北综合勘察设计研究院始建于1952年,是西北地区建设领域成立最早、规模最大的的综合性甲级勘察设计咨询科研单位,公司业务以工程勘察、建筑设计、市政设计、…...

Java获取Jar、War包路径,并生成可编辑修改的本地配置文件

前言 本地的可修改配置文件的编写理应是一个很常用的功能,但由于数据库的存在,它鲜少被提及,大多数我们直接存储到数据库中了。 以至于现今,除了没接触数据库的新手时常使用它以外,它没有太多的出场机会。 也因此&am…...

FPGA UDP RGMII 千兆以太网(4)ARP ICMP UDP

1 以太网帧 1.1 1以太网帧格式 下图为以太网的帧格式: 前导码(Preamble):8 字节,连续 7 个 8’h55 加 1 个 8’hd5,表示一个帧的开始,用于双方 设备数据的同步。 目的 MAC 地址:6 字节,存放目的设备的物理地址,即 MAC 地址 源 MAC 地址:6 字节,存放发送端设备的…...

【视觉SLAM十四讲学习笔记】第二讲——初识SLAM

专栏系列文章如下: 【视觉SLAM十四讲学习笔记】第一讲 一个机器人,如果想要探索某一块区域,它至少需要知道两件事: 我在什么地方——定位周围环境是什么样——建图 一方面需要明白自身的状态(即位置)&#…...

Python交易-通过Financial Modeling Prep (FMP)选择行业

介绍 在您的交易旅程中,无论您是在寻找理想的股票、板块还是指标,做出明智的决策对于您的成功至关重要。然而,收集和分析所需的大量数据可能相当艰巨。财务建模准备 (FMP) API的...

AI创作系统ChatGPT网站源码+详细搭建部署教程+支持DALL-E3文生图/支持最新GPT-4-Turbo-With-Vision-128K多模态模型

一、AI创作系统 SparkAi创作系统是基于OpenAI很火的ChatGPT进行开发的Ai智能问答系统和Midjourney绘画系统,支持OpenAI-GPT全模型国内AI全模型。本期针对源码系统整体测试下来非常完美,可以说SparkAi是目前国内一款的ChatGPT对接OpenAI软件系统。那么如…...

快速生成力扣链表题的链表,实现快速调试

关于力扣链表题需要本地调试创建链表的情况 我们在练习链表题,力扣官方需要会员,我们又不想开会员,想在本地调试给你们提供的代码 声明:本人也是参考的别人的代码,给你们提供不同语言生成链表 参考链接: 参…...

threejs(13)-着色器设置点材质

着色器材质内置变量 three.js着色器的内置变量,分别是 gl_PointSize:在点渲染模式中,控制方形点区域渲染像素大小(注意这里是像素大小,而不是three.js单位,因此在移动相机是,所看到该点在屏幕…...

计算机网络专栏 学习导航or使用说明

计算机网络各章笔记 计算机网络_第一章_计算机网络的概述 计算机网络_第二章_物理层 计算机网络_第三章_数据链路层 计算机网络_第四章网络层_网络层概述_网际协议IP 计算机网络各章习题 计算机网络第一章习题_网络概述 计算机网络第二章习题_物理层 计算机网络第三章习…...

git clone:SSL: no alternative certificate subject name matches target host name

git clone 时的常见错误: fatal: unable to access ‘https://ip_or_domain/xx/xx.git/’: SSL: no alternative certificate subject name matches target host name ‘ip_or_domain’ 解决办法: disable ssl verify git config --global http.sslVe…...

代码随想录图论|130. 被围绕的区域 417太平洋大西洋水流问题

130. 被围绕的区域 **题目:**给你一个 m x n 的矩阵 board ,由若干字符 ‘X’ 和 ‘O’ ,找到所有被 ‘X’ 围绕的区域,并将这些区域里所有的 ‘O’ 用 ‘X’ 填充。 题目链接:130. 被围绕的区域 解题思路&#xff1a…...