地址:https://arxiv.org/html/2404.15676v1
一些论文合集:https://github.com/atfortes/Awesome-LLM-Reasoning
背景
思维链 (Chain-of-Thought,CoT) 是一种被广泛采用的提示方法,它激发了大型语言模型 (LLMs) 令人印象深刻的推理能力。受 CoT 顺序思维结构的启发,已经开发了许多 Chain-of-X (CoX) 方法,本文是对CoX方法的系统梳理。
Chain-of-Thought 思维链
CoT 提示是一种大幅增强LLMs推理能力的方法。CoT 由 Wei et al. ( 2022) 引入,以<输入、思想、输出>的结构化格式进行提示,其中"T"包括导致最终答案的连贯和中间自然语言推理步骤 。CoT 的有效性在需要复杂推理的任务中最为明显。CoT 的本质在于其通过将复杂问题分解为可管理的中间步骤来解决复杂问题的策略,增强其处理复杂问题的能力,例如涉及算术、常识和符号推理的问题 。
CoT 提示也分为few-shot和zero-shot
如:zero-shot CoT by prompting "Let's think step by step."
Chain-of-X X链
将 CoX 定义为 CoT 方法的泛化,用于推理之外LLM的各种任务。我们将 CoX 中的 X 称为链结构的"节点"。CoX 的理念是构建一系列与问题相关的组件,这些组件要么以组合方式为解决方案做出贡献,要么以迭代方式优化复杂任务的输出。
除了 CoT 提示中的思想之外,CoX 中的 X 还可以采用针对特定任务量身定制的各种形式,简单可以分为下图几种类型:
各个分类及本文脉络如下:
介绍
Chain-of-Intermediates
CoT 的自然演变涉及用其他类型的中间组件(即中间链)替换思维推理。进一步将它们分为以下亚型。
Problem Decomposition 问题分解
在问题分解中,中间步骤由从原始复杂问题派生的可管理子任务组成。这种方法以经典的思维链提示为例 。
Li et al. ( 2023a) 进一步扩展了这一点,引入了代码链,它将任务细分为编程子任务,通过模拟代码输出增强推理过程。
同样,Wang 等人 ( 2024) 开发了表链框架。该框架通过一系列战略操作将复杂的表格重组为特定于问题的格式,使数据更易于访问并针对查询进行定制。
此外,Servantez 等人 ( 2024) 引入的逻辑链将逻辑分解应用于基于规则的推理任务,将它们转换为一系列逻辑表达式。方法论的分解有助于更清晰的推理途径。
这些分解方法在事件链Han et al. ( 2024)中也得到了呼应,它将多文档摘要简化为离散且可管理的事件提取任务,从而显着提高了质量并减少了潜在的错误。
Knowledge Composition 知识构成
在知识构成中,中间步骤的主要目标不是简化,而是积累相关信息和证据 。这种方法旨在通过深入的理解和细节来丰富解决方案。通过这些证据丰富的方法,LLMs实现对复杂场景的全面和细致入微的理解,从而获得更高质量的输出。
例如,Hu等人(2023b)提出了符号链方法,该方法在空间规划任务中精心收集空间关系,提高了模型的精度和有效性。
同样,La Malfa et al. ( 2024) 采用仿真链提示来确保代码执行的每个步骤都由程序跟踪提供信息,从而避免记忆陷阱。
Wang et al. ( 2023c) 对知识链采取了类似的方法,在每一步都提取了关键的证据,以支持更扎实和可靠的问答环节。这种技术在促进对查询材料的更深入理解方面特别有效。
在视觉任务中,Chain-of-Spot 和 Chain-of-Reasoning 等方法帮助视觉语言模型专注于特定的图像细节,这对于需要详细视觉证据的任务至关重要。
Chain-of-Augmentation
CoX 方法的一个流行变体是 Chain-of-Augmentation,其中链通过额外的知识进行增强。根据增强数据的类型,其分类如下:
Instructions 指令
指令是一种重要的增强,通过复杂的推理或任务执行过程指导LLMs。
例如,Chain-of-Instruct Editing 框架通过生成顺序指令来指导图像编辑任务来利用这一概念,说明了特定版本如何通过关注相关领域来优化输出。
此外,Zha et al. ( 2023) 引入了命令链来解决表操作用户指令中的歧义问题。根据用户说明推断,它能够LLMs采用一系列精确的预定义命令来更准确地执行表格。
在电子商务领域,Li et al. ( 2024b) 通过他们的任务链实现了类似的结构化方法,将客户交互分解为可管理的原子任务,大大简化了复杂的操作。
同样,Hayati 等人 (2024) 提出的指令链框架使用先前步骤的输出作为下一步的指令迭代求解分解的子任务。结果表明,逐步指导可以显著改善复杂问题解决任务的过程和结果。