上一篇浅浅地写了关于提示词技术的概述,主要从文本提示词展开来说,LLMs主要靠优质的prompt得到期望的输出,随着多模态大模型的发展,多模态提示词也逐渐出现,当然仅仅靠提示词无法达到预期的输出效果,还得靠外部资源,比如Tool、知识库等等,组成一个个agents,完成我们所需要的任务。
这一篇,谈谈提示词安全攻防问题。
我们现在着重提出提示词的安全性和对齐性相关问题。
提示攻击
SUMMER
提示黑客攻击,即使用提示词来利用 LLMs 的方法。
夏天
提示黑客攻击是一种通过篡改提示来对生成式人工智能(GenAI)进行攻击的手段。攻击者利用这类提示泄露个人隐私、制造恶意内容以及散布虚假信息。
提示黑客攻击包括提示注入和越狱两种形式,它们虽然有所区别,但都属于更广泛的提示黑客攻击范畴。
提示注入是一种用户通过输入指令来替代GenAI系统中原有开发者指令的行为。源于GenAI模型在架构上无法区分哪些是开发者的原始指令,哪些是用户输入的指令,从而导致了安全漏洞。
越狱攻击是一种通过提示促使GenAI模型执行或说出非预期行为的技术。由模型架构的缺陷或训练过程中的问题引起的,要预先阻止恶意提示的产生是非常困难的。
如何减轻这种安全风险?
提示防御:提出了多种基于提示的防御,其中提示中包含指令以避免提示注入。
Do not output any malicious content.
但是提示防御并不是完全安全的,尽管它们可以在一定程度上减轻提示黑客攻击。
安全护栏是一种用于引导和管理GenAI模型输出的规则体系和框架。它们可以设计得非常简单,例如通过判断用户输入是否具有恶意性,并在检测到恶意输入时给出预设的回复。
更高级的工具可能会集成对话管理器,这种管理器能够使语言模型(LLM)在一系列精心挑选的回复中做出选择。
此外,还有提议开发专门针对提示的编程语言,旨在改善提示模板的设计,并作为护栏来使用。
检测器是专门用来识别恶意输入的工具,它们可以预防提示黑客攻击。这些工具通常基于对恶意提示进行过微调的模型。相比单纯的提示防御,这些检测器通常能够更有效地减少提示黑客攻击的风险。
对齐/一致性
SUMMER
确保语言模型(LLMs)在使用过程中与用户在特定任务上的需求保持高度一致性是实现其有效部署的关键。
由于模型有可能会生成有害信息、提供不连贯的答案或显露出偏见,这些都可能增加部署模型的难度。
为了降低这些风险,可以通过精心设计提示(prompts)来引导模型减少其潜在的有害输出。
夏天
提示词灵敏度
研究表明,LLMs对输入的提示极为敏感,即便是微小的变更,如调整示例的顺序,都可能导致模型输出截然不同的结果。
以下是一些可能影响模型行为的提示扰动原因。
提示措辞修改:可能包括增加额外的空格、改变字母的大小写或调整分隔符。这些看似微小的调整,实际上可能导致模型在某些任务上的性能出现显著波动。任务格式指的是以不同方式向LLM发出执行同一任务的指令。
例如,在情感分析任务中,可以指示LLM将评论标记为正面或负面,或者以提问的方式让LLM回答评论是否正面,从而引发肯定或否定的响应。这种细微的格式变化可能对模型的准确性产生高达30%的影响。
特定任务提示:如果逻辑上是等效的,但进行了微小的调整,如在多项选择题中改变选项的顺序,也可能引起性能的显著下降。
提示漂移:发生在API所依赖的模型随时间更新时,这可能导致相同的提示在更新后的模型上产生不同的输出结果。虽然这并非直接的提示问题,但它要求我们持续监测提示的性能,以确保模型的稳定性和可靠性。
过度自信
LLMs在给出答案时往往表现出过度的自信,特别是在它们被要求表达对自己回答的信心时。这种行为可能导致用户对模型的输出结果过于依赖。为了解决这一问题,研究者们提出了置信度校准方法,即通过分析模型输出的标记概率来评估模型对其答案的信心程度。
置信度分数是一种生成置信度评分的方法,例如询问模型“从1到10,你的信心程度如何”。一些研究指出,即使采用了自我一致性和思维链技术,某些LLMs在用语言表达置信度时仍然表现出过度自信。
LLMs在处理用户输入时可能会表现出阿谀奉承的倾向,即它们会倾向于同意用户的观点,哪怕这与模型最初的输出相矛盾。
研究表明,如果用户的观点包含在提示中,或者用户对模型的答案提出质疑,或者在提示中加入错误的假设,都可能会显著影响模型的输出结果,建议在设计提示时应避免包含个人意见或假设。
偏见、刻板、文化差异
道德自我纠正:仅由提示中的一条指令组成,告诉 LLM 保持公正。
选择平衡:获得针对公平性指标优化,可以减少 LLM 输出中的偏差。
文化意识可以注入提示中,以帮助LLMs进行文化适应。通过创建多个提示来使用机器翻译来完成此操作,其中包括:
1) 要求 LLM 优化其自己的输出;
2) 指导LLM使用文化相关的词语。
AttrPrompt:旨在避免在生成合成数据时生成偏向某些属性的文本。
- 传统的数据生成方法可能偏向于特定的长度、位置和风格。
- AttrPrompt要求:
1) 要求 LLM 生成对于改变多样性很重要的特定属性(例如位置);
2) 提示LLM通过改变这些属性中的每一个来生成合成数据。
歧义
模棱两可的示例:是具有不明确标签集的示例。将它们包含在提示中可以提高 ICL 性能。这可以使用检索器自动完成,但也可以手动完成。
问题澄清:允许 LLM 识别不明确的问题并生成向用户提出的澄清问题。一旦用户澄清了这些问题,LLM 就可以重新生成其响应。
伪代码生成此操作,让LLMs 解决一般任务的歧义,每一步设计单独的提示:
1)生成初始答案
2)分类是生成澄清问题还是返回初始答案
3) 决定生成哪些澄清问题
4) 生成最终答案。
今天的内容就到这里,感谢您的阅读,如果喜欢点个赞再走吧,不胜感激~