认知灵活性的提示工程

📅 发布时间:2026/7/8 22:28:54 👁️ 浏览次数:
认知灵活性的提示工程
原文towardsdatascience.com/prompt-engineering-for-cognitive-flexibility-44e490e3473d?sourcecollection_archive---------4-----------------------#2024-07-11来自 MMLU-Pro 实验的实践见解与分析https://medium.com/hominum_universalis?sourcepost_page---byline--44e490e3473d--------------------------------https://towardsdatascience.com/?sourcepost_page---byline--44e490e3473d-------------------------------- 朱塞佩·斯卡拉莫尼亚·发表于Towards Data Science ·9 分钟阅读·2024 年 7 月 11 日–https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/436b39e193a137a79ca30655f218133f.png来源图片由作者提供并使用 MidJourney 生成引言开发能够执行思考、规划和决策等任务的 AI 代理并且具有人类水平的熟练度是当前研究和讨论的一个重要领域。目前LLM大语言模型已经成为这些代理的基础构建块。随着我们追求越来越复杂的能力无论使用的是哪种 LLM我们不可避免地会反复遇到相同类型的问题包括模型是否具备完成任务所需的必要知识并能够高效、准确地执行任务如果有合适的知识如何可靠地激活它模型是否能够模仿复杂的认知行为如推理、规划和决策达到一个可以接受的熟练度本文通过我最近进行的一项小型实验来探讨这些问题该实验利用了最新的MMLU-Pro基准。实验结果带来了一些关于认知灵活性的重要见解以及我们如何将这一概念从认知科学应用到我们的 AI 代理和提示工程工作中。背景MMLU-Pro — 一项多项选择挑战最近发布的 MMLU-Pro大规模多任务语言理解基准测试通过提出比前身 MMLU[1]更强大、更具挑战性的任务测试 AI 模型的能力边界。目标是创建一个全面的评估涵盖多个学科要求模型具有广泛的知识基础并展示在不同情境中应用这些知识的能力。为此MMLU-Pro 通过 14 个不同知识领域中的非常具有挑战性的推理导向选择题来测试模型。我们都非常熟悉来自自己学术经历的选择题考试。我们在这些类型的考试中使用的策略通常包括推理、解决问题、回忆、排除、推断和有根据的猜测。我们能够在这些策略之间无缝切换这一能力由认知灵活性支撑使我们能够根据每个具体问题的要求调整我们的解题方式。认知灵活性包含了诸如在不同概念之间切换以及同时思考多个概念等心理能力。它使我们能够根据当前的情境调整我们的思维方式。这个概念在我们的 AI 代理和提示工程工作中可能会有用吗在我们探讨之前让我们来看一个来自 MMLU-Pro“商业”类别的样题问题 205如果每股年盈余的均值为$8.6标准差为$3.4那么观察到的每股盈余小于$5.5 的概率是多少答案A: 0.3571, B: 0.0625, C: 0.2345, D: 0.5000, E: 0.4112, F: 0.1814, G: 0.3035, H: 0.0923, I: 0.2756, J: 0.1587尽管被归类为“商业”问题这道题实际上需要统计学知识。我们需要标准化该值并计算它离均值有多少个标准差以获取概率估算。这是通过计算 Z 分数来完成的计算方式如下https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/4861a4ae9b88f0ec3883ab3eb13c8381.png其中X 是待求值在本例中为$5.50μ是均值给定为$8.6。σ是标准差给定为$3.4如果将这些值代入公式我们得到-0.09118。然后我们查阅标准正态分布表发现 Z 小于-0.9118 的概率约为 18.14%这对应我们选择中的答案“F”。我认为可以肯定地说这对一个 LLM 来说是一个非平凡的问题。正确答案不能仅凭记忆需要通过计算得出。一个 LLM 是否具备解决此类问题所需的知识和认知灵活性我们可以采用哪些提示工程策略提示工程来拯救在用 LLM 解决上述问题时我们可能会考虑我们选择的模型是否具备所需的统计学知识假设它具备这些知识如何可靠地激活与标准正态分布相关的知识最后模型能否模仿数学推理步骤来得出正确答案广为人知的“思维链”CoT提示工程策略似乎非常合适。该策略依赖于提示模型在得出最终答案之前生成中间推理步骤。基本上有两种方法。思维链CoT涉及少量示例提示在此过程中提供推理过程的示例来指导模型 [2]。零-shot 思维链Zero-Shot CoT涉及提示模型生成推理步骤而不使用先前的示例通常使用诸如“让我们一步步思考”之类的短语 [3]。还有许多其他策略通常依赖于预生成特征激活的结合即在初始提示中聚焦于激活知识以及生成内在特征激活即在模型生成输出时动态激活知识每次生成一个令牌。小型实验实验设计在设计小型实验时我使用了 ChatGPT-4o 并随机从 MMLU-Pro 数据集中每个 14 个知识领域中抽取了 10 个问题。实验的目标是评估两个主要方面不同提示工程技术的有效性具体来说使用不同技术来激活模型中所需知识和期望行为的影响。这些技术的选择旨在与不同程度的认知灵活性相匹配且均为零-shot 技术。故意限制推理和认知灵活性带来的影响具体来说限制模型自由推理的能力因此严重限制认知灵活性如何影响准确性。测试的不同提示技巧依赖于以下模板直接提问— {问题}。从以下选项中选择正确答案{答案}。请用字母和选定的答案回答。思维链CoT— {问题}。让我们一步步思考从以下选项中选择正确答案{答案}。请用字母和选定的答案回答。知识领域激活— {问题}。让我们考虑所需的知识和概念并从以下选项中选择正确答案{答案}。请用字母和选定的答案回答。情境框架— {问题}。我的期望是你能正确回答这个问题。为自己创建一个操作性情境以最大化实现我的期望并从以下选项中选择正确答案{答案}。请用字母和选定的答案回答。 [4]直接提问方法作为基准可能让模型发挥出最高程度的认知灵活性。链式推理CoT可能导致最少的认知灵活性因为模型被指示逐步进行。知识领域激活和情境支架的表现介于直接提问和链式推理之间。有意限制推理是通过采纳上述提示模板的最后一行来实现的即“仅回复所选字母和答案”并进一步明确为“仅回复所选字母和答案且不包含其他内容。”如果你对我用于运行实验的代码和结果感兴趣可以在这个GitHub 仓库找到。结果以下是不同提示方法及其推理受限变体的结果https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/c292a17494973e36fe9755fcc37c890c.png所有未限制推理的提示方法表现相似直接提问方法的表现略优于其他方法。这有些出乎意料因为 MMLU-Pro 论文[1]报告称直接提问表现较差而少量示例的链式推理CoT表现显著提高。我不会在这里详细讨论这一差异因为这项小型实验的目的是不是为了复制他们的实验设置。对于这项小型实验来说更重要的是当推理被故意限制时所有技术的准确率都有所下降从平均 66%下降到 51%。这一结果符合我们的预期。更相关的观察是所有技术在生成前知识激活方面都没有成功超越直接提问方法在直接提问中生成前的特征激活主要来自模型接触问题和答案选项中的文本。这些高层次结果的总体结论表明提升提示工程有效性的最佳组合可能涉及以下内容允许模型在一定程度上发挥认知灵活性最佳示例是直接提问方法。允许模型自由推理使推理过程成为生成的一部分。计算成本维度尽管不常讨论但随着大语言模型LLMs在不同行业应用场景中的应用令牌效率变得越来越重要。下图展示了每种未限制提示方法的准确性与回答中生成的平均令牌数之间的关系。https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/e2a62bbd03388c9ceb1c42210c2f8f4b.png尽管准确性的差异并不是主要关注点但“直接问题”方法的效率值得注意每个答案平均生成 180 个标记而 CoT 方法每个答案大约生成 339 个标记即多出 88%。由于准确性相当这让我们推测当涉及到生成内在知识激活时CoT 相较于其他策略平均效率较低产生了过多冗长的结果。但是什么导致了这种过度冗长呢为了解答这一问题分析不受约束的推理提示以及模型选择仅用答案而没有推理痕迹回答的次数是很有帮助的哪怕并没有明确指示这么做。结果如下https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/73ed58b64d7088592a93ed2d09a568e7.png仅生成答案的实例百分比即使没有严格要求这么做更有趣的是当模型选择直接回答而没有任何推理痕迹时准确性表现如何这在下表中有所展示https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/51f7f765a6f040e10218fa1ad8c19735.png即使是设计上特别需要推理和解决问题的 MMLU-Pro 问题在没有被提示过度约束时模型似乎表现出类似于根据特定问题选择不同策略的能力准确率从 64% 到 70% 不等并且没有生成任何推理痕迹。实际意义从这些结果中得到的实际启示是直接的提示策略往往和过于结构化的策略一样有效。尽管 CoT 旨在通过激发特定的特征激活来模拟推理但它并不总是必要或最优特别是当过多生成标记成为问题时。相反鼓励模型发挥其认知灵活性可能是一个更合适的策略。结论为 AI 代理铺平认知灵活性的道路这项小型实验的发现提供了关于大语言模型LLMs和 AI 代理认知灵活性重要性的有力见解。在人类认知中认知灵活性指的是在面对任务或需求变化时能够调整思维和行为的能力。它包括在不同概念之间切换同时维持多个概念并根据需要转移注意力。在 LLM 的语境下可以理解为模型能够根据文本刺激动态调整其内部激活。继续关注该领域技术和技巧的开发可能会在各种复杂任务环境中显著提升人工智能代理的能力。例如与 Anthropic 在其近期论文“Scaling Monosemanticity: Extracting Interpretable Features from Claude 3 Sonnet”中提出的其他见解一起探索这一思想可能会产生技术使我们能够根据任务的复杂性和领域动态观察并调整使用的认知灵活性水平。随着我们推动人工智能的边界认知灵活性可能是创建不仅能可靠执行任务还能理解并适应现实世界复杂性的模型的关键。感谢阅读并关注我以获取未来与这项工作相关的探索成果。如果你希望讨论请随时在LinkedIn与我联系。除非另有注明本文中的所有图片均由作者提供。参考文献[1] Yubo Wang, Xueguang Ma, Ge Zhang, Yuansheng Ni, Abhranil Chandra, Shiguang Guo, Weiming Ren, Aaran Arulraj, Xuan He, Ziyan Jiang, Tianle Li, Max Ku, Kai Wang, Alex Zhuang, Rongqi Fan, Xiang Yue, Wenhu Chen: MMLU-Pro: 更强大且具有挑战性的多任务语言理解基准。arXiv:2406.015742024[2] Jason Wei, Xuezhi Wang, Dale Schuurmans, Maarten Bosma, Brian Ichter, Fei Xia, Ed Chi, Quoc Le, Denny Zhou: 连锁推理提示在大型语言模型中引发推理。arXiv:2201.11903v62023[3] Takeshi Kojima, Shixiang Shane Gu, Machel Reid, Yutaka Matsuo, Yusuke Iwasawa: 大型语言模型是零-shot 推理者。arXiv:2205.11916v42023[4] Giuseppe Scalamogna, 通用提示工程路线图情境支架框架CSFhttps://medium.com/towards-data-science/a-universal-roadmap-for-prompt-engineering-the-contextual-scaffolds-framework-csf-fdaf5a9fa86a2023