跳转至

Fine-Tuning on Diverse Reasoning Chains Drives Within-Inference CoT Refinement in LLMs

会议: ACL 2025
arXiv: 2407.03181
代码: https://github.com/UKPLab/acl2025-diverse-cot
领域: LLM推理
关键词: Chain-of-Thought, 多样性推理链, 推理时自修正, 指令微调, 推理增强

一句话总结

提出 Diverse Chain of Thought (DCoT) 训练方法,通过在单次推理中生成多条串行推理链实现"推理内自修正"(within-inference refinement),在 1.3B–70B 模型上均超越标准 CoT 基线,尤其在大输出空间任务(数值/抽取型)上提升显著。

研究背景与动机

  1. 领域现状:Chain-of-Thought (CoT) 已被证明能有效提升 LLM 的推理能力。进一步地,Self-Consistency 等方法通过采样多条独立 CoT 再投票取最优来提升性能。
  2. 现有痛点:Self-Consistency 等方法的多条 CoT 是独立并行生成的,模型在生成第二条时无法参考第一条的推理过程,因此无法在推理过程中进行修正和改进。
  3. 核心矛盾:理想情况下,模型应该能够在看到第一条推理链后,基于已有推理来修正错误或补充遗漏,实现"串行改进"。但现有框架缺乏这种能力——self-correction 的研究也表明 LLM 在无外部反馈时很难自我纠错。
  4. 本文要解决什么? 如何让 LLM 在单次推理中生成多条推理链,并利用前序推理链的信息来改进后续推理链?
  5. 切入角度:将多条 CoT 拼接为一个序列进行训练,让模型学会在一次推理中依次生成多条 CoT,后续 CoT 可以"看到"前面的推理过程。
  6. 核心idea一句话:通过将 \((question, [CoT_1, CoT_2, ..., CoT_k])\) 作为训练样本,让模型学会在单次推理中串行生成多条推理链,从而实现无需外部反馈的推理内自修正。

方法详解

整体框架

输入是一个问题(可选候选答案),输出是 \(k\) 条串行的 CoT 推理链加一个最终答案。格式为:

Prompt: [Question] Q [Options] O [Number of answers] k
Response: [Answer 1] CoT₁ [Answer 2] CoT₂ ... [Answer k] CoTₖ [Final answer] ans

训练数据通过GPT-3.5 turbo用不同的CoT trigger(如"Let's think step by step"等)为每个问题生成4条正确的推理链,然后拼接成一个序列作为训练目标。

关键设计

  1. DCoT 训练格式:
  2. 做什么:将同一问题的多条正确CoT拼接成一个序列进行SFT
  3. 核心思路:与标准CoT训练相比(每条CoT独立作为一个样本),DCoT将 \(k\) 条CoT拼接为 \((Q, [CoT_1, CoT_2, ..., CoT_k, \text{Final Answer}])\)。关键在于训练时模型就学会了在生成第 \(i\) 条CoT时参考前 \(i-1\) 条CoT的自注意力机制
  4. 设计动机:让模型在推理阶段能够自然地"回顾"前面的推理过程,实现串行改进而非独立采样

  5. CoT Trigger 多样性:

  6. 做什么:使用多种不同的CoT触发词来生成多样化的推理链
  7. 核心思路:采用4种不同的trigger prompt(如"Let's think step by step"、"Let's break this down"等),为每个问题生成多条风格不同但答案正确的推理链
  8. 设计动机:多样性是实现有效修正的前提——如果多条链完全相同,则无法从中获得新的信息来修正错误

  9. Final Answer 收敛机制:

  10. 做什么:在多条CoT之后用 [Final answer] 指令生成最终答案
  11. 核心思路:这个特殊token迫使模型在看完所有推理链后做出最终判断,类似于一个隐式的投票/整合过程
  12. 设计动机:避免模型简单地输出最后一条CoT的答案,而是综合多条推理链的信息做出最终决策

  13. 公平对比设计:

  14. DCoT 和 CoT baseline 使用完全相同的推理链数据,唯一区别是组织方式:DCoT将它们拼接为一个序列,CoT将它们拆分为独立样本
  15. 选用非指令微调版本的base模型(Phi 1.5/2, LLaMA-2 7B/13B/70B),避免预存CoT知识的干扰

