大模型的优化手段之一SFT (Supervised Fine-Tuning) 简单有效,但它也带来了两个严重的问题:泛化能力差和“熵坍塌”问题。为了解决这两个问题,一篇题为《Proximal Supervised Fine-Tuning》的学术论文提出了一种新的微调方法,名为 Proximal Supervised Fine-Tuning (PSFT)。

  • 论文标题:Proximal Supervised Fine-Tuning
  • 论文链接:https://arxiv.org/pdf/2508.17784

该方法通过借鉴强化学习 (Reinforcement Learning, RL) 中的近端策略优化 (Proximal Policy Optimization, PPO) 思想,PSFT 对模型的参数更新进行约束,有效防止了模型在微调过程中发生灾难性的“策略漂移”,从而在保持强大通用能力的同时,为后续的RL优化阶段奠定更坚实的基础。

1. 引言

1.1 基础模型微调的现状

在大型语言模型(LLM)的时代,我们见证了以 GPT、Llama、Qwen 等为代表的基础模型的巨大成功。这些模型在海量的无标注数据上进行预训练(Pre-training),学到了丰富的世界知识和语言规律。然而,基础模型虽然潜力巨大,但无法直接满足特定任务或特定交互风格的需求。因此,“后训练”(Post-training)阶段,特别是微调(Fine-tuning),成为了释放模型全部潜能的关键步骤。

目前,主流的微调技术路线主要分为两大类:

  1. 监督微调 (Supervised Fine-Tuning, SFT): 这是最直接、最常用的微调方法。研究人员会收集一批高质量的“指令-回答”数据对,然后使用标准的交叉熵损失函数来训练模型,使其模仿这些“专家”数据。SFT 的优点在于其简单、高效,能够快速地让模型掌握特定领域的知识或遵循特定的指令格式。

  2. 基于人类反馈的强化学习 (Reinforcement Learning from Human Feedback, RLHF): 这是一个更复杂的流程,通常在SFT之后进行。它首先训练一个奖励模型(Reward Model)来学习人类的偏好,然后使用这个奖励模型作为信号,通过强化学习算法(如PPO)来进一步优化语言模型,使其生成的结果更符合人类的期望。RLHF 能够提升模型的对齐性(Alignment),使其更安全、更有用。

SFT 通常是整个后训练流程的第一步,其质量直接影响着后续所有阶段的效果。然而,实践和研究都表明,SFT 是一把“双刃剑”。

1.2 SFT的困境:泛化能力的退化与探索能力的丧失

尽管SFT简单有效,但它也带来了两个严重的问题,限制了模型的最终表现。

1.2.1 泛化能力为何下降?

SFT 的本质可以被看作是“行为克隆”(Behavior Cloning)。模型被训练去精确地复制微调数据集中的行为模式。这引出了一个问题:如果微调数据集本身存在局限性,会发生什么?

  • 数据分布不匹配: 微调数据集的分布往往与预训练阶段的海量数据分布有很大差异。它可能只覆盖了某个非常狭窄的领域(例如,只包含数学题),或者其数据风格非常单一。当模型在这样有偏的数据集上进行微调时,它会过度拟合(overfitting)这些特定模式,从而损害其在预训练阶段学到的通用能力。这就好比一个知识渊博的学者,为了准备一场特定主题的考试,反复背诵一本参考书,结果导致他对其他领域的知识变得生疏。
  • 次优数据: 微调数据虽然被视为“专家”数据,但并非总是完美的。它们可能包含一些次优的、甚至是错误的解决方案。SFT 会不加区分地学习这一切,导致模型的可靠性下降。

这种现象被称为泛化能力退化。模型在微调任务(域内,in-domain)上表现出色,但在其他未见过的任务(域外,out-of-domain)上表现却可能还不如微调前的基础模型。

1.2.2 探索能力为何丧失?

