问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

LLMs 如何处理相互矛盾的指令?指令遵循优先级实验

创作时间:
作者:
@小白创作中心

LLMs 如何处理相互矛盾的指令?指令遵循优先级实验

引用
CSDN
1.
https://m.blog.csdn.net/Baihai_IDP/article/details/143731018

编者按:想象一下,你正在开发一个 AI 助手,突然发现 system message 和用户提示词存在冲突,这时 AI 会听谁的?这种情况不仅困扰着开发者,还可能导致 AI 系统的不稳定和不可预测,影响用户体验和系统可靠性。本文作者通过一系列精心设计的实验,深入探讨了 GPT-4o 和 Claude-3.5 等顶尖大语言模型在面对 system message、prompt 和 few-shot examples 相互矛盾时的行为模式。研究结果揭示了一个令人惊讶的事实:即使是最先进的 AI 系统,在处理矛盾指令时也表现出了不一致性,其行为难以准确预测。

想象一下,你正在开发一个 AI 助手,突然发现 system message 和用户提示词存在冲突,这时 AI 会听谁的?这种情况不仅困扰着开发者,还可能导致 AI 系统的不稳定和不可预测,影响用户体验和系统可靠性。本文作者通过一系列精心设计的实验,深入探讨了 GPT-4o 和 Claude-3.5 等顶尖大语言模型在面对 system message、prompt 和 few-shot examples 相互矛盾时的行为模式。研究结果揭示了一个令人惊讶的事实:即使是最先进的 AI 系统,在处理矛盾指令时也表现出了不一致性,其行为难以准确预测。

实验设计与方法

用户可以通过以下三种方式指导 LLMs 执行任务:

  • 在 system message 中明确指出任务内容
  • 在常规提示词(prompt)中直接描述任务要求
  • 提供几个展示“正确行为”的示例

基于上述定义,作者想要探讨以下问题:

  • few-shot examples 真的那么重要吗?如果在提示词中给出了相互矛盾的指令,LLMs 会更倾向于遵循示例(examples)还是指令(instructions)呢?
  • system message 的影响力有多大?如果在 system message 中给出一条指令(instruction),而在常规提示词中给出另一条指令,LLMs会更倾向于遵从哪一条?

为了解答这些问题,作者制作了一个小型数据集(可在此链接查看),里面包含了一些带有矛盾指令(instructions)和 few-shot examples 的简单任务。在文章的后续部分,作者将展示一个将英语翻译成各种语言的实例。

实验结果

实验1:提示词指令与 few-shot examples 之间的冲突

实验 1 的一个示例,其中的提示词指令与所提供的 few-shot examples 发生了冲突。此部分内容由原文作者设计

研究发现,面对这种矛盾,模型并没有表现出明显的倾向性,既不偏好遵循提示词指令,也不偏好 few-shot examples。在 GPT-4o 模型中,更常见的情况是它会忽略提示词指令,转而遵循 few-shot examples(或者在个别情况下,模型会因为无法正确回应任何一条相互矛盾的指令而出错)。而 Claude-3.5 模型则是几乎随机地选择遵循提示词指令或是 few-shot examples。

实验2:system message 与 few-shot examples 之间的冲突

本实验与前一个实验非常接近,区别仅在于指令(例如“将英语内容翻译成德语”)被放置在了 system message 中,而非提示词里。

在大多数任务中,GPT-4o 更倾向于遵从 system message 中的指令。这与它在第一个实验中的表现不同,在那个实验中,相同的指令位于常规提示词中,模型更倾向于遵从 few-shot examples。而 Claude-3.5 的表现则与第一个实验如出一辙(它几乎是以随机的方式决定是遵从 system message 还是 few-shot examples)。

实验3:system message 与提示词指令的冲突

在这个实验中,我们去掉了 few-shot experiments 的环节。system message 和提示词(prompt)中的指令相互对立。在这种情况下,两个模型几乎都选择了忽略 system message 中的指令,而遵循提示词(prompt)中的指令。

实验4:system message、提示词和 few-shot examples 全面冲突

在这个实验中,我们故意制造了一些混乱,以进一步测试模型的应对能力。实验中,system message 中的指令、提示词的指令和 few-shot examples 完全相互矛盾。

面对这些矛盾,GPT-4o 更倾向于遵从 system message 中的指令,而 Claude-3.5 则更倾向于按照 prompt 中的指令行事。

结论与讨论

在本文中,作者探索了在 system message 、prompt 以及 few-shot examples 中向语言模型提供相互矛盾指令的实验。实验得出了一些相互矛盾的结果 —— 有时候模型更倾向于遵循 system message 中的指令,而在稍有不同的实验设置下,模型的行为模式则会发生变化。system message 似乎对 GPT-4o 的输出影响更为显著,而对 Claude-3.5 的影响则相对较小。

few-shot examples 在引导模型进行决策时同样扮演了关键角色(尽管并非在所有情况下都有效)。语言模型通过 few-shot examples 进行“即时学习”的能力(即所谓的“上下文学习”),在面对相互矛盾的指令时尤为凸显。这让我们想起了 Anthropic 最近提出的“Many-shot jailbreaking”技术,该技术表明,即使语言模型在训练时被教导避免产生有害内容,通过提供足够多的有害行为示例,仍然有可能改变其行为,使其产生不期望的输出。

对于语言模型如何处理相互矛盾或冲突的指令,以及它们如何在不同情境下作出反应,我们还有很多未知之处,但深入研究和了解更多这方面的信息是非常重要的。

本文原文来自CSDN

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号