【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在多个安全性和能力评估基准上取得了显著提高的鲁棒性,对未见过的攻击也展现出良好的泛化能力。

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

相关推荐
小阿鑫13 分钟前
不要太信任Cursor,这位网友被删库了。。。
人工智能·aigc·cursor·部署mcp
说私域1 小时前
基于定制开发开源 AI 智能名片 S2B2C 商城小程序的热点与人工下发策略研究
人工智能·小程序
Moshow郑锴1 小时前
机器学习相关算法:回溯算法 贪心算法 回归算法(线性回归) 算法超参数 多项式时间 朴素贝叶斯分类算法
算法·机器学习·回归
Tiger Z1 小时前
《动手学深度学习v2》学习笔记 | 1. 引言
pytorch·深度学习·ai编程
GoGeekBaird2 小时前
GoHumanLoopHub开源上线,开启Agent人际协作新方式
人工智能·后端·github
Jinkxs2 小时前
测试工程师的AI转型指南:从工具使用到测试策略重构
人工智能·重构
别惹CC2 小时前
Spring AI 进阶之路01:三步将 AI 整合进 Spring Boot
人工智能·spring boot·spring
stbomei4 小时前
当 AI 开始 “理解” 情感:情感计算技术正在改写人机交互规则
人工智能·人机交互
Moshow郑锴9 小时前
人工智能中的(特征选择)数据过滤方法和包裹方法
人工智能
TY-202510 小时前
【CV 目标检测】Fast RCNN模型①——与R-CNN区别
人工智能·目标检测·目标跟踪·cnn