另一个更隐蔽但同样严重的问题是“熵坍塌”(Entropy Collapse)。在SFT过程中,模型为了最小化交叉熵损失,会倾向于以极高的概率生成训练数据中的标准答案。这会导致模型在生成每个词元(token)时的概率分布变得非常“尖锐”(peaked),即绝大多数概率都集中在少数几个词元上。

用信息论的术语来说,就是模型的策略熵(Entropy)急剧下降。熵衡量的是一个概率分布的不确定性,高熵意味着模型认为很多词元都有可能,而低熵则意味着模型对下一个词元非常确定。

为什么低熵是坏事?因为它扼杀了模型的探索能力。在SFT之后的RLHF阶段,RL算法需要模型去探索不同的回答方式,以便找到能获得更高奖励的策略。如果一个模型的策略熵已经非常低,它就像一个思维僵化的人,只会走一条路,无法进行有效的探索。这使得后续的RL优化过程举步维艰,难以取得显著的成效。

1.3 问题的核心与解决思路

问题的根源在于SFT的目标函数——交叉熵损失。它是一个“贪婪”的目标,只鼓励模型无限地靠近专家数据,却没有提供任何机制来约束模型偏离其原始状态(即预训练模型)的程度。这种无约束的更新,很容易导致上述的过拟合和熵坍塌。

如何解决这个问题?《Proximal Supervised Fine-Tuning》这篇论文的作者们从强化学习领域找到了灵感。在RL中,策略更新过大同样是一个经典问题,一次糟糕的更新就可能毁掉整个训练过程。为了解决这个问题,研究者们提出了信任区域(Trust Region)方法,其核心思想是:在每一步更新时,都将新策略限制在一个与旧策略足够接近的“信任区域”内,以保证更新的稳定性。

其中,近端策略优化(PPO)是实现这一思想的最成功、最广泛使用的方法之一。PSFT的核心思想正是将PPO的这种“近端约束”机制,巧妙地引入到SFT的框架中。它不再是毫无限制地模仿,而是在模仿的同时,时刻提醒自己:“不要离我原来的样子太远”。

通过这种方式,PSFT旨在实现以下目标:

  1. 稳定优化过程,防止过大的策略更新。
  2. 保留模型在预训练阶段学到的通用能力,提升泛化性。
  3. 维持较高的策略熵,为后续的RL阶段保留充足的探索空间。

接下来,我们好好分析一下。

2. 理论基础:从策略梯度到PPO,再到PSFT

为了理解PSFT的原理,我们需要走过一条从SFT到策略梯度,再到PPO,最终抵达PSFT的理论路径。

2.1 将语言模型建模为马尔可夫决策过程 (MDP)

强化学习的语言是马尔可夫决策过程(MDP)。为了建立SFT与RL的联系,我们首先需要将自回归语言模型的生成过程用MDP的框架来描述:

  • 状态 (State, ): 在时间步 ,已经生成的部分序列。例如,对于一个问题 "中国的首都是哪里?回答是:",状态就是这个前缀(prompt + a partial response)。
  • 动作 (Action, ): 在状态 下,模型需要生成的下一个词元。例如,在上面的状态后,模型可能选择的动作是 "北" 这个词元。
  • 策略 (Policy, ): 语言模型本身,由参数 定义。它给出了在任意状态 下,选择每个可能动作 的概率分布,即
  • 轨迹 (Trajectory): 从初始状态开始,通过一系列的(状态,动作)对,最终生成的完整序列。

在这个框架下,微调语言模型的过程,就可以看作是优化模型的策略 的过程。

2.2 SFT的新视角:一种特殊的策略梯度方法

这是论文建立理论连接的关键一步。它指出,我们熟知的SFT实际上可以被看作是一种非常特殊的策略梯度(Policy Gradient, PG)方法。

首先,我们来看一下标准的策略梯度损失函数,其目标是最大化期望回报。对应的损失函数(通常是最小化负的期望回报)可以写作:

