大型语言模型能否遵循简单规则?
随着大型语言模型(LLMs)在现实世界中的责任日益增加,如何以可靠的方式指定和约束这些系统的行为变得至关重要。一些开发人员希望为模型设置显式规则,例如'不生成滥用内容',但这种方式可能会被特殊技术规避。评估 LLM 在面对对抗性输入时遵循开发人员提供的规则的能力通常需要人工审查,这会减慢监控和方法开发的速度。
大型语言模型在现实应用中面临规则遵循的挑战。 RULES 基准测试框架,通过 15 个文本场景评估 LLM 遵循自然语言规则的能力。研究发现,包括 GPT-4 在内的主流模型均易受对抗性输入影响,尤其在正面规则遵循上表现较弱。基于梯度的 GCG 攻击能显著降低开放模型的安全性。文章指出当前模型在可靠遵循简单规则方面存在不足,呼吁加强对抗性鲁棒性研究,并提出结合外部验证层和动态反馈机制以提升 AI 助手的安全性。

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

微信公众号「极客日志」,在微信中扫描左侧二维码关注。展示文案:极客日志 zeeklog
使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online
生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online
基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online
将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online
将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online
将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online
为了解决 LLMs 的规则遵循问题,本文提出了规则遵循语言评估场景(RULES),这是一种评估 LLM 中规则跟踪能力的编程框架。其由 15 个简单的文本场景组成,其中模型指示在与人类用户交互时遵守自然语言中的一组规则。每个场景都有一个简洁的评估程序来确定模型是否打破了对话中的任何规则。通过手动探索场景中的模型行为,确定了 6 类攻击策略并收集了两组测试用例:一组由手动测试的独特对话和系统地从 6 个类别实现策略的对话组成。在 GPT-4 和 Llama 2 等各种流行的专有和开放模型中,发现所有模型都容易受到各种对抗性手工制作的用户输入的影响,尽管 GPT-4 是表现最好的模型。此外,在基于梯度的攻击下评估开放模型时发现重大漏洞。建议将 RULES 作为一种具有挑战性的新环境,用于探索和防御对 LLM 的手动和自动攻击。
传统的计算系统是围绕计算机程序中表达的指令的执行来设计的。相反,语言模型可以遵循用自然语言表达的指令,或者从大量数据中的隐含模式中学习该做什么。为了在语言模型之上构建安全可靠的应用程序,重要的是可以使用用户提供的规则来控制或约束 AI 模型行为。
展望未来,与人互动的人工智能助手也需要忠实和完整地遵循指令。为了确保人工智能助手反馈的道德行为,需要能够可靠地实施法律法规或义务生物学约束等规则。此外,必须能够验证模型行为是否真正基于所提供的规则,而不是依赖于训练期间识别的虚假文本线索或分布先验。如果不能依靠人工智能助手来遵循明确的规则,它们将很难安全地融入人类的社会。
人们可能认为强加给人工智能模型行为的许多规则在概念上非常简单,并且很容易用自然语言表达。一种方法是简单地将规则包含在模型的文本提示中,并依赖于模型现有的指令遵循功能。另一种方法是使用第二个模型来对输出遵循固定规则集的情况进行评分,然后对第一个模型进行微调,使其以最大化该评分的方式表现。
在本文中,将专注于前一种方法,并研究 LLM 如何很好地遵循作为文本提示一部分提供的规则。为了应对可用性和安全性方面的挑战,本文引入了规则遵循语言评估场景(RULES),这是评估 LLM 助手中规则遵循行为的基准。该基准包含 15 个来自常见儿童游戏的文本场景以及计算机安全领域的想法。每个场景都用自然语言定义了一组规则,并定义了一个评估程序来检查模型输出是否符合规则。通过对本文的场景与最先进的模型进行广泛实验,确定了多种有效的攻击策略,以诱导模型打破规则。

RULES 补充了现有的安全性和对抗性稳健性评估,这些评估主要侧重于规避固定的通用规则。本文的工作重点是用自然语言表达的特定于应用程序的规则,用户可以随时更改或更新这些规则。在与人类和自动化对手互动时,严格遵守本文的场景规则可能需要不同的方法来提高模型安全性,因为直接'编辑'特定有害行为的能力不足以修复本文工作中检查的模型故障类别。
本文的工作团队发布了代码和测试用例,同时还发布了一个交互式演示,用于探索针对不同模型的场景。希望推动更多的研究来提高 LLM 的稳健规则遵循能力,并打算将所提的基准测试作为进一步开发的有用的开放测试平台。
RULES 包含 15 个基于文本的场景,每个场景都要求辅助模型遵循一个或多个规则。这些场景的灵感来自于计算机系统和儿童游戏的理想安全特性。RULES 的组成部分包括:
本文将场景可视化为决策树图,其中正确的行为对应于从根节点开始并遵守所有相关的内部规则节点。规则指定的行为都是'无状态'的,正确的行为只取决于模型响应的最后一条用户消息。
设计这些场景是为了让一个小型计算机程序能够评估模型的响应是否符合规则。每个程序只有几行代码,不需要使用大型模型或人工标记进行推理。本文依赖于字符串比较和简单的正则表达式模式,这会导致对负面行为的更宽容的评估,对正面行为的更严格的评估。本文提出的评估程序无法在边缘情况下准确再现人类的判断,但在实践中观察到,模型中绝大多数违反规则的输出都是明确的。
为了设计场景和评估代码,并为测试套件收集测试用例,本文构建了几种不同的用户界面,用于通过具有各种模型的场景进行玩。这些范围从用于调试和播放测试的简单命令行界面到用于从作者及其同事众包数据收集的 Web 应用程序。我们发现通过这些界面与模型交互有助于了解模型实际响应用户输入并修改我们的场景以更好地捕获有趣但具有挑战性的行为。用户界面可能成为研究人工智能系统的研究工具包的重要组成部分。
根据人工和机器生成的测试用例测试套件来评估各种专有和开放的 LLM。每个测试用例都与特定的场景环境相关联,其中包括场景和随机采样的场景参数。使用以下三条信息来初始化对话历史:
重复调用该模型,并将每个响应和后续用户消息附加到会话历史中,直到测试用例中的所有用户消息都用完为止。第一个占位符响应之后的每个辅助响应都用与场景相对应的评估程序进行评估,如果在任何响应之后,程序确定至少有一个规则被打破,认为模型没有通过测试用例。
本文评估了各种流行的专有和公共模型,包括 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 对于规则遵循的能力。未来的研究方向应包括开发更强大的防御机制,如对抗性训练、形式化验证以及更细粒度的规则执行接口。此外,建立标准化的规则遵循基准对于行业间的横向对比至关重要。开发者在部署 LLM 时,不应仅依赖模型的自然指令遵循能力,而应结合外部验证层和规则过滤器,以确保关键业务逻辑的安全执行。
在实际应用场景中,企业应意识到当前大模型在复杂规则约束下的局限性。特别是在金融、医疗等高风险领域,单纯依靠 Prompt Engineering 可能无法满足合规要求。建议采用多模型协同架构,利用专用小模型处理规则校验,或利用 RAG 技术增强上下文约束。同时,持续监控模型输出与预设规则的偏差,建立动态反馈机制,以便及时发现潜在的安全风险。随着模型规模的扩大和训练数据的丰富,规则遵循能力有望得到提升,但这需要学术界和工业界的共同努力,推动对齐技术的实质性突破。