首页 > 科技周边 > 人工智能 > 经过思考链的提示:LLMS分步推理

经过思考链的提示:LLMS分步推理

Lisa Kudrow
发布: 2025-03-05 10:37:19
原创
767 人浏览过

大型语言模型(LLMS)使用称为自动性的技术生成文本,该技术涉及根据以前单词预测序列中最有可能的下一个单词。 LLM驱动的代理(例如ChatGpt)也经过微调以遵循用户意图。因此,他们不仅完成了输入序列,还可以在输入上捕获用户的意图并相应地生成一个响应。

如果您已经尝试了一段时间,我相信您已经意识到给定答案的

质量也取决于用户输入的质量,例如,代理人比其他返回的秘诀

最好的答案

是了解LLMS如何生成输出并相应地制定输入提示。应用于用户输入以利用模型的全部潜力的一组技术称为及时工程。 在本文中,我们将探讨最强大的及时工程技术之一:经过思考链(COT)提示。该技术涉及以一种方式构造提示,从而使模型更容易完成需要推理或解决问题的复杂任务。已经表明,如果没有COT,相同的模型无法提供正确的答案。 模型默认功能

尽管LLM的概括能力闻名,但模型功能取决于任务

。使用LLMS时,重要的是要考虑到每个模型都已在一个巨大但有限的数据库上进行了培训,并且已针对某些任务进行了优化。因此,尽管该模型可以在某些域中具有高度性能,但在其他域中可能会失败。

>

模型功能也取决于时间。就像在人类中一样,如果您给我5位数字的总和,则需要一些时间来思考和回答正确的答案。如果您急忙这样做,您可能会轻易地估计并在回应中失败。 

同样,如果我们给语言模型一个任务太复杂了,无法在计算其下一个令牌的时间内执行,则可能无法提供正确的答案。

> >类似于人类,这并不一定意味着该模型无法执行任务。 有一些时间或指导以推理问题,该模型仍然可以可靠地回答。 该模型的响应和生成所需的时间也可能受到各种因素的影响,例如该问题的特定措辞:

  • 如果提示为简短而简单,模型可能不会花费太多时间来生成下一个令牌。
  • >
  • 如果提示为>
  • 复杂
,该模型可能需要处理更多信息,然后才能生成接下来的令牌,这可能需要更长的时间。

经过思考链提示指南LLMS成功地解决了复杂的任务,既可以选择制定提示的方式并为模型提供所需的时间或步骤,以生成正确的答案。

什么是经过思考的提示?

> 经过思考链的提示是一种通过明确提示该模型在到达最终答案之前生成逐步的解释或推理过程的技术。此方法有助于模型分解问题,而不是跳过任何中间任务以避免推理失败。

> COT是有效的,因为它有助于集中LLM的注意力机制。推理过程的分解使模型一次将注意力集中在问题的一个部分上,从而最大程度地减少了通过同时处理过多信息而可能引起的错误风险。 

cot

的起源

Google的研究人员在2022年介绍了一篇题为“促使大语模型中引发推理的思想链”的论文中引入了经过思考的促进。这项研究强调了如何通过一系列中级推理步骤来指导模型如何显着提高其在数学上解决问题,逻辑问题,逻辑上的推理,和多数 - 多人 - 可求和问题的任务上的任务,并提高了其在任务上的执行。

让我们来看看提议的示例之一:

经过思考链的提示:LLMS分步推理

标准提示和COT提示之间的比较。在左侧,指示模型直接提供最终答案(标准提示)。在右侧,指示模型显示推理过程以获取最终答案(COT提示)。 正如我们可以观察到的那样,产生一系列思想(一系列中间推理步骤)有助于模型提供正确的答案。 >最初的作者将思想链称为导致最终输出的一系列中间自然语言推理步骤,将这种方法称为经过思考的提示。 >思想链如何提示工作?

>该过程始于制定提示,鼓励模型以分步的方式思考问题,从而生成中间步骤,而无需直接跳到最终答案。这可以使用不同的策略来完成:

#1。明确说明

给出明确的说明意味着将问题分解为用户提示本身。例如,使用诸如“首先,我们需要考虑……”之类的句子来提示该模型详细详细介绍其思维过程。

让我们看一下它!>

想象我的西班牙妈妈给​​我寄给我准备冷水的家庭食谱:

