打破传统!批判微调(CFT),让语言模型学习“挑刺”

在训练语言模型时,监督微调(Supervised Fine-Tuning,SFT)是常用的方法,它让模型学习模仿针对给定指令的标注回复。但本文挑战了这一传统范式,提出了批判微调(Critique Fine-Tuning,CFT)策略,在该策略下,模型学习的是对有瑕疵的回复进行批判,而不是单纯模仿正确回复。

CFT的详细可视化展示见下图:

一、概述

  1. 首先,从WebInstruct构建了一个包含50K条数据的批判数据集,其中的批判内容由GPT-4o等先进模型生成。
  2. 将CFT应用于强大的70亿参数基础语言模型(即未经指令微调的模型),如DeepSeekMath-base、Qwen2.5和Qwen2.5-Math。
  3. 将这些模型与经过SFT训练的变体进行比较,比如WebInstruct-verified(在经GPT-4o验证的WebInstruct回复上进行SFT训练)和WebInstruct-GPT4o(直接在GPT-4o生成的回复上进行SFT训练)。
  4. 在包括MATH和AIME24在内的六个数学基准测试中对模型进行评估。

二、方法与数据集

为验证CFT的有效性,构建了多个微调数据集,其中大部分基于WebInstruct。WebInstruct是一个从互联网获取的指令数据集,并在处理流程中进行了基于模型的合成处理。

  1. WebInstruct
    WebInstruct涵盖广泛的主题,包括数学(65%)、物理(8%)、化学(4%)、商业(10%)、人文(4%)等。与其他主要源自数学竞赛的数据集不同。
    从WebInstruct中整理出以下子集:

    • WebInstruct-SFT:从原始WebInstruct数据集中直接采样的50K子集。该子集错误率非常高(超过50%)。
    • WebInstruct-verified:从WebInstruct中选取样本,并使用GPT-4o-1120判断原始答案是否正确。保留排名前50K的样本作为“已验证”的SFT数据。
    • WebInstruct-GPT-4o:一个50K子集,复用WebInstruct-SFT中的问题,但将答案替换为GPT-4o-1120生成的答案。
    • WebInstruct-CFT(本文提出):源自WebInstruct-SFT的50K子集,其中GPT-4o-1120对原始回复提供了详细的批判。该子集中约56%的回复被判定为“正确”,其余被认为“错误”。尽管包含了GPT-4o引入的一些批判错误,但该数据集的质量与WebInstruct-GPT-4o相当。
    • WebInstruct-CFT-Tiny(本文提出):WebInstruct-CFT的较小版本,仅包含4K个示例,专为训练320亿参数模型而设计。

    CFT数据集与现有SFT数据集的比较见下图,CFT数据集涵盖的主题范围更广,同时规模显著更小,凸显了其在提升大语言模型推理能力方面的高效性。
    (此处应插入对应图片,若文档中无对应图片描述则略过)

  2. MetaMath & NuminaMath
    为其他数据集(包括MetaMathQA和NuminaMath)合成批判内容。
    从每个数据集中随机采样50K个示例,并使用GPT-4o对原始回复进行批判。
    然后在这些数据集上应用CFT,以证明该方法在其他数据集上的通用性。
  3. 训练目标
    将问题$x$和有瑕疵的回复$y$连接作为输入,然后优化模型参数以生成批判$c$。
    形式上,训练损失为:

其中$\theta$是语言模型的参数。

