SFT 使用特定领域的“指令-回答”数据对预训练好的通用模型进行训练,使其适应特定任务的需求,例如在医疗、金融或法律等专业领域提供更精准的回答。这种做法在提升模型领域特异性(domain-specificity)方面取得了显著成效,并已成为将 LLMs 应用于实际场景的标准流程。

然而,这一过程并非没有代价。一个普遍存在于学术界和工业界的观点认为,领域微调往往会损害模型的通用能力,这一现象被称为“灾难性遗忘”(catastrophic forgetting)。

我们会有疑问:领域微调是否必然导致通用能力的下降?性能下降的根本原因是什么?我们能否找到一种方法,既能让模型高效学习领域知识,又能最大限度地保留其通用能力?

来自 UIUC、Amazon 的论文《SFT Doesn't Always Hurt General Capabilities: Revisiting Domain-Specific Fine-Tuning in LLMs》对这一“常识”发起了挑战。他们通过系统性的实证研究和深入的理论分析,揭示了领域微调并非总是通用能力的“杀手”。论文的核心观点是,学习率(learning rate)的选择在调和领域适应与通用能力保持中扮演着至关重要的角色。一个被先前研究忽视的简单策略——使用一个足够小的学习率——便可以在很大程度上缓解通用能力的退化,同时不牺牲在目标领域的性能。在此基础上,论文进一步提出了一种名为“ token自适应损失重权”(Token-Adaptive Loss Reweighting, TALR)的新方法,作为在需要更精细平衡时的有效策略。

  • 论文标题:SFT Doesn't Always Hurt General Capabilities: Revisiting Domain-Specific Fine-Tuning in LLMs
  • 论文链接:https://arxiv.org/pdf/2509.20758

1. 背景

许多研究和实践都观察到,SFT 之后,模型在那些与微调领域不相关的通用基准测试(general-purpose benchmarks)上的表现会变差。例如,在 GSM8K(小学数学应用题)、HumanEval(代码生成)或 IFEval(指令遵循)等评估核心推理能力的基准上,经过特定领域(如电子商务或生物医学)数据微调后的模型,其得分往往会显著低于微调前的初始模型(initial model)。

这种现象之所以被称为“灾难性遗忘”,是因为模型的参数在微调过程中发生了“漂移”(parameter drift)。为了最小化在领域数据上的损失(loss),模型的权重会朝着适应新数据分布的方向进行调整。如果这种调整过于“激进”(aggressive),就可能会破坏预训练阶段形成的、支撑通用能力的那些精细的权重结构。

这种权衡关系在过往的研究中被反复强调,并似乎被接受为一个难以避免的事实。因此,研究界的许多努力都集中在如何“修复”或“缓解”这种退化上,例如开发复杂的正则化方法、参数隔离技术或持续学习策略。但本文的研究者们提出了一个更根本的问题:这种权衡本身是否被夸大了?我们观察到的严重性能退化,究竟是 SFT 固有的、不可避免的代价,还是源于我们对微调过程的设置,尤其是对学习率的选择不当?

2. 学习率

本文的第一个核心贡献,就是通过大量的实验,清晰地揭示了学习率在平衡领域性能和通用能力中的决定性作用。研究者们的发现可以总结为两点:

  1. 使用较小的学习率可以显著缓解通用能力的退化。
  2. 在较小的学习率下,模型在目标领域的性能与使用较大学习率时相比,依然具有竞争力。

这两点发现共同指向一个有些出人意料但又至关重要的结论:所谓的“严重性能退化”,在很大程度上可能是由过于激进的优化(即使用了过大的学习率)所导致的。

2.1 实验设置

为了系统地验证这一假设,研究者们在两个具有代表性的领域特定数据集上进行了实验:

  • MedCalc:一个医疗计算数据集,任务是根据病人的临床记录和指令,预测一个数值、类别或日期作为答案。这个任务需要模型具备一定的医疗知识和推理能力。
  • ESCI (E-commerce) :一个电子商务产品分类基准,任务是判断一个“查询-产品”对的关系是精确匹配、替代品、补充品还是不相关。

选择这两个数据集的原因是,现有的开源 LLMs 在它们上面的零样本(zero-shot)表现都比较差,这使得通过 SFT 来提升领域性能成为一种强烈的需求,这与许多真实世界的应用场景相符。

实验中,研究者们使用了多种不同规模的模型(如 Qwen 系列和 Gemma 系列),并针对每个模型和数据集,测试了一系列学习率,例如 。他们使用目标领域的性能(MedCalc 的准确率和 ESCI 的平衡准确率)和通用能力的性能(在 IFEval、GSM8K 和 HumanEval 等多个通用基准上的平均分)来评估每一个微调后的模型。

