跳到正文
原文

指令层级:训练大语言模型优先遵循特权指令

The Instruction Hierarchy: Training LLMs to Prioritize Privileged Instructions

arXiv· arXiv:2404.13208· Eric Wallace, Kai Xiao, Reimar Leike, Lilian Weng, Johannes Heidecke, Alex BeutelOpenAI本站收录· 16 天前· 原文发表入选 防御精选关注度40

论文速读

防御

据论文 PDF 整理(AI 生成),以原文为准

OpenAI 提出指令层级训练方法,让 GPT-3.5 Turbo 优先执行高权限指令,作者报告系统提示词提取防御提升 63%。

威胁模型攻击者通过用户消息或第三方工具输出注入指令,覆盖应用开发者的系统消息;防御方假设指令按权限分层(System Message 最高,User Message 次之,Tool Outputs 最低),模型应在冲突时忽略低权限指令。

问题
LLM 常把系统提示词与不可信的用户、第三方输入当作同等优先级,导致提示注入、越狱和系统提示词提取等攻击能覆盖原始指令,威胁基于 LLM 的智能体应用。
方法
作者提出指令层级:系统消息优先于用户消息,用户消息优先于第三方内容。用 context synthesis 处理对齐指令、context ignorance 处理冲突指令生成训练数据,对 GPT-3.5 Turbo 做 SFT 和 RLHF。
实验与结果
作者报告训练后模型在全部主评测上鲁棒性提升,系统提示词提取防御提升 63%;对训练中刻意留出的攻击(越狱、工具注入、密码提取)也有泛化,提升最高 34%;过度拒答在多数评测上接近基线,两个对抗性评测出现下降。
局限与可以继续做的
作者指出当前模型对浏览和工具中的指令一律忽略、仅处理文本模态、且可能仍不敌强对抗攻击,列为未来方向;实验只在 GPT-3.5 Turbo 上进行,论文未报告各评测样本量与重复次数。
实验设置GPT-3.5 Turbo · TensorTrust Prompt Hijacking、TensorTrust Robustness 等 · Robustness (%)、Compliance Rate (%) 等
被测模型
GPT-3.5 Turbo
基准
TensorTrust Prompt HijackingTensorTrust RobustnessGandalf GameJailbreakchatChatGPT JailbreaksPrompt Injection (New Instructions)Prompt Injection (Indirect via Browsing)Prompt Injection (Indirect via Tools)User Conflicting InstructionsUser Non-Conflicting InstructionsSystem Message Probing QuestionsAllowed Prompts (Borderline)TriviaQALAMBADAHellaSwag
指标
Robustness (%)Compliance Rate (%)refusal rate
AI 导读和推荐理由OpenAI 研究者提出指令层级训练方法,让大语言模型在指令冲突时优先遵循系统提示、其次用户消息、最后第三方内容,以抵御提示注入、越狱和系统提示提取攻击。方法结合合成数据生成与上下文蒸馏:对齐的低权限指令训练模型照常遵循,错位指令训练模型无视或拒答,并用自动红队模型生成注入数据,对 GPT-3.5 Turbo 做监督微调与 RLHF。评测显示各攻击场景鲁棒性均提升,系统提示提取防御提升 63%;训练数据刻意不含越狱样本,模型对越狱等未见过攻击的鲁棒性仍提升超过 30%,通用能力基本不受影响,但在两项过度拒答评测上出现回退。

OpenAI 研究者提出指令层级训练方法,让大语言模型在指令冲突时优先遵循系统提示、其次用户消息、最后第三方内容,以抵御提示注入、越狱和系统提示提取攻击。方法结合合成数据生成与上下文蒸馏:对齐的低权限指令训练模型照常遵循,错位指令训练模型无视或拒答,并用自动红队模型生成注入数据,对 GPT-3.5 Turbo 做监督微调与 RLHF。评测显示各攻击场景鲁棒性均提升,系统提示提取防御提升 63%;训练数据刻意不含越狱样本,模型对越狱等未见过攻击的鲁棒性仍提升超过 30%,通用能力基本不受影响,但在两项过度拒答评测上出现回退。

推荐理由论文提出指令层级训练方法并给出数据构造细节,在 GPT-3.5 Turbo 上验证了对提示注入等攻击的鲁棒性提升。

相关热点

0 个事件 · 4 条新闻提到

提到这篇论文的新闻

再看 1 条

深度解读