>假设我们有兴趣将所有与咖啡相关的单词翻译成英语,我们想将Chatgpt用于任务:
input_text = """
¡Preparar café Cold Brew es un proceso sencillo y refrescante!
Todo lo que necesitas son granos de café molido grueso y agua fría.
Comienza añadiendo el café molido a un recipiente o jarra grande.
Luego, vierte agua fría, asegurándote de que todos los granos de café
estén completamente sumergidos.
Remueve la mezcla suavemente para garantizar una saturación uniforme.
Cubre el recipiente y déjalo en remojo en el refrigerador durante al
menos 12 a 24 horas, dependiendo de la fuerza deseada.
"""
登录后复制

这是对此提示的响应:
prompt = f"""
Give me a numbered list of all coffee-related words in English from the text below:
Text: <{input_text}>
"""
response = chatgpt_call(prompt)
print(response)
登录后复制
>

经过思考链的提示:LLMS分步推理>如果我们要求模型立即执行此任务,我们可以看到它错误地执行了任务。它不仅输出了非相关的咖啡单词,而且还以西班牙语而不是用英语输出。

>

我们可以考虑此任务很复杂,因为它需要两个步骤:>

将文本从西班牙语翻译成英语。

    识别与咖啡相关的单词。
  1. 相反,该模型直接跳到识别与咖啡相关的单词的最终任务,缺少翻译步骤。通过将翻译指定为中间任务或在主要两个步骤中分解任务,我们可以将模型引导到正确的输出:
  2. >
包括上面的经营链会导致正确的答案:

prompt = f"""
Give me a numbered list of all coffee-related words in English from the text below:
The task requires the following actions:
1 - Translate the given text into English.
2 - List each coffee-related word from the English text.
Text: <{input_text}>
"""
response = chatgpt_call(prompt)
print(response)
登录后复制

您有兴趣使用其他LLM而不是ChatGpt或OpenAI API尝试此技术,如本文,“开发大型语言模型”课程适合您!

#2。隐式指令

有时,无需在提示中分解问题。东京大学与Google Research一起提出了一种改善LLM响应的好方法,其中包括在原始提示的结束时简单地添加“逐步思考”。 经过思考链的提示:LLMS分步推理这个简单的句子提示该模型大声推理,并仔细阅读所有必需的步骤以执行任务。

>让我们分析作者在原始论文中提出的一个例子之一:

>

标准提示与隐式COT指令的使用之间的比较

>。在左侧,该模型立即为问题提供了最终答案(零射击提示)和失败。在右边,该模型将使用隐式COT指令(COT提示)指示正确响应。 在第一个示例中,作者要求模型解决算术问题,但在此任务中失败了。

然后,通过将“逐步思考”附加到原始问题时,模型的原因大声并成功。

将这个简单的技巧应用于多丽丝数学数据集,作者发现该隐式指令将准确性从18%提高到79%! 如果您有兴趣,可以在“使用此简短提示来提高Chatgpt的结果”的情况下阅读有关此技术的更多信息。

#3。示例

>我们在上面的部分中使用了“零射”一词。

零射击是指模型执行任务的能力,而无需在该特定任务的示例中明确训练

。 

>它依赖于该模型对新任务和以前看不见的任务进行适当响应的能力。这意味着,当我们打开chatgpt的用户界面并立即提出问题时,我们正在做零射击的提示。

> >尽管如此,有一些方法可以显示模型我们要解决的几个类似任务的示例。根据提供的示例数量,提供一系列示例的示例被称为单发,很少射击

>一次性提示

>一次性提示涉及

显示模型一个示例,该示例类似于指导的目标任务。 例如,如果我们参考文章的第一个数字,我们可以观察到该模型可以生成思想链,这要归功于提示中提供的示例示例。 几次提示

很少的学习效果与单杆相同,但是

给出的示例数量较高,通常约为一百个。模型的性能随示例的数量线性增加。

Jason Wei和Denny Zhou等人研究了很少的射击提示。来自Google。这种方法对于需要更专业或特定于领域的知识的任务特别有用,在这种任务中,模型可能没有足够的背景知识来使用零射或一声提示执行任务。在新的或特殊数据的集合中,有时很少有射击提示是模型的小微调。 >请参阅更多一声示例,少量示例提示“通过及时的工程提高chatgpt性能”。

>几个射门cot提示

一击和很少的射击提示不是COT。但是,研究人员已经探索了几乎没有射击的学习与COT提示,称为“很少射击的COT提示”。在几个镜头中,该模型提供了一些问题的示例,以及他们的逐步解决方案,以指导其推理过程

>将少量的cot与其他技术(例如检索型发电或交互式查询)相结合,可以进一步增强模型的性能和可靠性。集成外部知识库,数据库或信息检索系统允许该模型通过事实和最新信息增强其推理。

实施实践促进链接