这里:

  • 表示期望是根据当前策略 与环境交互采样得到的轨迹计算的。
  • 是策略的对数概率,梯度更新的方向就是增加那些带来更好结果的动作的概率。
  • 优势函数 (Advantage Function) 的估计值。它衡量在状态 下,采取动作 相对于平均水平有多好。如果 ,说明这个动作比平均要好,我们应该增加它的概率;反之则减少。

现在我们回过头看SFT的损失函数,即交叉熵损失:

对比这两个公式,我们可以发现惊人的相似性。SFT的损失函数可以被看作是策略梯度损失函数在满足以下两个条件时的特例:

  1. 数据来源不同: SFT的样本 不是从当前策略 采样得到的,而是从一个固定的、离线的“专家”数据集 中采样。
  2. 优势函数恒为正: 对于数据集 中的所有“专家”动作 ,其优势函数被固定地设置为一个正的常数,例如 。这背后隐含的假设是:专家数据集里的每一步选择都是好的、值得学习的。

这个重新诠释的视角至关重要,因为它成功地在SFT和RL之间架起了一座桥梁。既然SFT是一种特殊的策略梯度方法,那么那些用于改进策略梯度方法的技巧,是否也能被借鉴过来改进SFT呢?答案是肯定的,而这正是PPO登场的契机。

2.3 PPO的核心思想:近端策略优化

vanilla 策略梯度方法的一个主要问题是训练不稳定。由于数据是从当前策略中采样的,样本分布和策略本身会同时变化,如果某次更新步长过大,可能会导致策略变得很差,进而采样到更差的数据,形成恶性循环,最终导致训练崩溃。

为了解决这个问题,TRPO(Trust Region Policy Optimization)被提出来。它在最大化目标函数的同时,增加了一个硬性约束,要求新旧策略之间的KL散度不能超过一个很小的阈值 。这保证了每次更新都在一个小的“信任区域”内,从而确保了稳定性。

然而,求解带KL约束的优化问题非常复杂。PPO(Proximal Policy Optimization)提出了一种更简单的替代方案,通过一个裁剪的代理目标函数 (Clipped Surrogate Objective) 来实现类似的效果。PPO的目标函数如下:

让我们来分解这个复杂的公式:

  • 重要性采样 (Importance Sampling): 注意期望 是在旧策略 下计算的。为了用旧策略采集的数据来评估新策略 ,需要引入一个重要性采样比率:

    这个比率衡量了新旧策略在同一个状态-动作对上概率的差异。如果 ,说明新策略更倾向于采取这个动作。

  • 裁剪 (Clipping): 这是PPO的核心。clip 函数会将比率 限制在 的区间内( 是一个小的超参数,例如0.2)。

    • 当优势 时(即这是一个好动作),目标函数变为 。这意味着即使 变得很大,对目标函数的贡献也被限制在 ,从而防止策略更新过快。
    • 当优势 时(即这是一个坏动作),目标函数变为 (因为是负数,min变成了max)。这防止我们为了避开坏动作而过度地改变策略。
  • 取最小值: 最终,PPO在原始的 和裁剪后的版本之间取一个较小的值(对于正优势)。这确保了最终的目标是一个下界,使得优化更加保守和稳定。

通过这种方式,PPO巧妙地将策略更新限制在了一个“软”的信任区域内,兼顾了稳定性和实现上的简易性。

2.4 PSFT的推导:将PPO思想应用于SFT

现在,我们可以将所有碎片拼凑起来,推导出PSFT的最终形式。我们从PPO的 L^CLIP 目标函数出发,并应用我们对SFT的特殊策略梯度视角:

  1. 将数据采样方式从在线的 改为SFT中的离线数据集
  2. 将优势函数 设置为 1。

这样,我们就得到了PSFT的损失函数(注意,原始论文中的公式是最大化目标,这里我们写成最小化的损失函数形式,加上负号):

其中,

这个公式就是PSFT的核心。它在最小化SFT的交叉熵损失的同时,通过裁剪概率比率 ,有效地阻止了当前策略 相对于上一步的策略 发生剧烈变化。 在训练过程中是动态演变的,它总是前一个训练步骤的模型。

梯度分析:
对这个损失函数求梯度可以发现一个有趣的性质。当 时, 函数的第二项生效,并且由于 被裁剪,该项相对于 的梯度为零。这意味着,如果模型对于某个专家词元的预测概率相比上一步已经变得“过于自信”(即概率比值超过 ),那么这个词元将不会产生任何梯度来进一步推高这个概率。这从根本上抑制了过度自信和熵坍塌。

预热阶段 (Warm-Up):
还有一个实践中的细节。在训练的最初始阶段,(即预训练的基础模型)的分布可能与微调数据集 的分布相差甚远。这会导致 的估计有偏且方差很大。为了解决这个问题,论文提出可以在PSFT训练开始前,进行一个短暂的、标准SFT的“预热”阶段。这有助于将初始策略先对齐到数据分布上,使得后续PSFT的训练更加稳定和有效。

至此,我们完成了PSFT的理论推导。它通过一个看似简单的目标函数修改,将PPO背后深刻的稳定性思想,成功地迁移到了监督微调的场景中。接下来,我们将通过详尽的实验来验证这一方法的实际效果。

3: 实验验证:PSFT在数学推理与人类对齐任务中的表现

理论上的优雅需要通过实验来证明其在实践中的价值。该论文在两个具有代表性且充满挑战的领域——数学推理和人类对齐——对PSFT进行了全面的评估。

3.1 实验设置概览

  • 模型: 实验覆盖了当前主流的开源模型,包括 Qwen2.5-7B-InstructLlama3.1-8B-Instruct,以验证方法的通用性。
  • 数据集:

    • 数学推理: 使用 OpenR1-Math-8192 数据集,这是一个包含长链式思维(CoT)的数学推理数据集。
    • 人类对齐: 使用 UltraFeedback 数据集,这是一个广泛使用的人类偏好数据集。
  • 基线方法:

    • SFT: 标准的监督微调。
    • SFT-KL: SFT加上了与初始模型之间的KL散度正则化项。这是一种常见的、用于防止模型“忘本”的方法。
  • 评估维度:

    • 域内性能 (In-domain): 在与微调数据同分布的任务上的表现,例如数学推理评测集 AIME24、MATH-500。
    • 域外性能 (Out-of-domain): 在通用能力任务上的表现,例如常识推理(ARC-C)、事实性问答(TruthfulQA)、指令遵循(IFEval)和通用多任务语言理解(MMLU-Pro)。

3.2 数学推理任务

3.2.1 训练动态分析

通过观察模型在训练过程中的核心指标变化,我们可以洞察不同方法的本质差异。

熵的训练动态
熵的训练动态

熵的演变: 这是最能体现PSFT优势的指标之一。从上图可以看出:

  • SFT和SFT-KL的熵曲线呈现出明显的“锯齿状”下降趋势。每个训练周期(epoch)开始时熵会略有回升,但总体上急剧下降。这清晰地展示了熵坍塌现象,模型在不断地过拟合训练数据。
  • 相比之下,PSFT的熵曲线则平滑得多,并且维持在较高的水平。这表明PSFT成功地抑制了模型的过度自信,保留了策略的多样性和探索潜力。带有预热的PSFT (PSFT(warm-up)) 也表现出同样的稳定性。
域内外性能的训练动态
域内外性能的训练动态

域内与域外性能:

  • 域内性能 (图2): 在数学推理任务上,PSFT的表现与SFT相当,甚至在某些阶段(例如在相似的熵水平下)能够超越SFT。这说明PSFT的约束机制并没有以牺牲目标任务性能为代价。PSFT-warm-up 更是稳定地优于所有其他方法,证明了预热阶段的有效性。
  • 域外性能 (图3): 泛化能力的对比揭示了巨大的差异。SFT模型的域外性能在训练几百步后就开始出现明显的波动和下降,显示出其通用能力的退化。而PSFT则表现出持续的、稳定的性能提升趋势。这强有力地证明了PSFT在防止泛化能力退化方面的有效性。