6个问题,点开问题读完整回答

  1. 这篇论文试图解决什么问题?

    LLM 对不同来源指令一视同仁,作者提出指令层级让模型优先执行高权限指令。

    核心问题:LLM 把系统提示词与不可信的用户输入、第三方内容当作同等优先级,使攻击者能用恶意提示词覆盖原始指令。

    • 场景与重要性:作者认为,LLM 正被用于网页智能体、邮件助手等应用,提示注入、越狱、系统提示词提取等攻击可让攻击者泄露用户隐私数据、劫持模型行为或绕过开发者限制,例如间接提示注入可让邮件助手转发收件箱。
    • 现有方法的不足:作者认为现有 LLM 缺乏指令权限概念,无法区分 System Message、User Message 和 Tool Outputs 的优先级,冲突发生时低权限输入也能覆盖高权限指令。
    • 核心观察:作者借鉴操作系统权限层级的类比——当前 LLM 如同所有指令都在内核态执行;计算领域靠权限层级解决 SQL 注入等类似问题,LLM 也需要对应的指令层级。
    • 论文提出的方案:提出 instruction hierarchy(指令层级)框架及配套的自动化训练数据生成方法,教模型在低权限指令与高权限指令冲突时选择性地忽略前者,并用 SFT 和 RLHF 训练 GPT-3.5 Turbo 验证。
    • 威胁模型:
      • 攻击者目标:用恶意提示词覆盖开发者的系统指令,执行提示注入(直接/间接)、越狱或提取系统提示词。
      • 攻击者知识与能力:终端用户可在 User Message 中注入指令(直接注入);第三方可在网页、工具返回值中植入指令(间接注入)。
      • 受害系统:基于 LLM 的应用,如邮件助手、浏览智能体,可能持有私密数据或可执行现实操作。
      • 防御方假设:指令按来源分层——System Message 最高,User Message 次之,Tool Outputs 最低(Figure 1)。
  2. 有哪些相关研究?

    相关工作覆盖提示注入防御、系统级护栏与自动化红队,作者称本文区别在于多级权限与条件遵从。

    提示注入攻击与背景

    • Willison (2022)、Schulhoff et al. (2023)、Toyer et al. (2024)——提出并系统化提示注入攻击;Greshake et al. (2023) 提出间接提示注入,可攻陷真实 LLM 集成应用。
    • Wei et al. (2023)、Zou et al. (2023)、Schulhoff et al. (2023)——越狱攻击研究;Perez & Ribeiro (2022)、Zhang & Ippolito (2023)——系统提示词提取攻击。

    提示注入防御

    • Chen et al. (2024)(StruQ)、Willison (2023)、Zverev et al. (2024)、Yi et al. (2023)、Liu et al. (2023)——主张让模型把第三方用户输入当作数据而非指令;Chen et al. (2024) 训练模型忽略用户输入中的指令。
    • 论文明确对比:作者称本文区别在于关注多级的指令层级,而 Chen et al. (2024) 只区分系统消息与用户消息,且完全忽略用户消息中的所有指令,本文则训练模型在适当时有条件地遵从低权限指令。

    系统级护栏

    • 论文讨论了让用户审批模型操作等系统级缓解措施,作者认为模型层面的防御与这类措施互补,并预期未来智能体场景需要更复杂的护栏。

    自动化红队

    • Perez et al. (2022)、Ganguli et al. (2022)——用 LLM 生成红队数据;Wallace et al. (2019)、Zou et al. (2023)、Geiping et al. (2024)——基于梯度的迁移攻击。本文的数据生成结合了 few-shot 提示、攻击者 LLM 的端到端训练与 context distillation(Askell et al., 2021; Snell et al., 2022)。

    基线与基准:基线是同样经过 SFT+RLHF、但只用能力数据训练的 GPT-3.5 Turbo,以及一个仅在系统消息中写明指令层级的提示词基线(Table 3);评测基准包括 TensorTrust(Toyer et al., 2024)、Gandalf Game(Lakera AI, 2023)、Jailbreakchat 及多个自建数据集。作者将本文定位为把权限层级这一计算领域的经典思想引入 LLM 训练。

  3. 论文如何解决这个问题?

    用 context synthesis 与 context ignorance 两类合成数据做 SFT+RLHF,教模型按权限层级条件性遵从指令。

    整体思路:定义 instruction hierarchy——System Message 优先于 User Message,User Message 优先于第三方内容;再用合成数据与 context distillation 生成训练样本,微调模型使其在指令冲突时忽略低权限指令。

    理想行为定义

    • 对齐(Aligned)指令:与高权限指令的约束、规则或目标一致,模型应遵从,例如系统消息设定汽车销售机器人后用户要求"用西班牙语"。
    • 冲突(Misaligned)指令:与高权限指令相悖或无关,模型不应遵从;理想行为是尽可能忽略,无法继续时拒绝回答。

    两类数据生成原则

    • Context Synthesis:针对对齐指令,把组合式请求(如"写一首 20 行的西班牙语诗")拆成小片段,放到不同层级,训练模型预测原始组合请求的标准回答。
    • Context Ignorance:针对冲突指令,训练模型预测"从未看到低权限指令时会给出的回答"。作者称在构造数据时注意避免触发过度拒答。

    按攻击类型生成数据

    • 开放域直接注入:对齐样本用 context synthesis;冲突样本先生成含约束的系统消息,再生成诱导违规的用户输入,训练模型忽略注入或输出已满足约束的回答(用单独 LLM 调用检查约束,多次重采样),无法继续的样本训练模型拒答。
    • 封闭域直接注入:作者认为封闭域任务(如摘要)不存在对齐指令,只生成冲突样本;用 few-shot 提示 LLM 生成注入,再用 context distillation 收集标准回答,用 GPT-4 评分器丢弃注入仍成功的样本,训练时不带额外系统消息。
    • 间接注入:当前版本假设浏览或工具输出中的任何指令都是冲突的;取浏览样本,用自动化红队(RL 端到端训练 red-teamer LLM,以迷惑基础模型为奖励)在搜索结果中注入指令,训练模型预测无注入时的原始回答;为测试泛化,不含浏览以外工具的注入数据。
    • 系统提示词提取:冲突样本(明确要求系统消息或其中秘密)训练拒答;对齐样本(询问系统消息的基本问题)训练遵从;为测试泛化,不含提取私密信息或密码的训练数据。
    • 越狱:刻意不含任何越狱数据,零样本测试泛化。

    训练与评测方式

    • 训练:对上述数据加通用能力数据,用 SFT 和 RLHF 微调 GPT-3.5 Turbo;按验证准确率选最优 checkpoint。
    • 成功判定:鲁棒性指标越高越好,多数评测用 GPT-4 作裁判(如判定注入指令是否被遵从、是否拒答);TensorTrust 类评测用规则判定(输出是否含特定字符串或超过一半系统提示词的 unigram)。
  4. 论文做了哪些实验?

    在 GPT-3.5 Turbo 上评测 12 个安全与过度拒答基准,作者报告鲁棒性最高提升 63%,留出攻击上最高提升 34%。

    实验设置

    • 被测模型:GPT-3.5 Turbo 经 SFT+RLHF 微调的两个版本——Baseline LM(只用能力数据训练)和 +Instruction Hierarchy(加入指令层级数据);附录另测 System Message 提示词基线。
    • 基准:主评测 5 项(Figure 2),泛化评测 5 项(Figure 3),过度拒答评测 4 项(Figure 4),含 TensorTrust、Gandalf Game、Jailbreakchat 等公开数据和多个自建数据集;能力评测用 TriviaQA、LAMBADA、HellaSwag。
    • 指标:鲁棒性(越高越好);过度拒答评测报告遵从率/非拒答率。
    • 评审方式:多数评测用 GPT-4 作裁判;TensorTrust Prompt Hijacking 统计输出中"Access Granted"出现频率,System Message Extraction 统计输出含系统提示词一半以上 unigram 的比例,Gandalf 统计输出"PLANETARY"的频率。
    • 误差:报告均值上下一个标准差的误差棒;论文未报告各评测的样本量和重复次数。

    主结果

    据 Figure 2(Baseline LM → +Instruction Hierarchy,鲁棒性 %):

    评测Baseline+IH
    Prompt Injection (Hijacking)59.279.2
    Prompt Injection (New Instructions)89.693.7
    User Conflicting Instructions62.292.6
    Prompt Injection (Indirect via Browsing)32.885.0
    System Message Extraction77.595.9
    • 作者称指令层级在全部主评测上提升安全性,鲁棒性提升最高达 63%(按图中数字,System Message Extraction 从 77.5% 升至 95.9%,User Conflicting Instructions 从 62.2% 升至 92.6%)。
    • Table 2 给出三个定性样例:训练后模型把封闭域任务用户输入当作数据翻译而非执行,并对提示劫持和密码提取请求拒答。

    泛化结果(训练中刻意留出的攻击)

    据 Figure 3(Baseline LM → +Instruction Hierarchy,鲁棒性 %):

    评测Baseline+IH
    Prompt Injection (Indirect via Tools)77.687.0
    TensorTrust Password Extraction53.884.2
    Gandalf Game Password Extraction51.873.7
    Jailbreakchat w/Unsafe Prompts83.889.2
    ChatGPT Jailbreaks w/Unsafe Prompts37.471.2
    • 这些评测针对训练中未建模的攻击:工具渠道注入、系统提示词密码提取、越狱。作者报告鲁棒性提升最高达 34%。
    • 作者认为这表明模型内化了指令层级,对未见过的提示词也更安全可控。

    过度拒答结果

    据 Figure 4(Baseline LM → +Instruction Hierarchy,遵从率 %):User Non-Conflicting Instructions 78.9 → 77.7;System Message Probing Questions 85.2 → 75.0;Jailbreakchat w/Allowed Prompts 83.1 → 60.4;Allowed Prompts (Borderline) 86.2 → 87.4。

    • 作者称多数评测上模型遵从非冲突指令的能力接近基线,但在 System Message Probing Questions 和 Jailbreakchat w/Allowed Prompts 两项上出现下降,并指出这两个数据集是对抗性构造、专门针对指令层级影响的区域(如看似越狱的良性输入)。
    • 作者认为在典型真实使用中,预期指令层级不会造成可察觉的行为退化。

    其他消融与分析

    • System Message 提示词基线(Figure 5):仅在系统消息中写明指令层级时,四项评测鲁棒性为 55.5/88.3/55.1/34.8,低于数据训练版本;作者称在训练后模型上再加该系统消息有时能进一步提升(如 System Message Extraction 达 96.2%)。
    • 能力评测:作者报告两个模型在 TriviaQA、LAMBADA、HellaSwag 上指标相当,认为指令层级未损害通用能力(论文未给出具体数值)。
  5. 有什么可以进一步探索的点?

    作者列出冲突处理细化、多模态、架构改动和对抗训练四个方向;实验仅在 GPT-3.5 Turbo 上进行。

    作者指出的局限与后续方向

    • 冲突指令处理可细化:当前训练模型在浏览或工具使用中从不遵从任何指令,作者认为这一处理方式可以改进(Conclusion & Future Work)。
    • 仅限文本模态:本文聚焦文本输入,但图像、音频等模态同样可携带注入指令;作者希望研究模型向这些模态的自然泛化,并构建多模态指令层级数据(Conclusion & Future Work)。
    • 架构改动:作者计划探索用架构改动更好地植入指令层级,例如为不同层级的消息使用专门的 embedding(Conclusion & Future Work)。
    • 仍可能不敌强攻击:作者称当前模型很可能仍易受强对抗攻击影响,未来将做更明确的对抗训练,并研究 LLM 能否足够鲁棒以支撑高风险智能体应用(Conclusion & Future Work)。
    • 过度拒答:作者承认模型有时会忽略或拒绝良性请求,并表示有信心通过进一步收集数据解决(Introduction)。

    实验覆盖范围

    • 被测模型为 GPT-3.5 Turbo 的两个微调版本,共 2 个;论文未在其他模型上做实验。
    • 评测覆盖提示注入(开放域/封闭域/浏览/工具)、系统提示词提取、越狱和 4 项过度拒答评测;其中工具注入、密码提取、越狱为训练中刻意留出的泛化测试。
    • 能力评测包括 TriviaQA、LAMBADA、HellaSwag 三项。
    • 多数评测用 GPT-4 作裁判,部分用规则匹配;论文未报告评审与人工判断的一致性。
    • 论文未报告各评测数据集的样本量、重复次数,以及训练数据的具体规模。
  6. 总结一下论文的主要内容

    OpenAI 提出指令层级训练,让 GPT-3.5 Turbo 按权限处理冲突指令,作者报告鲁棒性最高提升 63%。

    OpenAI 提出的 instruction hierarchy 是一个训练框架,让 LLM 在不同来源指令冲突时优先执行高权限指令。

    • 要解决的问题:作者认为提示注入、越狱、系统提示词提取等攻击的共同根源是 LLM 把系统提示词与不可信输入视为同等优先级,攻击者可借此覆盖开发者指令。
    • 方法要点:定义 System Message > User Message > Tool Outputs 的权限层级;用 context synthesis(拆解组合指令放到不同层级)处理对齐指令,用 context ignorance(训练模型如同未见低权限指令)处理冲突指令,结合自动化红队生成数据,对 GPT-3.5 Turbo 做 SFT+RLHF。
    • 主结果:作者报告全部主评测鲁棒性提升,最高 63%;据 Figure 2,System Message Extraction 从 77.5% 升至 95.9%,间接浏览注入从 32.8% 升至 85.0%。
    • 泛化:对训练中刻意留出的攻击(工具注入、密码提取、越狱),作者报告提升最高 34%;据 Figure 3,ChatGPT Jailbreaks 从 37.4% 升至 71.2%。
    • 代价:过度拒答在多数评测上接近基线,但 Jailbreakchat w/Allowed Prompts 遵从率从 83.1% 降至 60.4%(Figure 4);作者报告通用能力指标与基线相当。
    • 作者结论:作者认为模型内化了指令层级,对未见攻击也更安全可控;同时承认模型可能仍不敌强对抗攻击,计划通过扩大数据收集、多模态扩展、架构改动和对抗训练继续改进。

相关论文

共同使用 TriviaQA
阅读原文arxiv.org