StruQ: Defending Against Prompt Injection with Structured Queries

2024年02月09日
  • 简介
    最近大型语言模型(LLM)的进展使得集成LLM的应用程序可以利用其先进的语言理解能力执行基于文本的任务。然而,随着LLM的改进,针对它们的攻击也随之增加。提示注入攻击是一种重要的威胁:它们会欺骗模型偏离原始应用程序的指令,而是遵循用户的指令。这些攻击依赖于LLM遵循指令的能力和无法区分提示和用户数据的能力。我们介绍了结构化查询,这是一种通用的方法来解决这个问题。结构化查询将提示和数据分为两个通道。我们实现了一个支持结构化查询的系统。该系统由(1)一个安全的前端,将提示和用户数据格式化为特殊格式,和(2)一个特别训练的LLM组成,可以从这些输入产生高质量的输出。LLM使用一种新的微调策略进行训练:我们将基础(非指令调整)LLM转换为结构化指令调整模型,该模型仅遵循查询的提示部分中的指令。为此,我们使用标准指令调整数据集增加了同时包含查询数据部分中的指令的示例,并微调模型以忽略这些示例。我们的系统显著提高了对提示注入攻击的抵抗力,对实用性几乎没有影响。我们的代码发布在https://github.com/Sizhe-Chen/PromptInjectionDefense。
  • 作者讲解
  • 图表
  • 解决问题
    解决问题:论文试图解决Prompt injection attacks对Large Language Models (LLMs)的影响,提出一种新的方法来提高LLMs的抵抗力。
  • 关键思路
    关键思路:论文提出了structured queries的方法,将prompt和data分开处理,使用fine-tuning策略将LLMs训练成instruction-tuned model,只遵循prompt中的指令,从而提高抵抗prompt injection attacks的能力。
  • 其它亮点
    其他亮点:论文实现了一个系统,包括安全前端和经过特殊训练的LLMs,用于支持structured queries。使用了新颖的fine-tuning策略,通过增加instruction tuning数据集的样本来训练模型,使其忽略data部分的指令。实验结果表明,该系统显著提高了LLMs对prompt injection attacks的抵抗力,对效用影响小。代码已在GitHub上开源。
  • 相关研究
    相关研究:最近的相关研究包括《Language Models are Few-Shot Learners》、《The Power of Scale for Parameter-Efficient Prompt Tuning》等。
许愿开讲
PDF
原文
点赞 收藏
向作者提问
NEW
分享到Link

提问交流

提交问题,平台邀请作者,轻松获得权威解答~

向作者提问