2.2 实验结果与发现

实验结果被绘制在一系列二维图表中,其中 x 轴代表领域性能,y 轴代表通用性能。理想的模型应该位于图的右上角,即在两个维度上都取得高分。模型的初始状态(Init)作为一个基准点。

SFT 期间学习率对领域性能和通用能力性能的影响
SFT 期间学习率对领域性能和通用能力性能的影响

从上图中可以清晰地观察到一个一致的模式:

  • 学习率与权衡曲线:对于每一个模型和数据集的组合,不同学习率下的结果点形成了一条清晰的权衡曲线。使用最大学习率(如 )的点,通常领域性能最高,但通用性能损失也最严重(位于图的右下方)。相反,使用最小学习率(如 )的点,通用性能的保留程度最高,非常接近初始模型,同时其领域性能也达到了一个很高的水平(位于图的右上方)。
  • 小学习率的优势:令人惊讶的是,使用小学习率不仅能够最大程度地保留通用能力,其在领域性能上的表现也与大学习率相差无几,甚至在某些情况下几乎没有损失。这意味着通过简单地调低学习率,我们就可以获得一个“性价比”高得多的权衡点。这直接挑战了传统深度学习中“大学习率有助于提升下游任务性能”的经验。LLMs 在这个方面表现出了不同的行为特性。
  • 先前研究的局限性:本文作者指出,许多先前声称 SFT 会导致严重性能退化的研究,其所使用的学习率相对较大(例如 )。这表明,他们观察到的“灾难性遗忘”现象,可能并非 SFT 的必然结果,而是在特定的、较为激进的超参数设置下产生的。

2.3 监督信号的影响:仅标签监督 vs. 带有思维链

研究者们还探索了监督信号的形式对学习率选择的影响。在 ESCI 数据集上,他们设计了两种训练设置:

  1. w/ CoT (with Chain-of-Thought) :目标序列包含完整的推理过程(即思维链)和最终的标签。
  2. w/o CoT (without Chain-of-Thought) :目标序列只包含最终的标签。

实验发现(如图 1(d) 所示),当只使用标签进行监督时(w/o CoT),模型对于学习率的选择约束更宽松。在这种设置下,一个相对较大的学习率()也能达到与 相似的、接近帕累托最优的权衡效果。而在 w/ CoT 设置下,学习率的选择则更为敏感。

这一现象引出了一个核心问题:为何更温和的更新(milder updates)既能保留通用能力,又能实现强大的领域性能提升? 为了回答这个问题,研究者们从信息论的角度进行了深入的理论分析。

3. 从信息论视角理解微调

为了从理论上解释上述经验现象,论文引入了一个新颖的分析框架,该框架将语言建模(language modeling)等同于数据压缩(data compression)。这个视角允许我们使用“编码长度”(code length)这一量化指标来衡量模型在不同数据分布上的性能。

3.1 语言模型即压缩器

根据信息论,一个好的概率模型能够用更短的编码长度来表示数据。具体来说,对于一个给定的数据样本 和一个模型 ,编码 所需的理论最短比特数是 。因此,模型在某个数据分布 上的性能好坏,可以由其在该分布上的期望编码长度 来衡量。性能的提升或下降,就对应于期望编码长度的减少或增加。

在这个框架下,SFT 的过程可以被理解为:我们有一个初始模型 ,它在通用数据分布 上表现良好(编码长度低)。我们现在希望在领域数据分布 上对它进行微调,得到一个新的模型 ,使得它在 上的编码长度变短(性能提升)。我们所关心的性能退化问题,就转化为 上的期望编码长度是否会增加。

3.2 Token Tree 与 模型漂移

