Reverse Thinking Makes LLMs Stronger Reasoners
作者: Justin Chih-Yao Chen, Zifeng Wang, Hamid Palangi, Rujun Han, Sayna Ebrahimi, Long Le, Vincent Perot, Swaroop Mishra, Mohit Bansal, Chen-Yu Lee, Tomas Pfister
分类: cs.CL, cs.AI, cs.LG
发布日期: 2024-11-29 (更新: 2025-03-07)
备注: Accepted to NAACL 2025
💡 一句话要点
提出RevThink框架,提升LLM在常识、数学和逻辑推理上的能力
🎯 匹配领域: 支柱二:RL算法与架构 (RL & Architecture) 支柱九:具身大模型 (Embodied Foundation Models)
关键词: 反向推理 大型语言模型 多任务学习 知识蒸馏 数据增强
📋 核心要点
- 现有LLM推理能力不足,缺乏人类正反向结合的思考模式,限制了其解决复杂问题的能力。
- RevThink框架通过数据增强和多任务学习,使LLM能够模拟人类的正反向推理过程,从而提升推理能力。
- 实验结果表明,RevThink在多个推理数据集上显著优于现有方法,并具有良好的样本效率和泛化能力。
📝 摘要(中文)
本文提出了一种名为Reverse-Enhanced Thinking (RevThink) 的框架,旨在提升大型语言模型(LLMs)的推理能力。RevThink模拟人类的反向思维过程,通过数据增强和学习目标来实现。该框架首先利用教师模型生成结构化的正向-反向推理数据,包括原始问题、正向推理、反向问题和反向推理。然后,采用多任务学习的方式训练一个较小的学生模型,使其能够(a)从问题生成正向推理,(b)从问题生成反向问题,以及(c)从反向问题生成反向推理。在涵盖常识、数学和逻辑推理的12个数据集上的实验表明,RevThink相比学生模型的零样本性能平均提升了13.53%,相比最强的知识蒸馏基线提升了6.84%。此外,该方法还表现出样本高效性,仅使用训练数据中10%的正确正向推理,就优于在10倍更多正向推理上训练的标准微调方法。RevThink还展示了对分布外数据集的强大泛化能力。
🔬 方法详解
问题定义:现有大型语言模型在复杂推理任务中表现出一定的局限性,尤其是在需要结合正向和反向思维的问题上。传统的训练方法主要关注从问题到答案的单向推理,忽略了人类在解决问题时经常采用的从答案反推问题的逆向思维模式。这种单向推理的局限性导致模型难以发现推理过程中的错误,从而影响最终的推理效果。
核心思路:论文的核心思路是让LLM学习人类的正反向推理模式。通过引入反向推理,模型可以从答案出发,反向推导出问题,从而验证正向推理的正确性。这种正反向结合的推理方式可以提高模型的推理能力和鲁棒性。
技术框架:RevThink框架主要包含两个阶段:数据增强和多任务学习。在数据增强阶段,利用一个预训练的教师模型生成包含正向推理、反向问题和反向推理的结构化数据。在多任务学习阶段,训练一个学生模型同时完成三个任务:(1) 从问题生成正向推理,(2) 从问题生成反向问题,(3) 从反向问题生成反向推理。
关键创新:RevThink的关键创新在于引入了反向推理的概念,并将其融入到LLM的训练过程中。通过让模型学习生成反向问题和反向推理,可以有效地提高模型的推理能力和鲁棒性。此外,RevThink还采用了多任务学习的方式,使得模型可以同时学习正向和反向推理,从而更好地理解问题的本质。
关键设计:在数据增强阶段,教师模型用于生成高质量的正反向推理数据。在多任务学习阶段,使用了三个损失函数,分别对应于三个任务:正向推理生成、反向问题生成和反向推理生成。这些损失函数共同优化学生模型的参数,使其能够更好地完成推理任务。具体参数设置和网络结构的选择取决于具体的实验设置和数据集。
🖼️ 关键图片
📊 实验亮点
实验结果表明,RevThink在12个涵盖常识、数学和逻辑推理的数据集上取得了显著的提升。相比学生模型的零样本性能,平均提升了13.53%。相比最强的知识蒸馏基线,提升了6.84%。更重要的是,RevThink表现出很强的样本效率,仅使用10%的训练数据,就优于在10倍数据上训练的标准微调方法。此外,RevThink还展示了对分布外数据集的强大泛化能力。
🎯 应用场景
RevThink框架具有广泛的应用前景,可以应用于各种需要复杂推理的场景,例如智能问答、数学问题求解、逻辑推理等。该方法可以提高LLM在这些任务上的准确性和可靠性,从而为用户提供更好的服务。此外,RevThink还可以用于训练更小、更高效的LLM,降低模型的部署成本。
📄 摘要(原文)
Reverse thinking plays a crucial role in human reasoning. Humans can reason not only from a problem to a solution but also in reverse, i.e., start from the solution and reason towards the problem. This often enhances overall reasoning performance as it enables consistency checks between their forward and backward thinking. To enable Large Language Models (LLMs) to perform reverse thinking, we introduce Reverse-Enhanced Thinking (RevThink), a framework composed of data augmentation and learning objectives. In RevThink, we augment the dataset by collecting structured forward-backward reasoning from a teacher model, consisting of: (1) the original question, (2) forward reasoning, (3) backward question, and (4) backward reasoning. We then employ three objectives to train a smaller student model in a multi-task learning fashion: (a) generate forward reasoning from a question, (b) generate a backward question from a question, and (c) generate backward reasoning from the backward question. Experiments across 12 datasets covering commonsense, math, and logical reasoning show an average 13.53% improvement over the student model's zero-shot performance and a 6.84% improvement over the strongest knowledge distillation baselines. Moreover, our method demonstrates sample efficiency -- using only 10% of the correct forward reasoning from the training data, it outperforms a standard fine-tuning method trained on 10x more forward reasoning. RevThink also exhibits strong generalization to out-of-distribution held-out datasets.