Self-Refine Instruction-Tuning for Aligning Reasoning in Language Models
问题 (Problem)
这篇论文旨在解决将大型语言模型(LLM)强大的推理能力,特别是链式思考(Chain-of-Thought, CoT)能力,迁移到小型语言模型(SLM)上时遇到的核心挑战。
当前主流的方法是监督微调(Supervised Fine-Tuning, SFT),即使用 LLM 生成的推理过程作为示例来训练 SLM。但这种方法存在明显缺陷:
- 泛化能力不足:SFT 仅仅是让 SLM 模仿 LLM 提供的特定推理路径。然而,同一个问题可能存在多种有效的推理路径,导致模型学到的能力不够通用,泛化性差。
- 能力差距:SLM 本身不具备像 LLM 那样强大的“涌现”推理能力,简单的模仿训练无法完全弥补这一根本差距。
- 对齐不完全:训练后的 SLM 在性能上与“教师”LLM 之间仍然存在显著差距。
因此,核心问题是:如何设计一种更有效的方法,不仅能将 LLM 的推理能力迁移给 SLM,还能让 SLM 自我提升和完善这种能力,从而真正实现与 LLM 的推理对齐?
方法 (Method)
作者提出了一种名为 自优化指令微调(Self-Refine Instruction-Tuning) 的两阶段方法来解决上述问题。
整体框架
该方法包含两个核心阶段:指令微调阶段 和 自优化阶段。其整体流程如下图所示:

