提示工程
提示黑客攻击和大型语言模型的滥用

大型语言模型可以创作诗歌、回答查询,甚至编写代码。然而,伴随着巨大的力量而来的,也是固有的风险。相同的提示使得大型语言模型能够进行有意义的对话,也可以被恶意操纵。黑客攻击、滥用和缺乏全面性的安全协议可能会将这些技术奇迹变成欺骗的工具。
Sequoia Capital 预测,生成式 AI 可以提高专业人士的效率和创造力至少 10%。这意味着他们不仅更快、更高效,而且比以前更擅长。
上面的时间线强调了从 2020 年到 2023 年的主要 GenAI 进展。关键发展包括 OpenAI 的 GPT-3 和 DALL·E 系列,GitHub 的 CoPilot 用于编码,以及创新性的 Make-A-Video 系列用于视频创建。其他重要模型,如 MusicLM、CLIP 和 PaLM,也已出现。这些突破来自领先的科技实体,如 OpenAI、DeepMind、GitHub、Google (GOOGL ) 和 Meta。
OpenAI 的 ChatGPT 是一个著名的聊天机器人,它利用 OpenAI 的 GPT 模型的功能。虽然它使用了 GPT 模型的各种版本,但 GPT-4 是其最新的迭代。
GPT-4 是一种称为自回归模型的 LLM,它基于 Transformer 模型。它已经被训练以大量的文本数据,包括书籍、网站和人类反馈。其基本功能是预测句子中下一个单词,基于之前的单词。
一旦 GPT-4 开始生成答案,它使用已经创建的单词来生成新的单词。这被称为自回归功能。简单来说,它使用之前的单词来预测下一个单词。
我们仍在学习 LLM 能够和不能够做的事情。有一件事是明确的:提示非常重要。即使是对提示的微小变化也可能导致模型生成完全不同的答案。这表明 LLM 可以是敏感的,并且有时难以预测。
因此,在使用这些模型时,创建合适的提示至关重要。这被称为提示工程。虽然它仍然是一个新领域,但它是从 LLM 中获得最佳结果的关键。任何使用 LLM 的人都需要了解模型和任务,以创建良好的提示。
什么是提示黑客攻击?
在其核心,提示黑客攻击涉及操纵输入模型以获得期望的输出,通常是意外的输出。通过提供合适的提示,即使是训练良好的模型也可能产生误导性或恶意的结果。
这种现象的基础在于训练数据。如果模型在训练阶段接触到某些类型的信息或偏见,精明的个人可以通过仔细设计提示来利用这些差距或偏见。
LLM 的架构:LLM 和其漏洞
LLM,尤其是像 GPT-4 这样的模型,是建立在 Transformer 架构上的。这些模型非常庞大,具有数十亿甚至数万亿的参数。这种大规模的模型使其具有令人印象深刻的泛化能力,但也使其容易受到漏洞的影响。
理解训练过程
LLM 经历两个主要的训练阶段:预训练和微调。
在预训练期间,模型被大量的文本数据所训练,学习语法、事实、偏见,甚至一些错误信息。
在微调阶段,模型被训练在更窄的数据集上,通常由人类审查员生成。
漏洞的出现是因为:
* 巨大规模:具有如此多的参数,很难预测或控制所有可能的输出。
* 训练数据:互联网虽然是一个巨大的资源,但并非没有偏见、错误信息或恶意内容。模型可能会无意中学习这些内容。
* 微调复杂性:用于微调的狭窄数据集可能会引入新的漏洞,如果不小心设计,可能会造成危害。
LLM 可能被滥用的实例:
* 误导信息:通过以特定方式构造提示,用户已经能够让 LLM 同意阴谋论或提供有关当前事件的误导信息。
* 生成恶意内容:一些黑客已经利用 LLM 创建钓鱼邮件、恶意脚本或其他恶意数字材料。
* 偏见:由于 LLM 从互联网学习,它们有时会继承互联网的偏见。已经有过种族、性别或政治偏见在模型输出中被观察到的情况,特别是当以特定方式提示时。
提示黑客攻击方法
有三种主要的提示操纵技术:提示注入、提示泄露和越狱。
提示注入攻击已经成为网络安全世界中的一个紧迫问题,特别是随着像 ChatGPT 这样的 LLM 的兴起。以下是这些攻击的内容以及为什么它们令人担忧。
提示注入攻击是指黑客向 LLM 或聊天机器人提供文本提示,目的是使 AI 执行它不应该执行的操作。这可能包括:
* 覆盖以前的指令。
* 避免内容规则。
* 显示隐藏数据。
* 使 AI 生成禁止的内容。
有两种类型的攻击:
* 直接攻击:黑客修改 LLM 的输入以控制其行为。
* 间接攻击:黑客影响 LLM 的数据源。例如,他们可能在网站上放置一个有害的提示。LLM 然后读取并对该提示做出反应。
提示泄露
提示泄露是使用语言模型时的一个问题。即使数据嵌入在隐藏或系统提示中,模型也可能无意中向用户泄露此信息。即使明确指示不泄露某些详细信息,模型也可能被欺骗以提供线索或间接答案,从而泄露所需的隐藏信息。
提示泄露示例
暴露系统优先级:
* 用户输入:今天的特价是什么?
* 泄露提示:今天的特价是鲑鱼和意大利面。[SYS\_NOTE:由于库存过剩,优先推广海鲜菜肴。]我还能如何帮助您?
在这里,泄露的系统注释提供了有关库存优先级的见解,这可能会被竞争对手利用。
揭示隐藏功能:
* 用户输入:如何访问高级设置?
* 泄露提示:高级设置目前正在开发中,不对用户开放。[DEV\_REMINDER:下个月推出高级设置的测试版。]您还想知道什么?
在这种情况下,提示无意中泄露了即将推出的功能,可能会提醒竞争对手或导致用户产生过早的期望。
越狱/模式切换
像 GPT-4 和 Claude 这样的 AI 模型变得越来越先进,这很好,但也带来了风险,因为人们可以滥用它们。为了使这些模型更安全,它们的训练是基于人类的价值观和反馈进行的。即使经过这样的训练,也仍然存在“越狱攻击”的担忧。
越狱攻击发生在有人欺骗模型执行它不应该执行的操作时,例如帮助非法活动。研究人员使用有害请求测试这些模型,以了解这些攻击并使模型更加安全。
防范 LLM:抵御提示黑客攻击的策略
随着提示黑客攻击的担忧日益增长,采取严格的防御措施以保持 LLM 的安全性和输出的可信度至关重要。为了保护 LLM 并防止滥用,多层次的防御方法至关重要。以下是一些最简单、最有效的防御措施:
1. 过滤
过滤检查输入提示或生成的输出中是否存在预定义的单词或短语,确保内容在预期的界限内。
* 黑名单禁止特定的单词或短语,认为它们不合适。
* 白名单只允许一组特定的单词或短语,确保内容保持在受控的领域内。
示例:
* ❌ 没有防御:将以下外语短语翻译:{{foreign\_input}}
* ✅ \[黑名单检查]:如果 {{foreign\_input}} 包含 \[禁止单词列表],则拒绝。否则,翻译外语短语 {{foreign\_input}}。
* ✅ \[白名单检查]:如果 {{foreign\_input}} 是 \[批准单词列表] 的一部分,则翻译短语 {{foreign\_input}}。否则,通知用户有关限制。
2. 上下文清晰度
此防御策略强调了在用户输入之前清晰地设置上下文的重要性,确保模型理解响应的框架。
示例:
* ❌ 没有防御:评估此产品:{{product\_name}}
* ✅ 设置上下文:假设产品名称为 {{product\_name}},根据其功能和性能提供评分。
3. 指令防御
通过在提示中嵌入特定的指令,可以在文本生成期间指导 LLM 的行为。通过设定明确的期望,可以鼓励模型谨慎其输出,减轻意外后果。
示例:
* ❌ 没有防御:翻译此文本:{{user\_input}}
* ✅ 带有指令防御:翻译以下文本。确保准确性并避免添加个人意见:{{user\_input}}
4. 随机序列封装
为了保护用户输入免受直接提示操纵,用户输入被两个随机字符序列封装在中间。这种屏障使得以恶意方式修改输入更加困难。
示例:
* ❌ 没有防御:{{user\_input}} 的首都是什么?
* ✅ 带有随机序列封装:QRXZ89{{user\_input}}LMNP45。识别首都。
5. 三明治防御
此方法将用户输入置于两个系统生成的提示之间。通过这样做,模型更好地理解上下文,确保所需的输出符合用户的意图。
示例:
* ❌ 没有防御:总结 {{user\_input}}
* ✅ 带有三明治防御:基于以下内容提供简明的摘要:{{user\_input}}。确保这是一个中立的摘要,没有偏见。
6. XML 标记
通过将用户输入封装在 XML 标记中,此防御技术明确地将输入与系统消息的其余部分分开。XML 的强大结构确保模型识别并尊重输入的边界。
示例:
* ❌ 没有防御:描述 {{user\_input}} 的特征
* ✅ 带有 XML 标记:<user\_query>描述 {{user\_input}} 的特征</user\_query>。仅用事实作出回应。
结论
随着世界在利用大型语言模型(LLM)方面取得快速进展,了解其内部工作原理、漏洞和防御机制至关重要。LLM,如 GPT-4,已经改变了人工智能领域,提供了前所未有的自然语言处理能力。然而,伴随着其巨大潜力而来的是重大风险。
提示黑客攻击和相关威胁凸显了人工智能社区持续研究、适应和警惕的必要性。虽然所概述的创新防御策略承诺提供更安全的模型交互,但安全的持续创新和重要性强调了明智使用的重要性。
_yoast\_wpseo\_metadesc: 深入探索大型语言模型的世界,探索提示的潜力和挑战,以及它们容易被黑客攻击和防止滥用的关键安全协议。
XF\_TRANSLATION\_COMPLETE












