Step-DPO: Step-wise Preference Optimization for Long-chain Reasoning of LLMs

📄 arXiv: 2406.18629v1 📥 PDF

作者: Xin Lai, Zhuotao Tian, Yukang Chen, Senqiao Yang, Xiangru Peng, Jiaya Jia

分类: cs.LG, cs.AI, cs.CL

发布日期: 2024-06-26

备注: Code, data, and models are available at https://github.com/dvlab-research/Step-DPO

🔗 代码/项目: GITHUB


💡 一句话要点

Step-DPO:面向LLM长链推理的分步偏好优化方法

🎯 匹配领域: 支柱二:RL算法与架构 (RL & Architecture) 支柱九:具身大模型 (Embodied Foundation Models)

关键词: 长链推理 偏好优化 分步优化 数学推理 大型语言模型 DPO 指令微调

📋 核心要点

  1. 现有DPO方法在长链数学推理中难以识别细粒度错误,缺乏对推理过程的有效监督。
  2. Step-DPO将推理过程分解为步骤,以步骤为单位进行偏好优化,实现更精细的监督。
  3. 实验表明,仅需少量Step-DPO训练数据和步骤,即可显著提升LLM在数学推理任务上的准确率。

📝 摘要(中文)

数学推理对大型语言模型(LLMs)提出了重大挑战,因为它需要广泛而精确的推理链才能保证准确性。确保每个推理步骤的正确性至关重要。为了解决这个问题,我们旨在通过学习人类反馈来增强LLMs的鲁棒性和事实性。然而,直接偏好优化(DPO)在长链数学推理方面表现出有限的优势,因为采用DPO的模型难以识别不正确答案中的详细错误。这种局限性源于缺乏细粒度的过程监督。我们提出了一种简单、有效且数据高效的方法,称为Step-DPO,它将单个推理步骤视为偏好优化的单元,而不是整体评估答案。此外,我们还开发了一个Step-DPO的数据构建流程,能够创建包含1万个分步偏好对的高质量数据集。我们还观察到,在DPO中,自生成的数据比人类或GPT-4生成的数据更有效,因为后者具有分布外特性。我们的研究结果表明,对于参数超过70B的模型,仅需1万个偏好数据对和少于500个Step-DPO训练步骤,即可在MATH数据集上获得近3%的准确率提升。值得注意的是,Step-DPO应用于Qwen2-72B-Instruct时,在MATH和GSM8K的测试集上分别实现了70.8%和94.0%的分数,超过了一系列闭源模型,包括GPT-4-1106、Claude-3-Opus和Gemini-1.5-Pro。

🔬 方法详解

问题定义:论文旨在解决大型语言模型在长链数学推理中准确率低的问题。现有直接偏好优化(DPO)方法在处理此类问题时,由于缺乏对推理过程的细粒度监督,难以识别和纠正推理过程中的错误,导致最终答案的准确率提升有限。

核心思路:论文的核心思路是将长链推理过程分解为多个步骤,并以每个步骤为单位进行偏好优化。通过对每个步骤的正确性进行评估和学习,模型可以更有效地识别和纠正推理过程中的错误,从而提高整体推理的准确率。这种分步优化的方法能够提供更精细的监督信号,帮助模型学习更鲁棒和准确的推理策略。

技术框架:Step-DPO的整体框架包括数据构建和模型训练两个主要阶段。数据构建阶段,通过特定流程生成包含分步偏好对的数据集。模型训练阶段,使用DPO算法,以分步偏好对作为训练数据,对LLM进行微调。具体流程为:首先,给定一个数学问题,模型生成多个可能的推理路径。然后,对每个推理步骤进行评估,并构建偏好对,即选择更优的步骤。最后,使用这些偏好对训练模型。

关键创新:Step-DPO最重要的技术创新点在于将偏好优化从整体答案层面细化到单个推理步骤层面。与传统的DPO方法相比,Step-DPO能够提供更精细的监督信号,帮助模型学习更准确的推理策略。此外,论文还发现,使用模型自生成的数据进行训练比使用人类或GPT-4生成的数据更有效,这表明模型更擅长学习自身推理过程中的偏好。

关键设计:Step-DPO的关键设计包括数据构建流程和训练策略。数据构建流程需要设计合理的评估指标来判断每个推理步骤的优劣,并生成高质量的偏好对。训练策略方面,论文采用了标准的DPO算法,并针对分步偏好数据进行了优化。此外,论文还探索了不同的数据生成方法,并发现自生成数据具有更好的训练效果。具体的损失函数和网络结构与DPO保持一致,重点在于数据的构建和使用方式。

🖼️ 关键图片

fig_0
fig_1
fig_2

📊 实验亮点

Step-DPO在MATH数据集上取得了显著的性能提升,仅使用1万个偏好数据对和少于500个训练步骤,即可使参数超过70B的模型获得近3%的准确率提升。更重要的是,Step-DPO应用于Qwen2-72B-Instruct时,在MATH和GSM8K测试集上分别达到了70.8%和94.0%的准确率,超越了GPT-4-1106、Claude-3-Opus和Gemini-1.5-Pro等一系列强大的闭源模型。

🎯 应用场景

Step-DPO方法可广泛应用于需要长链推理的领域,如数学、科学、逻辑推理等。该方法能够提升LLM在这些领域的准确性和可靠性,使其能够更好地解决复杂问题。此外,Step-DPO还可以应用于教育领域,帮助学生学习和理解复杂的概念和推理过程。未来,该方法有望成为提升LLM推理能力的重要手段。

📄 摘要(原文)

Mathematical reasoning presents a significant challenge for Large Language Models (LLMs) due to the extensive and precise chain of reasoning required for accuracy. Ensuring the correctness of each reasoning step is critical. To address this, we aim to enhance the robustness and factuality of LLMs by learning from human feedback. However, Direct Preference Optimization (DPO) has shown limited benefits for long-chain mathematical reasoning, as models employing DPO struggle to identify detailed errors in incorrect answers. This limitation stems from a lack of fine-grained process supervision. We propose a simple, effective, and data-efficient method called Step-DPO, which treats individual reasoning steps as units for preference optimization rather than evaluating answers holistically. Additionally, we have developed a data construction pipeline for Step-DPO, enabling the creation of a high-quality dataset containing 10K step-wise preference pairs. We also observe that in DPO, self-generated data is more effective than data generated by humans or GPT-4, due to the latter's out-of-distribution nature. Our findings demonstrate that as few as 10K preference data pairs and fewer than 500 Step-DPO training steps can yield a nearly 3% gain in accuracy on MATH for models with over 70B parameters. Notably, Step-DPO, when applied to Qwen2-72B-Instruct, achieves scores of 70.8% and 94.0% on the test sets of MATH and GSM8K, respectively, surpassing a series of closed-source models, including GPT-4-1106, Claude-3-Opus, and Gemini-1.5-Pro. Our code, data, and models are available at https://github.com/dvlab-research/Step-DPO.