经过思考链的提示:LLMS分步推理

数学问题的迷宫

说明COT如何帮助模型浏览知识空间并解决复杂的任务。使用ChatGpt 4O图像生成的自我生成图像,并带有以下提示:“通过迷宫的数学问题想象语言模型代理”。 有多种方法可以在我们的提示中加入cot:

    结构化模板
  • :使用明确概述模型应采取的步骤的模板,如我们在咖啡示例中所见。请参阅《提示指南》文章中的更多及时模板和有条件提示的示例。> >
  • 互动提示
  • :将模型引入对话中,以提示每个步骤解释每个步骤或通过在每个步骤提供反馈或更正来指导模型的推理过程。这也被称为人类在环境中。
  • >反馈回路
  • :合并反馈机制,在必要时评估和完善模型的中间步骤。这也称为多阶段提示。>
  • >多个框架可以帮助您实施COT和其他及时的工程技术,但是Langchain是我的最爱。如果您有兴趣将Langchain用作LLM驱动项目的一部分,那么“使用Langchain开发LLM应用程序”课程是理想的起点。
促进链链的好处

经过思考的提示提供了一些好处,尤其是在提高复杂任务中语言模型的性能和可靠性方面。

#1。提高精度

通过将问题分解为较小,易于管理的步骤,该模型可以更准确地处理复杂的任务。中间步骤提供检查点,可以在其中捕获和纠正潜在错误,从而获得更准确的最终答案。

诸如数学问题,逻辑难题或多跳问题回答之类的任务的原因,从这种方法中受益,是因为

>他们已经自然需要多个推理的步骤

>。

#2。增强的解释性

>逐步推理过程是透明的,使用户可以理解该模型如何得出其结论。这种透明度建立了对模型输出的信任。

>

>>也可以帮助调试,因为用户可以更轻松地发现模型可能在其推理中出现问题的位置。

>限制和注意事项

当然,与任何技术一样,总是有一些不利的不利因素值得考虑:

模型依赖性

>重要的是要考虑COT是

模型依赖性技术。因此,COT的有效性在很大程度上取决于基本语言模型的能力。

提示生成

>制作有效的COT提示也可能具有挑战性。它需要仔细的设计,以确保提示通过推理过程正确指导模型。

>更新和维护提示针对不同类型的任务和域可能会很耗时,并且可能需要持续的细化。

性能

> COT提示对于没有明确的顺序推理过程的任务可能不那么有效。此外,如果没有额外的培训或适应,就可能无法很好地概括为全新或意外的问题

> ,因此保持最新的知识基础和合适的提示至关重要。 权衡

> cot提示通过提供分步说明来提高可解释性,但它也可能导致更长且更多的冗长输出

>,对于所有应用程序,这可能并不总是值得的。

> 结论 在本文中,我们已经看到了经过深思熟虑的促进链如何在增强大语言模型的推理能力以及其实施的一些实际示例方面取得了重大进步。 

是使用提示模板,交互式提示还是反馈循环,这些方法背后的想法是指导模型通过推理过程并利用其功能。 

此外,我们还探索了强大的技术,例如一次性和少量发动机,以进一步提高模型的性能,并可以与COT结合使用,以及我们无法忽略的好处和一些局限性。

>

考虑尝试在本文中讨论的技术来构建更可靠,更高性能的提示,并牢记:

提示工程可能会对您的输出产生重大影响!

>您可以通过DataCamp的课程了解有关及时工程的更多信息,了解及时的工程和CHATGPT迅速为开发人员提供工程。您还可以查看单独的指南,以提示工程认证,并找出最佳学习途径适合您。 

Chain-of-Thought Prompting FAQs

Can Chain-of-Thought Prompting be used for all types of questions?

While Chain-of-Thought Prompting is particularly effective for complex, multi-step reasoning tasks, it may not always be necessary for simpler questions that can be answered directly. It’s most beneficial for problems where a detailed, step-by-step process is also naturally required to reach the correct answer.

Can Chain-of-Thought prompting be used with any AI model?

Yes, for example, when training a robot to navigate a maze, the CoT approach can be used to break down the navigation into steps,例如识别当前位置,评估可能的路径并在最小障碍物中选择路径。

是想提示的链接有助于AI解释性吗? ​​

是,它可以帮助使用该模型的过程,并使用户更加跨度。这在医疗保健和财务等领域特别有价值,在这种领域中,了解AI决策背后的理由至关重要。

>经过经验链的提示和多个步骤的提示和多步骤链之间有什么区别?

以上是经过思考链的提示:LLMS分步推理的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板