为了形式化分析,论文定义了几个关键概念:

  • Token Tree( :对于一个数据集 ,其Token Tree的每一条从根节点到“序列结束”(EOS)叶节点的路径都代表一个完整的文本序列。树中每个节点的权重代表其出现的概率。
  • LLM 压缩协议 (LLM Compression Protocol) :LLM 在生成文本时,在每一步都会对词汇表中的所有 token 预测一个条件概率分布 ,其中 是当前已经生成的序列(对应于树中的一个节点)。这个概率分布可以直接用于算术编码,从而将文本序列压缩成二进制码。
  • 期望编码长度差异 (Expected Code Length Discrepancy, ) :当模型从 变为 时,在数据分布 上的期望编码长度变化为 。根据定义,这等价于两个交叉熵之差,也可以表示为两个 KL 散度之差:

有了这些工具,我们就可以将微调过程中的性能变化,精确地用 (通用能力变化)和 (领域能力变化)来描述。我们的目标是让 尽可能小(负得越多越好),同时让 尽可能接近于零或为负。

3.3 理论解释:为何小学习率更优?

为了将上述框架与 SFT 的动态联系起来,论文将微调的每一步更新近似为一种被称为“指数倾斜”(exponential tilting)的分布变换。这是一种分析工具,它能够简洁地刻画出模型分布在朝目标分布移动时的行为。基于此,论文推导出了两个核心的非正式定理,直接解释了前面观察到的经验现象。

定理 3.1 (非正式) :在一定假设下,考虑在领域数据集 上进行微调,并设定一个固定的领域性能提升目标 (即 )。此时,在通用数据集 上的性能退化 存在一个上界:

其中, 是有效的每步更新大小(effective per-step size), 是由模型和数据决定的常数。

定理 3.1 的解读:这个定理是本文理论部分的核心。它明确指出,通用性能退化的上界与更新步长 成正相关。在实践中,一个更小的学习率会诱导出更小的有效更新步长 。因此,采用更小的学习率(即更小的 ),可以直接收紧通用性能退化的理论保证上限。这完美地解释了“发现 1”:为何小学习率能够更好地保留通用能力。

定理 3.2 (非正式) :在一定假设下,如果我们设定一个通用性能退化的容忍度 (即 ),那么为了保证不超出这个容忍度,最大允许的安全更新步长 满足:

其中, 是领域数据集 中每个样本的“困难 token ”(hard tokens,即模型预测概率很低的 token )的期望数量。

定理 3.2 的解读:这个定理揭示了安全更新步长与任务难度(由困难 token 数量 度量)之间的关系。当训练目标中包含的困难 token 数量 减少时,安全的更新步长范围 就会扩大。这解释了“发现 2”:为什么仅标签(label-only)的监督方式对学习率更鲁棒? 因为仅预测一个标签(通常是词汇表中的一个或少数几个 token )比生成一段长长的、包含复杂推理的思维链(CoT)所涉及的“困难 token ”要少得多。因此, 值更小,模型可以承受更大的学习率而不至于产生严重的性能退化。

综合这两个定理,论文从理论上支撑了其核心论点:通过谨慎选择学习率,我们可以在很大程度上控制通用能力的退化。

3.4 抑制“困难 token ”的影响

在定理 3.1 的推导过程中,系数 的大小与一个关键因素 相关, 代表了在“困难 token ”上更新的幅度。具体来说,,其中 是困难 token 集合的概率质量,。这意味着,由困难 token (低概率 token )引起的巨大更新是导致通用能力退化的主要驱动力

这一洞察自然地引出了一个解决方案:如果我们能够主动地、自适应地减小那些困难 token 在损失计算中的权重,就有可能直接降低性能退化的上界,从而在更大的学习率下也能实现更好的权衡。这正是论文提出的新方法—— token 自适应损失重权(TALR)——的出发点。

4. TALR

虽然使用小学习率是一个简单有效的基线策略,但它并不能解决所有问题。在某些情况下,我们可能依然需要使用稍大的学习率来追求极致的领域性能,或者小学习率本身无法完全消除性能退化。为了在这些场景下实现更优的平衡,论文提出了 TALR。

4.1 TALR 的核心思想

TALR 的核心思想是自适应地调整损失函数中每个 token 的权重,基本原则是:模型对某个 token 的预测越不确定(即预测概率越低,损失越大),就赋予该 token 越小的权重。通过这种方式,TALR 可以“平滑”由少数困难 token 引起的剧烈梯度,防止它们对模型参数造成过度的冲击,从而保护那些支撑通用能力的权重结构。

4.2 通过约束优化实现自适应加权

为了找到一组理想的 token 权重 ,研究者们构建了一个约束优化问题。该问题需要满足两个目标:

  1. 偏好低损失 token:权重应该与 token 的损失 负相关。
  2. 避免权重坍缩:权重分布应尽可能平滑,避免所有权重都集中在少数几个“最简单”的 token 上。

这个问题可以形式化为:

其中,第一项旨在最小化加权损失,第二项是一个负熵正则化项,用于鼓励权重分布的平滑性(防止过于集中), 是控制正则化强度的温度系数。 是 n 维单纯形,确保权重非负且和为 1。

这个优化问题有一个优美的封闭解(closed-form solution):

其中 是归一化因子。由于 ,这个解可以等价地写成:

这个形式直观地体现了 TALR 的工作原理:每个 token 的权重与其被模型预测的概率的 次方成正比

在实践中,研究者们使用非归一化的权重 ,并在每个训练批次(batch)中动态地重新计算这些权重。温度系数 被动态地设置为该批次内平均序列损失的中位数,这种自适应策略使得 TALR 能够在不同难度的数据批次间保持稳定和高效。

4.3 TALR 的实验表现

研究者们将 TALR 与一系列主流的缓解灾难性遗忘的策略进行了比较,包括:

  • L2 正则化 (L2-Reg) :在损失函数中加入模型参数与初始参数之间 L2 距离的惩罚项。
  • LoRA:一种参数高效的微调方法,通过训练低秩矩阵来更新模型权重。
  • 模型平均 (Wise-FT) :将微调后的模型参数与初始模型参数进行加权平均。
  • FLOW:一种在序列(sequence)级别上对损失进行重加权的方法。

实验在 MedCalc 数据集上,分别在小学习率()和大学习率()下进行。

在 MedCalc 基准上领域性能和通用性能的权衡比较
在 MedCalc 基准上领域性能和通用性能的权衡比较

实验结果(如图 2 所示)清晰地表明:

  • 在小学习率下:大多数方法(除了 LoRA 和 Wise-FT)的表现都聚集在图的右上区域,说明在这种设置下,单单使用小学习率就已经是一个非常强大的基线。即便如此,TALR 依然展现出了微弱的优势,能够将帕累托前沿(Pareto frontier)向右上方推动一点。
  • 在大学习率下:当学习率提高时,不同方法之间的差距变得非常明显。标准 SFT 的通用性能急剧下降。而 TALR 在所有方法中脱颖而出,它能够在保持有竞争力的领域性能的同时,最大程度地缓解通用性能的退化。与 FLOW 相比,TALR 的优势在于其 token 级别的重加权粒度更细。序列级别的损失可能会被少数极端困难的 token 所主导,从而掩盖了序列中大部分简单 token 的信息,而 TALR 则能更精确地处理这一问题。

总的来说,TALR 被证明是一种在需要使用较大学习率或追求更优权衡时的有效策略。

5. 细粒度分析

为了进一步理解 SFT 的内在机理以及 TALR 为何有效,研究者们进行了一项细粒度的 token 级别分析。

5.1 “困难 token ”是瓶颈,但数量稀少

通过可视化单个样本中每个目标 token 的预测概率(如图 3(a) 所示),研究者发现,即使在一个完整的推理序列中,绝大多数 token 对于预训练好的 LLM 来说都是“简单”的,即模型能够以很高的置信度(高概率)来预测它们。这些简单 token 通常是语法结构词、常见词汇或是上下文信息充足后的后续 token 。

真正的“困难 token ”——那些模型预测概率很低的 token ——数量相对稀少,但它们往往是关键的。这些 token 通常对应于:

  1. 模型预训练数据中覆盖不足的领域特定知识(例如,一个不常见的临床换算因子)。
  2. 与模型预训练风格不匹配的表达方式

对整个 MedCalc 训练集的 token 概率分布进行的统计分析(如图 3(b) 所示)也证实了这一点:所有测试模型的 token 预测概率中位数都接近 1.0,表明大部分 token 的学习难度都很低。

这一发现揭示了一个重要事实:SFT 的性能瓶颈可能并不在于整个数据集,而在于那一小部分稀疏但关键的困难 token 。而标准的 SFT 对所有 token 一视同仁,导致这些困难 token 产生了过大的梯度,从而不成比例地影响了模型的权重,引发了“灾难性遗忘”。

MedCalc 数据集上的 token 级别分析
MedCalc 数据集上的 token 级别分析

5.2 TALR 诱导出类似课程学习的动态

TALR 的有效性,根源于它能够智能地处理这些困难 token 。研究者通过一个实验发现,TALR 实际上在训练过程中隐式地创造了一种“课程学习”(curriculum learning)的效果。

在课程学习中,模型先从简单的样本开始学习,然后逐渐过渡到更复杂的样本。在 TALR 的机制下,训练开始时,那些困难 token 由于其初始预测概率低,被赋予了很小的权重,模型主要从它已经比较有把握的“简单” token 中学习。随着训练的进行,模型逐渐吸收了领域知识,之前的一些困难 token 对于模型来说变得“相对简单”,它们的预测概率会随之上升。根据 TALR 的加权公式 ,这些 token 的权重也就会动态地增加,从而被纳入学习的重点。

6. 总结

两条可以参考的实践准则:

  1. 首选策略:使用一个小的学习率。 在大多数情况下,简单地将学习率设置在一个较小的数值(例如 )是实现领域性能和通用能力之间有利权衡的最有效方法。这是一个强大且易于实现的基线。
  2. 进阶策略:当需要更强的平衡时,采用 TALR。 如果在特定场景下,需要使用更大的学习率来冲击更高的领域性能,或者小学习率本身带来的性能退化仍然无法接受,那么 TALR 是一个能够进一步抑制通用性能下降的有效策略。

往期文章: