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 基线,尤其在大输出空间任务(数值/抽取型)上提升显著。
研究背景与动机¶
- 领域现状:Chain-of-Thought (CoT) 已被证明能有效提升 LLM 的推理能力。进一步地,Self-Consistency 等方法通过采样多条独立 CoT 再投票取最优来提升性能。
- 现有痛点:Self-Consistency 等方法的多条 CoT 是独立并行生成的,模型在生成第二条时无法参考第一条的推理过程,因此无法在推理过程中进行修正和改进。
- 核心矛盾:理想情况下,模型应该能够在看到第一条推理链后,基于已有推理来修正错误或补充遗漏,实现"串行改进"。但现有框架缺乏这种能力——self-correction 的研究也表明 LLM 在无外部反馈时很难自我纠错。
- 本文要解决什么? 如何让 LLM 在单次推理中生成多条推理链,并利用前序推理链的信息来改进后续推理链?
- 切入角度:将多条 CoT 拼接为一个序列进行训练,让模型学会在一次推理中依次生成多条 CoT,后续 CoT 可以"看到"前面的推理过程。
- 核心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条正确的推理链,然后拼接成一个序列作为训练目标。
关键设计¶
- DCoT 训练格式:
- 做什么:将同一问题的多条正确CoT拼接成一个序列进行SFT
- 核心思路:与标准CoT训练相比(每条CoT独立作为一个样本),DCoT将 \(k\) 条CoT拼接为 \((Q, [CoT_1, CoT_2, ..., CoT_k, \text{Final Answer}])\)。关键在于训练时模型就学会了在生成第 \(i\) 条CoT时参考前 \(i-1\) 条CoT的自注意力机制
-
设计动机:让模型在推理阶段能够自然地"回顾"前面的推理过程,实现串行改进而非独立采样
-
CoT Trigger 多样性:
- 做什么:使用多种不同的CoT触发词来生成多样化的推理链
- 核心思路:采用4种不同的trigger prompt(如"Let's think step by step"、"Let's break this down"等),为每个问题生成多条风格不同但答案正确的推理链
-
设计动机:多样性是实现有效修正的前提——如果多条链完全相同,则无法从中获得新的信息来修正错误
-
Final Answer 收敛机制:
- 做什么:在多条CoT之后用
[Final answer]指令生成最终答案 - 核心思路:这个特殊token迫使模型在看完所有推理链后做出最终判断,类似于一个隐式的投票/整合过程
-
设计动机:避免模型简单地输出最后一条CoT的答案,而是综合多条推理链的信息做出最终决策
-
公平对比设计:
- DCoT 和 CoT baseline 使用完全相同的推理链数据,唯一区别是组织方式:DCoT将它们拼接为一个序列,CoT将它们拆分为独立样本
- 选用非指令微调版本的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中