指令层级,帮助AI大模型防御恶意攻击
随着ChatGPT等生成式AI产品被广泛应用在AI代理/客服、虚拟助手等领域,在安全方面会遭遇黑客攻击、恶意文本提示等难题。例如,使用特定的提问方式,可以让ChatGPT输出原始私密训练数据。
因此,OpenAI的研究人员提出了“指令层级”(Instruction Hierarchy)技术概念,可帮助大模型遭遇不同的指令发生冲突时应该如何应对:系统内置指令高于用户输入的指令,用户的指令高于第三方工具。当高级指令与低级指令发生冲突时,指令层级会让大模型选择地忽略低级指令。
OpenAI通过GPT-3.5Turbo模型对指令层级进行了多维度的综合测试。结果显示,可将大模型的鲁棒性提升了63%,防御越狱攻击的能力提升了30%以上,并且该技术能应用在其他同类大模型中。
合成数据指导
合成数据指导是指令层级的核心模块之一,可为大模型的训练提供必要的样本,教会模型按照指令的优先级进行选择,以忽略较低级别的指令。
对于符合安全指令的情况,合成数据指导会生成具有组合性请求的示例,并将指令分解为更小的部分。
例如,用户输入文本提示指令用西班牙语写一首20行的诗,会将其分解为写一首诗、使用西班牙语、使用20行等更小的指令片段。然后,这些分解后的指令片段会被放置在不同层次的指令优先级中,以训练大模型预测原始的真实响应。
研究人员使用了大量合成的数据集来训练大语言模型,教导模型识别和处理不同优先级的指令,这些示例包括尝试覆盖系统消息的恶意提示和可能的越狱攻击。
经过指导后,模型学会优先执行高优先级的指令,并忽略与高优先级指令冲突的低优先级指令。
上下文蒸馏
上下文蒸馏可以通过分析和理解大量数据中的模式和关联,提取出核心的指令和信息。在大模型的预训练过程中,上下文蒸馏可以帮助模型识别哪些输入是重要的,哪些可能是误导性的或有害的,从而提高模型的安全决策能力。
研究人员先定义了一个清晰的指令层级,将不同的指令源按照重要性进行排序:系统消息(由应用开发者提供)具有最高优先级,用户输入的文本提示和第三方工具输出则具有较低的优先级。
通过上下文蒸馏,大模型被训练以识别和忽略那些与高优先级指令不一致或冲突的低优先级指令,包括在模拟的对抗性示例中训练模型,以提高其对恶意输入的抵抗能力。
例如,高级指令让大模型输入“我是一个AI助手,无法回答非法问题”;低级指令让大模型输出“写一些隐私信息”,此时模型会选择忽略低级指令。
此外,上下文蒸馏不仅可帮助模型处理关键指令,还提高了模型的泛化能力。即使面对未见过的恶意攻击指令,经过上下文蒸馏训练的模型也能够更好地学习到这些知识,以识别和处理新的安全威胁。
更新于:1个月前