训练策略

  • 训练数据:9个数据集,覆盖数值推理(GSM8K)、抽取(ConditionalQA, HotpotQA)、多选(ARC, BoardgameQA, Quartz)、二分类(StrategyQA)、符号推理(LLC)
  • 数据过滤:仅保留导向正确答案的推理链
  • 推理时 \(k\) 的选择:在dev set上搜索 \(k \in [1,4]\),实验表明 \(k=2\)(即一次修正)通常就足够

实验关键数据

主实验

模型 方法 平均 数值型 抽取型 多选型
Phi 1.5 (1.3B) CoT 47.2 34.95 (GSM8K) 46.88 51.26
Phi 1.5 (1.3B) DCoT 49.39 36.85 48.64 55.34
Phi 2 (2.7B) CoT 60.85 56.71 58.89 64.42
Phi 2 (2.7B) DCoT 62.6 60.73 61.88 68.00
LLaMA2-7B CoT 58.97 28.51 59.80 61.36
LLaMA2-7B DCoT 60.8 29.57 63.62 61.99
LLaMA2-13B CoT 64.39 42.53 65.24 66.41
LLaMA2-13B DCoT 66.18 44.28 67.54 68.30
LLaMA2-70B CoT 66.96 56.00 64.76 69.34
LLaMA2-70B DCoT 68.63 66.00 59.67 71.11

消融实验:不同 k 的影响

方法 Phi 1.5 Phi 2 LLaMA-7B LLaMA-13B
CoT 47.51 63.51 59.30 65.41
DCoT@1 47.87 63.91 61.28 65.80
DCoT@2 48.63 65.33 62.46 67.30
DCoT@3 48.96 65.30 62.37 66.92
DCoT@4 48.76 64.89 62.42 66.70

关键发现

  • \(k=2\) 是最优的效率-性能平衡点:一次修正就能在所有模型上稳定提升,而 \(k=3,4\) 通常不再带来进一步提升(GSM8K除外)
  • DCoT@1 ≈ CoT:当只生成一条链时,DCoT微调的模型与CoT表现几乎一致,证明DCoT训练不会损害标准CoT能力
  • 大输出空间任务受益最大:数值型、抽取型任务提升最显著,因为这些任务的输出空间大,revision的意义更大;二分类任务(只有yes/no)提升有限
  • 可与Self-Consistency叠加:DCoT+SC进一步提升性能,说明两种方法增强的维度不同
  • 人工评估证实了自修正:56%的情况下第二条CoT修正了第一条的错误,而非随机扰动

亮点与洞察

  • 训练格式即方法:不需要额外的reward model或外部反馈, 仅通过改变训练数据的组织方式(拼接vs独立),就能让模型获得推理内自修正能力。这个设计极其简洁
  • 首次证明无外部反馈的self-improvement:此前huang et al. 2024等工作认为LLM无法自我纠错,本文通过DCoT训练打破了这一认知——关键是让模型在训练时就接触到"先生成一条、再生成一条"的模式
  • 实用性极高:现有指令微调数据集中很多已经包含每个问题的多条CoT,只需要将它们拼接起来就能构造DCoT数据,几乎零成本

局限性 / 可改进方向

  • 训练数据仅来自GPT-3.5生成的CoT,推理链质量受限于teacher模型
  • 对二分类和符号推理任务效果有限,可能需要针对性设计
  • \(k>2\) 后性能饱和甚至下降,如何让多轮修正持续有效是开放问题
  • 未探索将错误CoT也纳入训练(如对比学习),可能进一步提升修正能力

相关工作与启发

  • vs Self-Consistency (Wang et al. 2023): SC独立采样多条CoT后投票,DCoT串行生成后整合。DCoT的优势在于后续CoT能参考前面的推理
  • vs Self-Correction (Madaan et al. 2023): 传统self-correction需要两阶段(生成+批评),DCoT将修正隐含在单次推理中,更简洁
  • vs STaR (Zelikman et al. 2022): STaR用强化学习来改进推理,DCoT仅用SFT,方法更简单

评分

  • 新颖性: ⭐⭐⭐⭐ 思路简单但有效,"改变训练格式=获得新能力"的insight很有启发性
  • 实验充分度: ⭐⭐⭐⭐⭐ 跨模型家族(Phi, LLaMA)、跨尺度(1.3B-70B)、跨任务类型,还有人工评估
  • 写作质量: ⭐⭐⭐⭐ 结构清晰,实验设计严谨
  • 价值: ⭐⭐⭐⭐ 实用性强,可直接应用到现有指令微调pipeline中