- 左侧(教师与示例):首先,由多个“教师”LLM(如 GPT-3.5, Llama2-70b)针对特定任务生成带有详细推理步骤(CoT)的解答,这些解答构成了“示例(Demonstrations)”数据集。
- 中间(第一阶段:指令微调):然后,用这些高质量的示例对“学生”SLM(如 Llama2-7b)进行指令微调,这是知识的初次迁移。
- 右侧(第二阶段:自优化):经过初次微调的 SLM 进入一个“自优化(self-refine)”循环。在这个阶段,模型自己生成推理路径,并通过一种名为“直接偏好优化”的技术来不断完善自身的推理策略。
阶段一:指令微调 (Instruction-tuning)
这个阶段的目标是让 SLM 初步掌握遵循指令进行分步推理的能力。它是一种面向任务、特殊化的 SFT。
- 训练数据由元组 构成,其中 是任务指令, 是输入问题, 是教师 LLM 生成的 CoT 答案。
- 其优化的损失函数为指令微调损失(Instruction-tuning Loss),旨在让模型生成的结果最大限度遵循指令的引导。其数学公式为:
其中:
- 是学生模型的策略(即模型本身)。
- 是教师 LLM 生成的示例数据集。
- 是教师生成的答案序列。
- 是在生成第 个词元(token)时的状态,包含了指令、问题和已生成的部分答案。
- 这个公式的核心是最大化模型在给定指令和上下文时,生成正确答案序列的对数概率。
阶段二:自优化 (Self-refinement)
这是该方法最具创新性的部分。在第一阶段的基础上,此阶段让 SLM 通过 直接偏好优化(Direct Preference Optimization, DPO) 算法进行自我改进,而无需额外的人工标注或独立的奖励模型。
- 核心思想:让模型学会“偏爱”自己生成的、带有正确 CoT 推理的答案,而不是那些没有推理步骤或者推理错误的答案。
- 具体步骤:
- 数据生成:对于数据集中的每个问题 ,让第一阶段训练好的模型 生成两种答案:
- 偏好的答案 ():通过 CoT 提示(如在问题后加上 “Let’s think step by step”)引导模型生成的、推理步骤清晰且最终结果正确的答案。
- 不偏好的答案 ():不使用 CoT 提示,模型直接生成的答案。
- DPO 优化:使用这些自生成的偏好对 来优化模型。DPO 的损失函数如下:
其中:
- 是当前正在优化的模型。
- 是优化前的参考模型(即第一阶段结束时的模型)。
- 是 Sigmoid 函数。
- 是一个超参数,用于控制偏好的强度。
- 这个损失函数的目标是:提高模型生成偏好答案 的概率,同时降低生成不偏好答案 的概率,从而将模型的行为模式“校准”到高质量的 CoT 推理风格上。
- 数据生成:对于数据集中的每个问题 ,让第一阶段训练好的模型 生成两种答案:
Baseline
论文的实验设计非常扎实,通过与多个基线的对比,清晰地展示了其方法的有效性。主要基线包括:
- Zero-shot Prompt:未经任何微调的原始 SLM 直接回答问题。
- Zero-shot CoT Prompt:原始 SLM 使用 “Let’s think step by step” 提示进行回答。
- Instruction-tuning (IT) only:只经过第一阶段指令微调,但未经过第二阶段自优化的 SLM。
- Teacher Performance:生成训练数据的“教师”LLM 的性能。这被视为学生模型性能的“上限”参考。
从下图(以 OBQA 和 GSM8K 数据集为例)可以看出,Self IT (深蓝色和红色条) 的性能显著优于仅 IT 的模型,并且在很多情况下接近甚至超过了教师 LLM 的水平(图中的虚线)。
数据集与模型 (Datasets & Models)
实验覆盖了多种类型的推理任务,以验证方法的普适性。
- 数据集 (Datasets):
- 常识推理:CommonsenseQA (CSQA), OpenBookQA (OBQA)
- 物理与社交互动推理:PIQA, SIQA
- 数学推理:MultiArith, GSM8k
- 综合能力评估:MATH, MMLU
- 模型 (Models):
- 教师 LLM:Llama2-70b, Mixtral, GPT-3.5
- 学生 SLM:Llama2-7b, Llama2-13b, Mistral-7b
可复现性 (Reproducibility)
- 代码:论文明确表示代码已开源,并提到使用了 Hugging Face 的
DPO_trainer库,这为复现提供了便利。 - 算力:实验在一台配备了 4 块 NVIDIA RTX A6000 GPU(每块 48GB VRAM)的工作站上进行。作者还提到了使用 QLoRA 技术在指令微调阶段节省显存,降低了硬件门槛。
- 超参数:论文提供了两阶段训练过程中的学习率、优化器、批大小等关键超参数,细节清晰,有助于他人复现结果。
可改进的几个点 (Potential Improvements)
尽管该方法效果显著,但论文和方法本身也揭示了一些未来可探索的方向:
- 多语言扩展:目前的研究完全基于英语。将该方法扩展到中文、西班牙语等其他语言,验证其跨语言的有效性,是一个重要的研究方向。
- 优化推理步骤的内在逻辑:当前的 DPO 优化更多是基于最终答案的正确性来构建偏好对,并未深入到对推理步骤本身的逻辑严密性、简洁性进行建模。未来可以探索更细粒度的奖励机制,例如奖励更高效或更具逻辑性的推理路径。
- 减少对教师模型的依赖:方法的第一步仍然依赖于强大的教师 LLM 生成高质量数据。如何让 SLM 在更少、甚至没有教师示例的情况下实现自我推理能力的引导和提升,是一个更具挑战性的问题。
- 推理过程的可靠性与可信度:论文也提到了一个通用风险——模型可能生成一个“看似合理”但实际错误的推理过程。如何提升 CoT 推理的真实性和可靠性,避免模型“一本正经地胡说八道”,是整个领域需要解决的难题。
- 探索不同优化算法:除了 DPO,还可以尝试其他强化学习或偏好对齐算法(如 PPO),看是否能在自优化阶段取得更好或更稳定的效果。
可以被引用的一些结论 (Key Takeaways)
这篇论文提供了多个坚实且有价值的结论,可以直接被后续研究引用:
- 两阶段方法优于单一微调:结合“指令微调”和“基于DPO的自优化”的两阶段方法,在提升小模型推理能力方面,显著优于传统的、单一的监督微调方法。
- 自优化能有效缩小大小模型差距:DPO 自优化阶段是弥合 SLM 和 LLM 推理能力差距的关键,能够使 SLM 在特定任务上的性能达到甚至超过其教师 LLM。
- 自生成偏好数据是可行的:该研究证明了使用模型自生成的 CoT 答案作为偏好数据来驱动 DPO 是一种高效且低成本的自提升策略,摆脱了对昂贵的人工标注的依赖。
- 跨领域泛化能力强:通过该方法学到的推理能力具有良好的泛化性,在一个领域(如通用问答)训练的模型,在另一个领域(如数学推理)也表现出性能提升。
- “异源”教师可能效果更佳:使用来自不同模型家族的“异源”教师(out-family,如用 GPT-3.5 训练 Llama 模型)进行教学,有时能培养出比“同源”教师(in-family)更具鲁棒性的学生模型。
- 方法在低资源场景下依然有效:即使训练示例数量大幅减少(例如减少到25%),该方法依然能保持稳定的性能优势,展示了其数据效率。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 937のBlog!