三、实验

  1. 训练细节
    在实验中评估了三种不同的SFT设置和一种CFT设置。
    对于SFT,探索了:

    • SFT:直接在原始有瑕疵的回复上进行训练。
    • SFT-verified:在经GPT-4o验证的回复上进行训练。
    • SFT-gpt4o:在GPT-4o生成的回复上进行训练。

    对于CFT,使用前面章节提到的整理好的CFT数据集训练模型。

  2. 主要结果(CFT与SFT对比)
    下表展示了不同基础模型上SFT和CFT的性能对比:

    • 基础模型选择:对三个70亿参数规模的基础模型进行实验:DeepSeek-Math-7B、Qwen2.5–7B和Qwen2.5-Math-7B。结果表明,Qwen2.5-Math-7B是更强的基础模型,其基础版本在基准测试中的平均准确率达到37.8%。当使用CFT进行增强时,它达到了最佳性能,平均准确率为56.0%。
    • 性能提升:CFT在不同模型上始终优于所有SFT基线模型:在DeepSeek-Math-7B上,它比SFT-GPT4o的绝对准确率提高了3.5%;在Qwen2.5–7B上,比SFT-verified有显著的10.4%的提升;在Qwen2.5-Math-7B上,比强大的GPT-4o SFT基线(SFT-GPT4o)高出5.7%。
    • 训练动态:下图展示了不同方法在Qwen2.5-Math-7B上的训练动态。在MATH和Minerva-Math测试中,与两种SFT变体相比,CFT收敛速度更快,性能显著更高。在OlympiadBench测试中,虽然SFT-G在早期表现有竞争力,但CFT最终取得了更好的结果。在AMC-2023测试中,CFT在整个训练过程中保持一致的优越性能。

  1. CFT模型与现有模型对比

    • 70亿参数CFT模型:Qwen2.5-Math-7B-CFT在70亿参数规模的模型中平均性能最高(48.0%),同时使用的训练数据显著更少(仅50K个样本)。它大幅超越了其他专门的数学模型,如Deepseek-Math-7B-Instruct(平均准确率23.9%)、Mathstral-7B(平均准确率32.9%)和NuminaMath-7B-CoT(平均准确率29.9%)。这种强大的性能是在训练数据极少的情况下实现的——与AceMath-Qwen2.5-Math(230万个样本)和Qwen2.5-Math-7BInstruct(250万个样本)相比,仅使用了50K个样本,证明了该方法卓越的数据效率。
    • 320亿参数CFT模型:对Qwen2.5–32B-Instruct-CFT和Sky-T1–32BPreview进行了详细比较,如下表所示。Qwen2.5–32B-Instruct-CFT仅用4K个训练样本就达到了最佳性能,而Sky-T1–32B-Preview使用了17K个样本。训练数据减少了4倍,这证明了基于批判的方法在无需长链思维(Long-CoT)的情况下,从更少示例中学习的有效性。

四、局限性

  1. 有瑕疵的批判数据:通过手动检查GPT-4o-1120在WebInstruct上随机生成的50个批判实例发现,尽管这是表现最佳的批判数据,但其中约20%的批判仍包含错误或不准确的反馈。
  2. 自我批判的局限性:探索了两种自我批判方法:

    • 单遍自我批判:模型一次性解决问题并对其解决方案进行批判。如果检测到错误,则生成新的解决方案。
    • 两阶段自我批判:模型首先生成一个解决方案,然后单独进行评估。如果发现问题,模型会重复这个过程(最多8次尝试)。

    不同温度设置下不同推理方法的性能对比见下表。结果显示,温度为0.0时的直接推理性能最佳(在MATH测试中准确率为79.4%,在Minerva-Math测试中为36.8%)。随着温度升高,两种自我批判方法的性能均出现下降。在MATH测试中,单遍自我批判方法的准确率从温度0.1时的77.2%下降到温度0.6时的73.5%,在Minerva-Math测试中也有类似趋势。观察发现自我批判存在两个主要问题:模型往往无法保持一致的评估标准,要么忽略真正的错误,要么错误地标记正确的解决方案;为避免迭代尝试中出现重复输出而提高温度时,会引入模型推理过程的不稳定性。

五、结论

本文引入了批判微调(CFT)这一全新范式,从根本上重新构想了语言模型如何从指令数据中学习。与专注于回复模仿的传统监督微调(SFT)不同,CFT强调通过让模型批判和分析回复来培养批判性思维。在多个基础模型和基准测试上进行的广泛实验表明,CFT在数学推理任务上的表现始终比SFT高出4 - 10%,同时所需的训练样本显著更少(50K对200万以上)。

论文链接:https://arxiv.org/abs/2501.17703
代码链接:https://github.com/TIGER-AI-Lab/CritiqueFineTuning
数据集和CFT模型链接:https://huggingface.co/collections/TIGER-Lab/critiquefinetuni...

本文由mdnice多平台发布


柏企科技圈
1 声望0 粉丝

时间差不多了,快上车!~