LLMs Lang Chain帮助LLMs进行推理和计划的思维链 Helping LLMs reason and plan with chain-of-thought
正如您所看到的,重要的是LLM能够通过应用程序必须采取的步骤来满足用户请求。不幸的是,对于涉及多个步骤或数学的问题,复杂的推理对LLM来说可能具有挑战性。即使在许多其他任务中表现出良好性能的大型模型中,这些问题也存在。
这里有一个例子,LLM在完成任务时遇到困难。您正在要求模型解决一个简单的多步数学问题,以确定自助餐厅在用一些苹果制作午餐后以及购买了一些苹果后还剩多少个苹果。您的提示包括一个类似的示例问题,完整的解决方案,以帮助模型通过单次推理理解任务。如果您愿意,可以在此处暂停视频片刻并自己解决问题。在处理提示后,模型生成了此处显示的完成,声明答案是27。然而,正如您解决问题时发现的那样,这个答案是不正确的。实际上,自助餐厅只剩下九个苹果。

研究人员一直在探索方法,以提高大型语言模型在推理任务上的性能,就像您刚才看到的那个任务。已经证明的一种策略是促使模型更像人类思考,将问题分解为步骤。我所说的“更像人类思考”是什么意思?好的,这是前面幻灯片上提示的单次示例问题。这里的任务是计算罗杰购买了一些新的网球后拥有多少个网球。
人类可能解决这个问题的一种方式是:
- 首先确定罗杰一开始有多少个网球。然后注意到罗杰买了两罐网球。
- 每罐包含三个网球,因此他总共有六个新的网球。
- 接下来,将这6个新的网球与原来的5个相加,总共有11个网球。
- 然后完成陈述答案。
这些中间计算构成了人类可能采取的推理步骤,而完整的步骤序列说明了解决问题的思路。要求模型模仿这种行为被称为“思维链提示”。它通过将中间推理步骤的系列包含在用于单次或少量推理的示例中来工作。通过以这种方式结构化示例,实际上是在教模型如何通过任务进行推理以达到解决方案。

这里是您几张幻灯片前看到的相同的苹果问题,现在被重新制作为一种思维链提示。罗杰购买网球的故事仍然被用作单次示例。但是这次,您在解决方案文本中包含了中间推理步骤。这些步骤基本上等同于人类可能采取的步骤,就像您刚才几分钟前看到的那样。然后,您将这个思维链提示发送给大型语言模型,该模型生成一个完成。请注意,该模型现在生成了一个更强大且透明的响应,解释了其推理步骤,其结构类似于单次示例。现在,模型正确确定剩下九个苹果。思考问题有助于模型得出正确答案。

需要注意的一件事是,虽然此处以紧凑的格式显示输入提示以节省空间,但完整的提示实际上包含在输出中。您可以使用思维链提示来帮助LLM改善其对除算术以外的其他类型问题的推理,例如物理学。
以下是一个简单的物理问题的示例,其中模型被要求确定黄金戒指是否会沉到游泳池的底部。此处作为单次示例包含的思维链提示显示了模型如何通过推理来解决这个问题,方法是推断黄金环由于比水轻而会浮在水面上。当您将这个提示传递给LLM时,它会生成一个结构类似的完成。模型正确识别出黄金的密度,这是它从培训数据中学到的,然后推理出黄金比水密度大得多,因此戒指会下沉。

思维链提示是一种强大的技术,可以提高模型推理问题的能力。尽管这可以大大提高模型的性能,但LLM的有限数学能力仍然可能会在您的任务需要精确计算时出现问题,例如计算电子商务网站上的销售总额、计算税收或应用折扣。在下一个视频中,您将探讨一种可以帮助您解决这个问题的技术,即让您的LLM与数学能力更强的程序进行交流。
Reference
https://www.coursera.org/learn/generative-ai-with-llms/lecture/2bQKl/helping-llms-reason-and-plan-with-chain-of-thought