【AI大模型】用指令层级的方法提高LLM的安全性

本文参考论文为:

Eric Wallace, Kai Xiao, Reimar Leike, Lilian Weng, Johannes Heidecke, Alex Beutel. The Instruction Hierarchy: Training LLMs to Prioritize Privileged Instructions. arXiv:2404.13208v1, 2024.

https://doi.org/10.48550/arXiv.2404.13208

一,背景

随着LLM技术的飞速发展,其应用领域也在不断扩大。LLM被广泛应用于聊天机器人、文本生成、代码解析等领域,为用户提供智能化服务。然而,LLM的安全性和可控性问题也日益凸显。容易受到提示注入、越狱和其他攻击的影响,这些攻击允许攻击者用自己的恶意提示覆盖模型的原始指令。

二,指令层级的方法提高模型的安全性

针对上述问题OpenAI团队提出来了一种训练大型语言模型(LLM)以优先考虑特权指令。这项研究对于构建安全可控的LLM具有重要意义,对于LLM的安全性和可控性具有广泛应用前景。

其中主要的安全风险就是LLM通常认为系统提示(例如,来自应用程序开发人员的文本)与来自不受信任的用户和第三方的文本具有相同的优先级。

根据这个badcase,OpenAI团队提出了提升LLM的对应方案
指令层次结构框架:论文提出了一个指令层次结构框架,其中规定系统消息具有最高优先级,其次是用户消息,最后是工具输出。模型在处理冲突时应该遵循这个层次结构。

他们提出一个理想的模型是:"当向模型提供多个指令时,较低特权的指令可以与较高特权的指令对齐或不对齐。我们的目标是教模型有条件地遵循基于与高级指令对齐的低级指令:•对齐的指令具有与高级指令相同的约束、规则或目标,因此LLM应该遵循它们"

三 训练数据

该论文提出了两种训练大模型的方式:

上下文综合(Context Synthesis):

对于对齐的指令,作者首先利用大型语言模型生成具有组合要求的指令,例如"写一首20行的西班牙语诗歌"。

然后,他们将生成的组合指令分解为更小的片段,例如"写一首诗"、"使用西班牙语"和"使用20行"。

接着,作者将这些分解的指令置于不同的层次结构中,即系统消息、用户消息和工具输出,并训练模型预测原始的地面真实响应。

通过这种方式,模型学习到如何处理对齐的指令,即当低优先级指令与高优先级指令一致时,应该遵循低优先级指令。

上下文忽略(Context Ignorance):

对于错位的指令,作者采取了完全相反的策略,即训练模型忽略低优先级指令。

首先,作者生成包含不同规则或约束的系统消息,例如"永远不要提供法律建议"。然后,他们生成用户查询,试图诱使模型违反这些规则或约束。在训练过程中,模型被训练为预测在没有看到用户指令时的答案,或者预测已经满足约束的答案。通过这种方式,模型学会忽略错位的低优先级指令,即当低优先级指令与高优先级指令不一致时,应该忽略低优先级指令。

训练数据生成方法针对不同类型的攻击
1.直接prompt injection攻击
开放域任务
对齐指令 :使用上下文综合方法生成训练数据。例如,生成"写一首20行西班牙语诗歌",分解为"写一首诗"、"使用西班牙语"、"使用20行",并放置在不同层次,训练模型预测完整指令的响应。

错位指令:使用上下文忽略方法。例如,生成包含规则的系统消息,然后生成违反规则的恶意用户查询,训练模型预测与没有看到用户指令时相同的响应。

封闭域任务:只生成错位指令的数据,使用上下文忽略方法。将封闭域任务放入系统消息,生成prompt injection放入用户消息,训练模型忽略用户消息中的指令。

2.间接prompt injection攻击:假设浏览或工具输出中的任何指令都是错位的,使用上下文忽略方法生成训练数据。

3.系统消息提取攻击

错位指令 :使用上下文忽略方法。生成揭示系统消息的查询,训练模型拒绝这些查询。
对齐指令 :生成基本的系统消息查询,训练模型对这些查询进行响应。
越狱攻击:在训练中故意不包含越狱数据,以测试模型对越狱攻击的泛化能力。

四 改进效果

经过训练的LLM在多个安全性和能力评估基准上取得了显著提高的鲁棒性,对未见过的攻击也展现出良好的泛化能力。

可见此方法是一个很好的提升大模型安全性能的方法

相关推荐
机器之心1 天前
OpenClaw绝配!GPT-5.4问世,AI能力开始大一统,就是太贵
人工智能·openai
机器之心1 天前
海外华人15人团队打造,统一理解与生成的图像模型,超越Nano banana登顶图像编辑
人工智能·openai
用户552796026051 天前
在老版本 HPC 系统上运行 Antigravity(反重力)
人工智能
Axinyp1 天前
Windows WSL2 安装 OpenClaw 踩坑指南
人工智能
恋猫de小郭1 天前
你用的 Claude 可能是虚假 Claude ,论文数据告诉你,Shadow API 中的欺骗性模型声明
前端·人工智能·ai编程
哥布林学者1 天前
高光谱成像(四)最小噪声分数变换 MNF
机器学习·高光谱成像
Johny_Zhao1 天前
centos7安装部署openclaw
linux·人工智能·信息安全·云计算·yum源·系统运维·openclaw
郑鱼咚1 天前
现在的AI热潮,恰恰证明了这个世界就是个草台班子
前端·人工智能·程序员
美团技术团队1 天前
LongCat 为 OpenClaw 装上效率引擎:你的自动化任务还能再快 30%
人工智能