3.2.2 详细评估结果
域内外性能详细结果
域内外性能详细结果

量化结果分析:

  • 域内任务 (表1): 从最终的模型检查点来看,PSFT-warm-up 在多个数学基准上都取得了最佳或接近最佳的平均分,全面超越了标准的SFT。
  • 域外任务 (表2): 表2的结果更具说服力。在评估指令遵循能力的 IFEval 测试上,所有基于SFT的方法(包括SFT、SFT-KL和PSFT-warm-up)都导致了性能的严重下降,而纯PSFT不仅没有下降,反而还略有提升。这说明PSFT的保守更新策略极大地保护了模型的基础指令遵循能力。在其他通用推理任务上,PSFT的平均分也是最高的,展示了其强大的泛化能力。

3.3 作为RL“冷启动”的潜力

SFT模型通常被用作后续RLHF阶段的初始模型(或称“冷启动”模型)。一个好的初始模型应该为RL优化留下足够的空间。

RL实验中的熵训练动态&域内性能训练动态
RL实验中的熵训练动态&域内性能训练动态

RL阶段的动态:

  • 熵 (图4): 以PSFT训练的模型作为起点进行RL训练,其整个过程中的熵都显著高于以SFT模型为起点的训练。更高的熵意味着更强的探索能力,为RL算法寻找更优策略提供了可能性。
  • 性能 (图5): SFT模型在RL初始阶段性能更高,因为它已经在SFT阶段“抢跑”了。然而,由于探索能力受限,其性能很快达到瓶颈。相反,PSFT模型虽然起步较慢,但凭借其高熵带来的强大探索能力,展现出更陡峭的学习曲线,并最终在性能上反超SFT模型。
RL实验的域内外性能
RL实验的域内外性能

RL阶段的最终性能:

  • 域内 (表3): 经过RL(GRPO算法)优化后,PSFT -> GRPO 的组合在数学任务上最终达到的性能,全面超越了 SFT -> GRPO 的组合。
  • 域外 (表4): 域外性能的差距更为悬殊。PSFT -> GRPO 在通用任务上的平均分远高于 SFT -> GRPO。特别是在IFEval上,SFT模型经过RL后性能依然很差,而PSFT模型则保持了高水平。这说明初始模型的泛化能力,决定了RL优化所能达到的天花板。PSFT提供了一个更高的天花板。

3.4 人类对齐任务

为了证明PSFT的普适性,研究者还在人类对齐任务上进行了实验。这次,他们采用了不同的模型(Qwen3-4B-Base)、数据集(UltraFeedback)和对齐算法(DPO,Direct Preference Optimization)。

对齐税(域外任务)模型结果
对齐税(域外任务)模型结果

对齐税 (Alignment Tax):
“对齐税”指的是模型在经过对齐微调(如DPO)后,虽然变得更符合人类偏好,但在解决客观问题(如数学、推理)上的通用能力却有所下降。图7展示了模型在多个通用任务上的对齐税。

  • 结果非常清晰:与原始的SFT相比,PSFT作为DPO的起点,能够显著减少对齐税PSFT+DPO 组合在GSM8K、MMLU等任务上的性能下降幅度远小于 SFT+DPO 组合,更好地保留了模型的通用推理能力。
Qwen3-4B-Base DPO在对齐基准上的训练
Qwen3-4B-Base DPO在对齐基准上的训练

对齐性能:
同时,如表5所示,PSFT -> DPO 不仅通用能力保持得更好,其在对齐任务(AlpacaEval2, Arena-Hard, MT-Bench)上的最终表现也优于 SFT -> DPO。这打破了“对齐与能力不可兼得”的传统印象,表明一个更稳定、泛化性更好的初始模型,同样有助于实现更优的对齐效果。

实验部分全面、有力地证明了PSFT的价值。无论是作为独立的微调方法,还是作为后续RL/DPO优化的基石,PSFT都展现出相较于传统SFT的显著优势。

