思维链激发:这就是我们让模型思考的方式。
当时我只是在玩chatGPT,当我尝试了以下提示时。
该模型对基本算术问题给出了错误的输出。这并不令人意外(至少对我来说),因为大型语言模型不是为解决算术问题而设计的。它们无法在需要准确或事实性答案的情况下信任。它们是设计成像人类一样与我们交谈的。然后我尝试了一种叫做少样本提示的技术。在这里,我们提供示例以教导模型如何回应。在我的实际问题之前,我添加了一个类似的数学问题和正确的答案。
仍然是错误的答案!好吧,我并不打算这么轻易地放弃。我打算教训一下这个模型(关于算术)。
Tadaa!现在模型知道该做什么了。我所做的只是给予模型足够的示例来解锁其完整的推理能力。这种少样本提示技术我们展示了特定提示和输出以及中间思维过程的链式思维提示。
思维链思维激励的主要概念是赋予大型语言模型一种类似人类思考的思维过程。当人类面临一个问题时,我们会将其分解为一系列小问题,并逐个解决这些问题,直到达到最终输出结果。如果使用少样本激励技术向大型语言模型提供示例,它们也可以做到同样的事情。
思维链激发具有以下优势:
- 当问题被分解为多个步骤时,每个步骤可以根据该步骤的复杂性进行足够的计算。因此重点将更多地放在重要的步骤上。
- 当模型输出思维过程时(如前面的例子所示),用户可以了解到黑盒模型的思考方式。这对于调试大型语言模型非常有益。
因此,这种方法可以应用于任何大型语言模型,并且可以用来解决人类可以使用语言解决的任何任务。
上述实验展示了展示一个例子如何解决一个新问题。但是思维链有助于模型的发展,还是给定的例子仅激活了模型的解决问题的能力?为了测试这一点,我进行了另一个实验,在回答后解释了步骤。
这里给出了错误的输出为23,而正确答案应该是80。
现在我要请求答案后的步骤,并且这次成功解决了问题,没有任何错误。
因此,当我们让模型解释步骤时,它会经过正确的步骤并给出正确的答案。
链式思维启发也可用于常识推理和逻辑运算。请参阅以下示例。
当我们向模型询问原因时,它经历了一系列思维过程。即使没有示例,模型仍会给出良好的推理和答案。尽管最初未能提供正确答案,但这一情况发生了。现在,我们可以看到符号推理的示例。符号推理意味着识别模式,这对于人类来说很容易,但对于大型语言模型来说可能很具挑战性。
在这里,我提供两种不同的例子是为了让模型思考更多。模型可以寻找任何模式,但是一个单一的模式可能限制了模型在给定模式之外思考的能力。
即时工程的重要性
迅捷的工程在语言模型中起着非常重要的作用。对于LLM用户来说,理解如何获取所需输出非常重要。虽然大型语言模型具备执行各种复杂任务的能力,但是将任务完成的责任在于用户引导模型。AI,尤其是生成式AI,并不是用来取代人类的,它是用来辅助人类的。在LLMs像乌鸦一样普遍存在的世界中,你需要学会如何启动它们,以便让你的生活变得更容易。在我所使用的例子中,我使用了少量的提示来引发思维链条。引发思维链条所使用的提示技术取决于用户。有以下几种方式可以启动思维链条。
在这里,用户能够在不使用少量样本提示的情况下启动思维链。LLM最终给出了正确的输出38。在幕后,在这篇文章中,我讨论了通过高效提示来启动大型语言模型中的思维链。让我们来看看在幕后发生了什么。模型的大小在思维链提示中扮演着重要的角色。通过模型的大小,我指的是参数的数量。参数较少的模型很可能在思维链过程中犯错。毫无疑问,较小的模型在算术运算方面较弱。它们无法理解提示中的语义并启动正确的思维链。较小模型常见的错误包括错误解释语义、缺少步骤或算术计算等。因此,在进行这类任务时,拥有人类观察是很重要的。
思路链引导非常高效,但是还有更好的方法,比如ReAct。再见,直到我深入探索这些概念。如果你喜欢这篇阅读,关注我获取更多令人兴奋的故事。