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

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

相关推荐
碳苯27 分钟前
【rCore OS 开源操作系统】Rust 枚举与模式匹配
开发语言·人工智能·后端·rust·操作系统·os
努力的小雨35 分钟前
从零开始学机器学习——网络应用
机器学习
whaosoft-1431 小时前
51c视觉~CV~合集3
人工智能
网络研究院3 小时前
如何安全地大规模部署 GenAI 应用程序
网络·人工智能·安全·ai·部署·观点
凭栏落花侧3 小时前
决策树:简单易懂的预测模型
人工智能·算法·决策树·机器学习·信息可视化·数据挖掘·数据分析
吱吱鼠叔5 小时前
MATLAB计算与建模常见函数:5.曲线拟合
算法·机器学习·matlab
xiandong206 小时前
240929-CGAN条件生成对抗网络
图像处理·人工智能·深度学习·神经网络·生成对抗网络·计算机视觉
innutritious7 小时前
车辆重识别(2020NIPS去噪扩散概率模型)论文阅读2024/9/27
人工智能·深度学习·计算机视觉
醒了就刷牙7 小时前
56 门控循环单元(GRU)_by《李沐:动手学深度学习v2》pytorch版
pytorch·深度学习·gru
橙子小哥的代码世界7 小时前
【深度学习】05-RNN循环神经网络-02- RNN循环神经网络的发展历史与演化趋势/LSTM/GRU/Transformer
人工智能·pytorch·rnn·深度学习·神经网络·lstm·transformer