今天读了一篇有意思的论文《Large Language Models as Analogical Reasoners 》,跟大家一起分享一下。
如果你对提示工程熟悉的话,一定听说过“思维链”(CoT,Chain of Thought),可以显著提升大语言模型(LLM)的推理能力。但使用 CoT 的时候,是需要我们需要提供相关的指导或推理示例来引导模型的。
常用的两种 CoT 方法是: “零示例 CoT(0-shot CoT)”“少示例 CoT(few-shot CoT)”,0-shot CoT 就是在Prompt里面明确给出推理步骤,让 LLM 参照步骤来完成推理。few-shot CoT 则是给出少量示例,让 LLM 参照示例来完成推理。
举例来说,现在有一道数学题:”有一个正方形,它的四个顶点分别是 (-2, 2),(2, -2),(-2, -6) 和 (-6, -2),求这个正方形的面积是多少?“
如果不用 CoT,那么就是直接将问题扔给 LLM,让它得出答案。这个问题对于 GPT-4 来说应该可以解出来,但是对于 GPT-3.5 来说有可能会出错,至于其他推理弱一些的模型来说出错概率就更大了。
如果用 0-shot CoT,那么就是在 Prompt 里面明确给出推理步骤,比如:
--------------
请按照以下步骤来计算:
1、先计算任意两个顶点的距离作为正方形边长
2、计算边长的平方得到正方形面积
--------------
按照这样的步骤,对于GPT-3.5这样的 LLM 来说应该能得到正确的结果。
如果用 few-shot CoT,那么就是给出少量示例,比如:
--------------
问:这里有一个正方形,它的四个顶点分别是 (0, 0),(1, 1),(0, 1) 和 (1, 0),求这个正方形的面积是多少?
答:我们从中选择任意两个顶点,比如 (0, 0) 和 (1, 1),计算它们的距离得到边长为1,然后对边长计算平方得到面积为1。
问:有一个正方形,它的四个顶点分别是 (-2, 2),(2, -2),(-2, -6) 和 (-6, -2),求这个正方形的面积是多少?
--------------
我们在Prompt里面明确给出一个示例,告诉LLM应该参考示例的步骤来做,这样对于GPT-3.5这样的 LLM 来说应该也能得到正确的结果。
那么什么是”类推提示法“呢?
想想我们上学的时候学数学,如果做这样的数学题,会思考有没有做过类似的题目,尤其对于我这样的小镇做题家,当年不知道做了多少卷子,到后面看到题目就能想起以前做过类似的题目,然后就能很快得出答案。
对于 LLM 来说,它对于知识的储备方面比人类还要强,在训练时已经积累了各种知识,各种案例,所以我们要做的就是要“激发” LLM 去找出与问题相关的知识和案例,然后用这些知识和案例来推理解决问题。
所以”类推提示法“,就是让 LLM 先不要着急解题,而是先列出若干个与问题相关的例子,然后借助这些例子来推理解决问题。这相当于让 LLM 帮你去写 few-shot,帮你生成思维链。Prompt 的结构如下:
--------------
初始问题:\<原始问题\>
相关问题:回想三个相关而独特的问题,并对每个问题及其解决方案进行描述。
解决初始问题:
--------------
让 LLM 在收到问题后,先回想三个相关而且独特的问题,并且列出每个问题和解决方案(最好包含步骤),并且一定要将中间过程打印出来。等 LLM 输出完这些相关例子后,再把原始问题打印一遍(防止遗忘),这样 LLM 就能用这些相关例子来推理解决原始问题了。
一个完整的使用类推提示法的Prompt参考:
--------------
你的任务是解数学题。当遇到一道数学题时,请你先回想一些相关的题目作为例子。然后,再去解决最开始的那个问题。
# 最开始的问题:
有一家航空公司为飞机上的每位乘客提供晚餐,乘客可以选择牛排或者鱼。六名机组人员中有三人可以选择牛排,三人可以选择鱼。如果食物是随机分配的,那么两名飞行员都拿到鱼的概率是多少呢?
# 操作指南:
你的答案中必须包含以下几点:
## 相关问题:
请你想出三个和最开始的问题相关的数学问题作为例子。注意,每个问题都应该和其它问题有所区别,包括和最开始的问题(比如,涉及不同的数字和名字)。每个问题都要按照以下的格式:
- “Q:” 后面写问题描述
- “A:” 后面写问题的解决方法,并把最终答案写在 \boxed 里。
## 解决最开始的问题:
说:“我们来解决下面这道数学题。” 然后按照以下的格式回答:
Q:把最开始的问题复制粘贴在这里。
A:解释解决方案,并把最终答案写在 \boxed 里。
--------------
参考聊天记录:https://t.co/LaiTfFYtHP
论文:Large Language Models as Analogical Reasoners
https://t.co/2S2t4kyG5V
中文翻译:大语言模型的类比推理能力[译]
https://t.co/IY7EBpCN1q
点击图片查看原图
点击图片查看原图
点击图片查看原图
点击图片查看原图