本文提出DCoT方法,通过在单次推理步骤内生成多个多样化推理链并进行自我改进,显著提升了大型语言模型在复杂推理任务上的性能,尤其在结果空间较大的任务中效果突出。
Large Language Model, Reasoning, Instruction Tuning, Fine-tuning, In-Context Learning
Haritz Puerto, Tilek Chubakov, Xiaodan Zhu, Harish Tayyar Madabushi, Iryna Gurevych
Ubiquitous Knowledge Processing Lab (UKP Lab), TU Darmstadt, Germany, ATHENE National Research Center for Applied Cybersecurity, Germany, Dept. of ECE & Ingenuity Labs Research Institute, Queen’s University, Canada, University of Bath, UK
Generated by grok-3
Background Problem
大型语言模型(LLMs)通过生成中间推理步骤(Chain of Thought, CoT)已被证明能显著提升在复杂推理任务上的表现。然而,现有方法多通过多次独立生成CoT并进行后处理(如投票集成)来提升性能,这种方式无法让模型在单次推理中访问之前的推理链,限制了推理过程中的动态改进潜力。本文提出并解决的问题是如何通过训练让LLMs在单次推理步骤内生成多个多样化的推理链(DCoT),并利用之前的推理链进行自我改进,尤其是在结果空间较大的任务(如数值计算)中提升性能。
Method
本文提出了一种名为Diverse Chains of Thought (DCoT)的新训练方法,核心思想是通过指令微调让大型语言模型(LLMs)在单次推理步骤内生成多个多样化的推理链,并通过访问之前的推理链实现动态改进。
- 训练数据构造:作者将多个正确的CoT串联成一个序列,形成(问题, [CoT1, CoT2, …])的训练对,而非传统的(问题, CoT)独立数据点。训练数据通过GPT-3.5 turbo在零样本设置下生成,使用多种触发提示(如”让我们一步步思考”)确保CoT的多样性,并限制每个问题最多生成4个CoT以适应模型上下文窗口。
- 指令模板:设计了特定的输入输出格式,输入提示包括问题、可选答案(针对多选题)和所需CoT数量k;输出格式为多个CoT序列及最终答案,旨在让模型学会在单次推理中生成并改进推理链。
- 对比基线:使用传统CoT格式进行指令微调作为基线,确保两者的训练数据量和CoT内容相同,仅在响应格式上不同(DCoT为串联多个CoT,CoT为单个CoT)。
批判性思考:虽然DCoT的串联训练方式创新,但其假设模型能通过访问前一推理链实现改进缺乏直接证据支持,可能是训练数据多样性带来的泛化能力提升,而非真正的动态改进。此外,仅使用正确CoT训练可能导致模型在面对错误推理时无法有效修正,限制了方法的鲁棒性。
Experiment
作者在多种模型规模(1.3B到70B,包括Phi和LLaMA-2系列)和任务类型(数值、文本抽取、多选、二元、符号)上进行了广泛实验,旨在验证DCoT的有效性及适用场景。
- 数据集与设置:训练数据涵盖多个领域和推理类型(如GSM8K、HotpotQA等),测试集包括领域内任务和未见任务(如CSQA、AQuA)。评估指标为宏平均F1(分类任务)和squad-metric(文本抽取任务)。DCoT的CoT数量k在1到4之间调整,通过开发集选择最佳k。
- 结果:在领域内任务中,DCoT平均性能优于CoT基线,尤其在结果空间较大的任务(如数值和文本抽取)上提升显著,例如Phi 2在数值任务上提升约4个百分点。然而,在二元和符号任务上改进不明显,可能是由于输出空间受限或数据集规模过小(如LLC仅300训练样本)。对于未见任务,DCoT未导致性能退化,但在数值任务上提升有限,符合LLMs在域外算术推理上的已知弱点。
- 效率与扩展性:k=2时DCoT已能带来显著提升,进一步增加k至3或4未见明显收益,表明单次改进已足够。DCoT还与CoT扩展方法(如自一致性解码)兼容,保持对基线的性能优势。
- 手动分析:通过对LLaMA 7B的输出分析,作者发现DCoT@2在首条CoT错误时,第二条CoT常展现不同推理模式并纠正错误,表明改进源于推理修订而非随机扰动。
批判性思考:实验设计较为全面,但70B模型实验由于成本限制仅在小规模数据上进行,且未优化超参数,结果可靠性存疑。此外,部分任务未见显著提升,可能是由于任务特性或数据限制,作者未深入探讨这些失败案例的根本原因。手动分析虽支持推理修订的结论,但样本量较小(31个),可能存在选择偏差,需更大规模验证。
Further Thoughts
DCoT方法通过单次推理内生成多个推理链实现自我改进,这一思路启发我们思考是否可以将类似机制应用于其他提示策略,如代码提示或图形化推理(Graph of Thoughts),以进一步提升模型在特定领域的推理能力。此外,DCoT在k=2时已达到性能峰值,增加更多推理链未带来额外收益,这与自纠正领域的研究一致,提示我们可能需要探索更智能的停止机制或动态调整k值的方法,而非固定数量的推理链。
另一个值得关注的点是DCoT仅使用正确CoT训练,这可能限制了模型处理错误推理的能力。未来可以结合对抗性训练或引入错误CoT数据,增强模型的鲁棒性。同时,DCoT的成本增加虽被作者认为可接受,但在边缘设备或高并发场景下仍可能成为瓶颈,值得探索如何通过知识蒸馏或高效采样策略降低推理开销。
最后,DCoT的理念与多智能体系统(Multi-Agent Systems)中的协作推理有潜在联系,多智能体框架下不同代理可以模拟多个推理链并进行交互改进,这可能为DCoT提供新的应用场景和优化方向。