4: 深度剖析:PSFT为何有效?

实验结果令人信服,但我们还想知道更深层次的原因:PSFT的约束机制在微观上到底是如何起作用的?

4.1 被“裁剪”的词元揭示了什么?

PSFT训练过程中被裁剪词元的示例和变化
PSFT训练过程中被裁剪词元的示例和变化

PSFT的核心在于对概率比率 超过 的词元进行“裁剪”(即梯度置零)。那么,究竟是哪些词元最常被裁剪呢?图8中的词云图给出了答案。

我们可以观察到,在训练的早期(epoch 1)和后期(epoch 3),被高频裁剪的词元主要集中在一些表征不确定性和推理过程的词上,例如:

  • Wait (等待)
  • Alternatively (或者,另一种方法是)
  • Let (让我们假设)
  • Similarly (类似地)
  • consider (考虑)
  • check (检查)

这些词元本身不携带具体的领域知识,而是构成“思维链”的结构性或过程性词汇。

这一发现揭示了PSFT工作的一个重要机理:
标准SFT在学习思维链时,可能会对这些过程性词汇产生过度自信。例如,它可能会学到在某个特定步骤下,必须以99.9%的概率输出 Let。这种过拟合是导致模型僵化和泛化能力下降的原因之一。

而PSFT的裁剪机制,恰恰作用于这些词元上。它会阻止模型对这些“思考模式”的过度学习,鼓励模型以一种更平滑、更保守的方式将这些模式融入自身的知识体系,而不是粗暴地、确定性地记忆下来。这在保留了模型学习有效推理结构的能力的同时,避免了对通用能力的干扰。可以说,PSFT让模型学会了“思考”,而不是“背诵思考过程”。

4.2 裁剪值 的影响

不同裁剪值的PSFT在域内结果
不同裁剪值的PSFT在域内结果

超参数 控制了信任区域的大小,决定了PSFT的保守程度。那么, 的取值对模型表现有何影响呢?

图9展示了不同 值下的熵、梯度范数和最终性能:

  • 无裁剪 (no clip): 这相当于一种变体的SFT。它的熵保持在最高水平,但梯度范数(gradient norm)巨大且极不稳定,导致下游任务的性能波动剧烈且表现不佳。这说明无约束的更新确实是有害的。
  • 不同的 :

    • 随着 的减小(例如从0.40到0.20),约束变得更强,熵的下降趋于平缓,梯度范数也更加稳定。
    • 然而,过强的约束(如 )可能会限制模型的学习效率。
    • 实验发现,一个中等大小的 值,如 0.28,在稳定梯度、防止熵坍塌和提升下游任务性能之间取得了最佳的平衡。

这组消融实验不仅验证了裁剪机制的必要性,也为在实践中应用PSFT提供了具体的参数设置指导。

点评

和之前分享的一篇文章一行代码,解锁SFT泛化能力:深度解读DFT如何完胜传统微调思路很像,都是从强化学习的视角看待SFT。

该研究瞄准了SFT在实际应用中的核心痛点:模型在微调后会“忘记”通用能力(泛化能力下降),并且由于过度自信(熵坍塌)而限制了后续RL优化的潜力。PSFT直接有效地缓解了这两个问题。从实验结果看,它不仅能保持甚至提升模型的域外泛化能力,还能为后续的RL阶段提供一个熵更高、探索空间更大的起点,最终获得更好的性能。这使得PSFT具有极高的工程应用价值。

从实验图表中(如Figure 5)可以看到,在RL训练的初始阶段,以PSFT为起点的模型性能有时会暂时落后于以SFT为起点的模型。这暗示了一个潜在的权衡:PSFT通过约束更新来换取更好的泛化性和长期潜力,但可能会牺牲一小部分在域内任务上“快速过拟合”的速度。在某些只追求短期域内性能、且计算资源极其有限的场景下,SFT可能仍然是一个有吸引力的选择。


往期文章: