🤵‍♂️ 个人主页:小李同学_LSH的主页

✍🏻 作者简介:LLM学习者
🐋 希望大家多多支持,我们一起进步!😄
如果文章对你有帮助的话,
欢迎评论 💬点赞👍🏻 收藏 📂加关注+

目录

零样本提示

少样本提示

Chain-of-Thought Prompting(CoT)

​编辑

零样本 COT 提示

自动思维链(Auto-CoT)


如果我们把大语言模型比作一个能力极强的“大脑”,那么提示 (Prompt) 就是我们与这个“大脑”沟通的语言。提示工程,就是研究如何设计出精准的提示,从而引导模型产生我们期望输出的回复。对于构建智能体而言,一个精心设计的提示能让智能体之间协作分工变得高效。

提示词可以包含以下任意要素:

  • 指令:想要模型执行的特定任务或指令。
  • 上下文:包含外部信息或额外的上下文信息,引导语言模型更好地响应。
  • 输入数据:用户输入的内容或问题。
  • 输出指示:指定输出的类型或格式。

根据我们给模型提供示例(Exemplar)的数量,提示可以分为三种类型。


零样本提示 (Zero-shot Prompting)

指的是我们不给模型任何示例,直接让它根据指令完成任务。

这得益于模型在海量数据上预训练后获得的强大泛化能力。

提示:

将文本分类为中性、负面或正面。文本:我认为这次假期还可以。情感:

输出:

中性

少样本提示

提示:

“whatpu”是坦桑尼亚的一种小型毛茸茸的动物。一个使用whatpu这个词的句子的例子是:我们在非洲旅行时看到了这些非常可爱的whatpus。“farduddle”是指快速跳上跳下。一个使用farduddle这个词的句子的例子是:

输出:

当我们赢得比赛时,我们都开始庆祝跳跃。

标准的少样本提示对许多任务都有效,但仍然不是一种完美的技术,特别是在处理更复杂的推理任务时。

Chain-of-Thought Prompting(CoT)

2022 年 Google 论文《Chain-of-Thought Prompting Elicits Reasoning in Large Language Models》中首次提出,通过让大模型逐步参与将一个复杂问题分解为一步一步的子问题并依次进行求解的过程可以显著提升大模型的性能。而这些推理的中间步骤就被称为思维链(Chain of Thought)

区别于传统的 Prompt 从输入直接到输出的映射 <input——>output> 的方式,CoT 完成了从输入到思维链再到输出的映射,即 <input——>reasoning chain——>output>。如果将使用 CoT 的 Prompt 进行分解,可以更加详细的观察到 CoT 的工作流程。

如图所示,一个完整的包含 CoT 的 Prompt 往往由指令(Instruction),逻辑依据(Rationale),示例(Exemplars)三部分组成。一般而言指令用于描述问题并且告知大模型的输出格式,逻辑依据即指 CoT 的中间推理过程,可以包含问题的解决方案、中间推理步骤以及与问题相关的任何外部知识,而示例则指以少样本的方式为大模型提供输入输出对的基本格式,每一个示例都包含:问题,推理过程与答案。

以是否包含示例为区分,可以将 CoT 分为 Zero-Shot-CoT 与 Few-Shot-CoT,在上图中,Zero-Shot-CoT 不添加示例而仅仅在指令中添加一行经典的“Let's think step by step”,就可以“唤醒”大模型的推理能力。而 Few-Shot-Cot 则在示例中详细描述了“解题步骤”,让大模型照猫画虎得到推理能力

提示:

这组数中的奇数加起来是偶数:4、8、9、15、12、2、1。A:将所有奇数相加(9、15、1)得到25。答案为False。这组数中的奇数加起来是偶数:15、32、5、13、82、7、1。A:

输出:

将所有奇数相加(15、5、13、7、1)得到41。答案为False。

作者声称这是足够大的语言模型才会出现的新兴能力

零样本 COT 提示

提示:

我去市场买了10个苹果。我给了邻居2个苹果和修理工2个苹果。然后我去买了5个苹果并吃了1个。我还剩下多少苹果?

输出:

11个苹果

答案是不正确的!现在让我们尝试使用特殊提示。

提示:

我去市场买了10个苹果。我给了邻居2个苹果和修理工2个苹果。然后我去买了5个苹果并吃了1个。我还剩下多少苹果?让我们逐步思考。

输出:

首先,您从10个苹果开始。您给了邻居和修理工各2个苹果,所以您还剩下6个苹果。然后您买了5个苹果,所以现在您有11个苹果。最后,您吃了1个苹果,所以您还剩下10个苹果。

令人印象深刻的是,这个简单的提示在这个任务中非常有效。

自动思维链(Auto-CoT)

当使用思维链提示时,这个过程需要手工制作有效且多样化的例子。这种手动工作可能会导致次优解决方案。

Auto-CoT 主要由两个阶段组成:

  • 阶段1:问题聚类:将给定问题划分为几个聚类
  • 阶段2:演示抽样:从每组数组中选择一个具有代表性的问题,并使用带有简单启发式的 Zero-Shot-CoT 生成其推理链

简单的启发式方法可以是问题的长度(例如,60 个 tokens)和理由的步骤数(例如,5 个推理步骤)。这鼓励模型使用简单而准确的演示。

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