哈工大发布大模型思维链推理综述:200+文献全面解析大语言模型思维链推理最新进展
论文标题:
A Survey of Chain of Thought Reasoning: Advances, Frontiers and Future
https://arxiv.org/abs/2309.15402
https://github.com/zchuz/CoT-Reasoning-Survey
引言
思维链,一种通过逐步思考解决问题的方式,在解决复杂推理任务上展现出了惊人的性能,激起了人工智能和自然语言处理领域近年来的广泛研究和关注。
然而,目前缺乏一篇针对思维链及其变体的系统性归纳和总结。针对这一问题,本文对现有思维链相关研究进行了广泛调研,对思维链构造方法、思维链增强方法、思维链结构变体进行了归纳和总结,对思维链前沿应用做出了探讨并对思维链未来潜在研究方向进行展望。
为了与传统链式思维链进行区分,本文提出了泛思维链(X-of-Thought)的概念,其泛指基于思维链核心思想——逐步思考解决问题的方法和变体。在下文中所讨论的思维链均代指广义的泛思维链。
背景介绍
上下文学习(In-context Learning)通过在提示文本中添加输入-输出示例,通过少样本学习(Few-shot Learning)的方式让 LLM 模仿已有示例(demonstrations)解决新的问题。通过上下文学习,LLM 无需额外微调即可使用,并且还能取得不错的性能。尽管如此,其在面对复杂数学推理、常识推理等复杂推理任务时表现不佳。
思维链方法(包含思维链构造方法、思维链结构变体、思维链增强方法) 思维链前沿应用(包含工具使用、决策规划、思维链蒸馏——提高小模型推理能力) 未来研究展望(包含多模态思维链推理、可信思维链推理——减少幻觉、思维链理论研究)
4.1.1 手动思维链构造
示例中的推理链条完全由人工标注。
示例中的推理链条完全无需人工标注。具体来说,它分为 Zero-shot CoT 和 Auto CoT 两种方式。前者通过特定的提示文本激发模型在没有示例的情况下生成推理链条;后者则是使用前者零样本生成的推理链条,并结合示例选择策略,通过少样本学习的方式生成推理链条。
示例中的推理链条少量由人工标注。具体来说,人工标注少量推理链条作为“种子样例”,基于这些种子样例进行拓展得到大量的推理链条,之后通过示例选择通过少样本学习的方式生成推理链条。
链式结构变体主要针对中间推理过程的形式进行修改。
链式结构的思维链限制了探索的广度,一些方法显式地构造了树并引入了树搜索算法。结合树结构和树搜索算法可以对不同的推理路径进行探索,并且引入了回溯、自我评估、剪枝的操作,在复杂任务及规划任务上取得优秀表现(Tree-of-Thought)。此外有方法在中间步骤中额外引入了不确定性评估,一定程度缓解了由不确定性带来的推理级联错误(Tree-of-Uncertain-Thought)。
有些方法通过树结构加快推理速度,通过将问题分解成可以平行解决的子问题并行解码,但这种方法仅限于解决简单任务,无法处理复杂推理任务(Skeleton-of-Thought)。
图结构相较于树引入了更复杂的拓扑结构。Graph-of-Thought 在推理中通过环结构引入了自我修复,并根据图拓扑结构引入了信息聚合,在处理复杂任务时有着更较优秀有的表现,但是其面临着和树结构变体类似的问题,阻碍了它的广泛应用。
4.3 思维链增强方法
一个简单的思路是对推理步骤进行校验,例如通过演绎推理检验前后推理的一致性(Verify-CoT)、对每一个推理步骤进行细粒度的校验(DIVERSE)。
事实性错误通常通过引入知识进行缓解,具体来说分为外源知识和内源知识。对于内源知识,模型在回答问题前,首先通过提示指令获取模型内部的知识,并基于这些知识进行推理(SCREWS、Chain-of-Verification、Crystal、Step-Back Prompting),外源知识的引入将会在后续章节中介绍。
模型直接回答复杂问题是十分具有挑战性的,而回答简单问题则得心应手。因此将问题分解成子问题显式地一步步解决是一类有效的方法。
Least-to-Most 使用了自顶向下的问题分解策略,首先将问题一次性分解成若干子问题,之后逐个解决从而得到最终的答案;Successive Prompting 采取了一种迭代分解策略,每轮迭代分解一个子问题并解答,并使用其促进后续的问题分解和回答;Decomposed Prompting 采取模块化设计,对不同类型的子问题设计专属模块负责解答,提高了子问题解答的准确性。
模型内部存储的知识在预训练结束后便会定格,无法获取新的知识,导致知识的匮乏和过时。从维基百科、知识库、词典等途径引入外源知识,能够一定程度缓解这个问题。
由于语言模型是基于概率采样的,在生成文本时会具有一定的随机性,通过多次采样并对采样结果进行集成,可以有效地缓解这个现象,并显著提高推理的性能。
思维链前沿应用
5.1 工具使用
虽然大模型具有非常强大的知识水平,其依然缺乏对于时效性内容以及领域外知识的更新能力,并且语言模型在数学计算、符号推理上也较为薄弱,在遇到这些问题时往往会产生幻觉现象。
为此,许多方法探究如何使用外部工具对 LLM 进行增强,通过提示或微调等方式引入使用工具(调用 API)的能力。网页和知识库检索能够让模型获取最新的外部知识,数学计算器与程序执行可以用以处理更为复杂的计算问题,调用其他模型能够获得其他模态(图像、视频、语音)的理解以及生成能力,甚至是与外部环境进行感知与交互,实现具身智能。
思维链提供了一种将问题分解为链式子问题的形式,从而处理较为复杂的问题。然而,对于更为复杂的任务,链式的分解形式并不充分。在前文中,我们介绍了将链式推理拓展到树结构、图结构等形式的工作。
除此之外,LLM+P,LLM+DP 等工作将问题分解为规划领域定义语言(Planning Domain Definition Language, PDDL)的形式,通过外部模块对过程进行规划调度,最终再转换回自然语言形式用 LLM 进行处理。这些方式都提供了更为灵活的分解以及调度过程,增强模型的规划能力。
在长期规划中,模型产生的错误会进行累积。并且在执行过程中可能会遇到计划外的错误,不断进行重试也无法得到正确的结果。因此需要提高模型在推理过程中对错误处理、总结,以及对计划更新的能力。Self-Refine 能够让模型对结果进行自我反馈以及优化,而 Reflexion 在此基础上加入长短期记忆,根据历史经验进行决策。AdaPlanner 等工作则能够根据环境反馈优化规划过程,提高灵活性。
思维链被视为大模型的一种涌现能力,然而,这种能力在一些规模较小的模型上并不是很显著,限制了小模型在推理时的表现。
当模型具备一定的思维链能力时,可以通过自监督与自我迭代的方法对推理能力进行强化,例如 LMSI,STaR 等。
但大多数情况下,小模型的思维链能力较弱,难以输出可靠的推理过程进行自我蒸馏。此时需要依靠具有较强思维链能力的大模型输出推理链条,再蒸馏给小模型,从而让小模型也获得一定的推理能力。一般来说,蒸馏时需要对数据进行筛选,有答案标签的情况下可以通过标注筛选出结果正确的推理过程,而在没有标注时也能通过 self-consistency 等方式投票得出较为可靠的答案。
除了推理结果的正确性外,推理过程的多样性对于蒸馏的效果也非常重要。SCoTD 发现针对每个样本采样多种推理路径能提高小模型的推理性能,SCOTT 通过对比解码和反事实推理等方式进一步提升思维链质量,缓解小模型学习到推理过程“捷径”的问题。
思维链的形式也会影响小模型的学习效果。DialCoT 将思维链过程拆解为多轮对话的形式,简化小模型的学习难度。MWPCoT 和 PlanningToken 等工作则在数学推理过程中引入高层次的信息表示,提高模型在推理过程中的一致性以及在不同问题上的泛化性。
6.3 思维链理论
相关推理基准和数据集
常用的推理数据集和基准包含:
数学推理:数学推理通常用来衡量模型的推理能力。
常识推理:常识推理是根据日常生活中普遍知晓和普遍感知的知识进行推理、判断和理解的过程。
符号推理:本文中符号推理特指对简单操作的模拟,这些操作对于人类而言十分简单,但对于语言模型而言则极具挑战性。
逻辑推理:逻辑推理分为演绎推理、归纳推理和归纳推理。演绎推理是从一般前提得出结论的,归纳推理从特例中推导出一般结论,溯因推理对观察到的现象给出合理的解释。
多模态推理:在现实世界中除文本以外还包含众多其他模态的信息,其中以视觉模态最为普遍。图文多模态推理需要结合图文回答问题。视频多模态推理引入了时间维度,相较于图文多模态推理更具挑战性。
总结
更多阅读
#投 稿 通 道#
让你的文字被更多人看到
如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。
总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。
PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读,也可以是学术热点剖析、科研心得或竞赛经验讲解等。我们的目的只有一个,让知识真正流动起来。
📝 稿件基本要求:
• 文章确系个人原创作品,未曾在公开渠道发表,如为其他平台已发表或待发表的文章,请明确标注
• 稿件建议以 markdown 格式撰写,文中配图以附件形式发送,要求图片清晰,无版权问题
• PaperWeekly 尊重原作者署名权,并将为每篇被采纳的原创首发稿件,提供业内具有竞争力稿酬,具体依据文章阅读量和文章质量阶梯制结算
📬 投稿通道:
• 投稿邮箱:[email protected]
• 来稿请备注即时联系方式(微信),以便我们在稿件选用的第一时间联系作者
• 您也可以直接添加小编微信(pwbot02)快速投稿,备注:姓名-投稿
△长按添加PaperWeekly小编
🔍
现在,在「知乎」也能找到我们了
进入知乎首页搜索「PaperWeekly」
点击「关注」订阅我们的专栏吧
微信扫码关注该文公众号作者