思维链提示词工程(Chain-of-Thought Prompting)

671 阅读6分钟

内容纲要

  1. 什么是提示工程?
  2. 零样本提示
  3. 少样本提示
  4. 主动提示
  5. 什么是思维链提示?
    1. 少样本思维链
    2. 零样本思维链
  6. 思维链能力何时出现?
  7. 如何进行思维链提示?
  8. 思维链提示的关键方面
    1. 自一致性
    2. 鲁棒性
    3. 敏感性
    4. 连贯性
  9. 思维链提示的类型
    1. 多模态CoT
    2. 从少到多提示
    3. 自动CoT
  10. CoT的应用
    1. 算术推理
    2. 常识推理
    3. 符号推理
    4. 问答
  11. 思维链(CoT)与其他方法的比较
    1. 思维链vs标准提示
      1. MAWPS基准测试的比较:
      2. 长度泛化任务的比较:
    2. 思维链vs思维树提示
    3. 赞过:
  12. 文章导航
    1. 发表回复 取消回复

思维链提示词工程

扩大大型语言模型(LLMs)的规模在情感分析和机器翻译方面已经显示出了良好的结果,即使没有提供任何示例。然而,它们在解决复杂的多步骤问题,如算术和常识推理方面却表现不佳。为了解决这个问题,LLMs可以针对特定任务进行微调,或者通过少量示例提示(few-shot prompting)来教授。然而,这两种方法都有其局限性。微调在创造高质量推理方面成本较高,而仅使用少量示例提示对于任务来说效果不够好。

思维链(Chain-of-Thought,简称CoT)提示可以同时解决这两个问题。在本文中,我们将探讨CoT提示以及如何实施它来提升您的业务技能。

什么是提示工程?

提示工程是一种编写结构良好、精心设计的提示的实践,这些提示能被生成性AI模型更好地理解。提示告诉大型语言模型(LLM)需要执行什么任务以及生成什么样的输出。它可以包含指令、上下文、输入数据和输出指标。通过使用提示工程,我们可以利用LLM来完成各种任务,从简单的问题回答到复杂的创意文本生成。它基于一种新兴属性——上下文学习,允许LLM从提示中学习。提示工程提高了LLM在手头任务上的表现。它使用了前文提到的零样本、少样本、主动和思维链提示等技术。

零样本提示

在零样本提示中,我们给大型语言模型(LLM)一个描述任务的提示,但这个提示本身并不提供任何任务的示例。然后,我们要求LLM针对这个提示生成一个回答。这种方法增强了LLM的灵活性和泛化能力。它可以用来在多个任务上训练LLM,而无需为每个任务收集训练数据。例如,ChatGPT可以在没有任何写诗示例的情况下,根据提示工程写出一首诗。然而,零样本提示在处理复杂任务时是有限的。

少样本提示

少样本提示可以通过提供示例来引导模型获得更好的表现。这是一种向大型语言模型提供少量期望输出示例的技术,除了主要提示之外还包括这些例子。这些示例帮助模型更好地理解任务,从而生成更准确、更有信息量的回答。我们应该向模型提供丰富多样的例子,而不是多个相似的例子。这样做可以确保模型尽可能多地学习关于任务的知识。标准的少样本提示对许多任务来说是一种不错的技术,但对于复杂的推理任务则不太可靠。因此,我们需要更高级的提示技术,比如思维链、主动提示和微调等。

主动提示

主动提示通过不断给予大型语言模型(LLM)反馈来提高它们在复杂任务上的表现。这种反馈可以帮助LLM从错误中学习,生成更准确、更有价值的回答。
主动提示的过程是这样的:首先给LLM一个提示和一些期望输出的例子。然后LLM生成一个回答。接着,人类评估者会评价这个回答,并就其准确性和信息量给出反馈。LLM再利用这些反馈来改进自己生成回答的能力。这个过程会不断重复,直到LLM能够生成足够准确和有价值的回答,让人类评估者满意为止。
主动提示对于思维链(CoT)提示特别重要,因为它可以:

  • 找出需要重点标注的问题
  • 减少人工标注的工作量
  • 提高CoT提示的准确性和信息量

下图展示了如何通过主动提示配合CoT来提升性能。这是一个包含四个阶段的过程:

  • 通过多次查询LLM来估计一个问题的不确定性
  • 通过排序选出最不确定的问题进行标注
  • 由人类评估者对这些问题进行详细反馈标注
  • 利用LLM生成答案,并使用标注阶段的反馈来提高新问题答案的质量

什么是思维链提示?

思维链提示是一种提示工程技术。通过这种技术,我们能让大型语言模型(LLM)输出一系列中间步骤,最终得出所需的答案。这种方法能提高LLM的推理能力。

思维链提示的好处有:

  • 让模型能专注于一次解决一个步骤,而不是一下子考虑整个问题。
  • 对于那些难以或无法一步解决的复杂问题特别有帮助。
  • 为我们提供了一个可解释的窗口,让我们能看到模型的行为。我们可以通过跟随模型采取的步骤序列,了解它是如何得出答案的。

总的来说,思维链提示让我们能更好地理解和控制LLM的思考过程,从而得到更准确、更可靠的结果。

思维链(CoT)提示可以用于参数量很大(大约1000亿个参数)的大型语言模型,适用于多种推理任务,包括数学应用题、常识推理和符号运算。

举个例子,在PaLM模型中使用CoT提示,而不是标准的少样本提示,显著提高了在GSM8K基准测试中的表现,
从17.9%提升到了58.1%。

有趣的是,对于足够大的语言模型来说,不需要特殊训练或微调,就可以轻松引出CoT推理过程。这个特点使得CoT提示成为一种可扩展且容易使用的技术。

简单来说,CoT提示就像是给模型一个"思考的框架",让它能像人类一样一步步推理,而不是直接给出答案。这种方法特别适合大型模型,因为它们有足够的"智力"来理解和执行这种复杂的思考过程。而且,因为不需要额外训练,任何人只要有权限使用这些大模型,就可以尝试CoT提示技术。

阅读完整文章请直接浏览原文:
robothackers.tech/2024/07/25/…