ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

从KL散度视角解析SFT与RLHF:正向KL与反向KL如何塑造大语言模型

2026/8/21 1:28:12 拓冰建站 浏览量
从KL散度视角解析SFT与RLHF:正向KL与反向KL如何塑造大语言模型 最近在跟团队讨论大语言模型训练策略时发现很多同学对 SFT监督微调和 RLHF基于人类反馈的强化学习的理解还停留在“两步走”的流程层面认为它们是两个独立、割裂的阶段。但在深入研究了 KL 散度的两种形式后我意识到一个更有趣的视角SFT 和 RLHF 本质上是在用不同的“力”去塑造同一个模型其核心差异可以归结为优化目标中 KL 散度的方向——正向 KL 与反向 KL。本文将带你从概率分布的视角深入拆解 SFT 和 RLHF 的数学本质。我们会从 KL 散度的基础概念出发通过直观的图示和公式推导揭示这两种训练范式如何分别对应“覆盖模式”和“模式寻求”的优化行为。无论你是希望深入理解大模型训练理论的研究者还是关心如何选择微调策略的算法工程师这篇文章都将提供一个统一的框架来审视这些关键技术。1. 背景与核心概念从“两步走”到“一枚硬币”在深入数学细节之前我们先建立直观认知。SFT监督微调通常是我们拿到一个预训练大模型如 LLaMA、ChatGLM后做的第一步。我们准备一批高质量的问答对(prompt, response)然后以标准的监督学习方式让模型学习去模仿这些示范数据。它的目标很直接让模型输出的概率分布尽可能接近示范数据所代表的“理想”分布。RLHF基于人类反馈的强化学习则常被视为第二步。在 SFT 之后我们训练一个奖励模型Reward Model来评判模型回答的好坏更符合人类偏好。然后我们以这个奖励为引导使用强化学习如 PPO 算法进一步优化模型。它的目标看起来不同在获得高奖励的同时防止模型“跑偏”得太远即与 SFT 模型偏离太大这个约束通常通过 KL 惩罚项来实现。那么问题来了为什么 RLHF 要约束模型不要偏离 SFT 模型SFT 和 RLHF 的优化目标在概率分布层面到底有何异同答案就藏在KL 散度Kullback-Leibler Divergence中更具体地说在于你选择正向 KLForward KL还是反向 KLReverse KL作为你的优化目标。2. 数学基石理解 KL 散度及其两种形式KL 散度是衡量两个概率分布 P 和 Q 之间差异的非对称性度量。它不是距离因为KL(P||Q) ≠ KL(Q||P)但这种非对称性恰恰是理解 SFT 和 RLHF 的关键。2.1 KL 散度的定义给定真实分布 P 和近似分布 QKL 散度定义为KL(P || Q) Σ_x P(x) log (P(x) / Q(x))在连续情况下求和变为积分。它衡量的是当我们用分布 Q 来近似真实分布 P 时所损失的信息量以比特或纳特为单位。2.2 正向 KL 散度KL(P || Q)正向 KL即KL(P || Q)是我们最常接触的形式。它的优化行为是最小化 KL(P || Q) 会迫使 Q 去“覆盖” P 的所有模式。行为特点覆盖模式如果真实分布 P 是多峰的有多个高概率区域那么最小化正向 KL 的 Q 会试图让自己在这些峰上都有一定的概率质量以避免在 P 概率高的地方Q 的概率为零这会导致 KL 值趋于无穷大。简单说Q 会变得“保守”和“平均”可能会产生一些 P 中没有的中间状态来确保全覆盖。一个比喻P 是几个分散的岛屿。最小化正向 KL 的 Q 就像一片海水它会试图淹没所有岛屿甚至可能在海岛之间也填上水以确保没有岛屿露出水面即 P0 的地方 Q 不能为0。2.3 反向 KL 散度KL(Q || P)反向 KL即KL(Q || P)将 P 和 Q 的角色对调。它的优化行为截然不同最小化 KL(Q || P) 会迫使 Q 去“锁定” P 的某一个或某几个主要模式而忽略其他。行为特点模式寻求优化反向 KL 时惩罚发生在 Q 概率高而 P 概率低的地方。因此Q 会倾向于将其概率质量集中在 P 的某个高峰模式上而对于 P 概率很低或为零的区域Q 可以放心地也赋予零概率而不会受到大的惩罚。同一个比喻P 还是那几个分散的岛屿。最小化反向 KL 的 Q 会像一座桥或一个据点它选择其中一个最大、最富饶的岛屿扎根完全忽略其他小岛。只要它所在的岛屿在 P 中概率高并且它不去 P 中概率低深海的地方代价就很低。下图直观展示了两者的区别 想象一个双峰分布P正向KL优化的Q会变成一个覆盖双峰的宽分布反向KL优化的Q会变成两个单峰分布中的一个具体取决于优化起点。理解这两种 KL 散度的不同行为是解开 SFT 和 RLHF 本质联系的第一把钥匙。3. 环境与问题设定形式化语言模型优化为了进行精确的讨论我们需要先形式化我们的问题。假设我们有一个预训练语言模型其参数为 θ给定上下文提示x 时生成序列 y 的概率为 π_θ(y|x)。我们拥有两种“指南”示范数据分布 π_demo(y|x)来自高质量的 SFT 数据。我们可以认为这些数据采样自一个理想的“专家”分布。奖励函数 r(x, y)通常由一个训练好的奖励模型提供量化回答 y 对于提示 x 的质量符合人类偏好的程度。我们的目标是找到一个最优的策略分布 π*(y|x)。4. SFT 的本质最小化正向 KL 散度监督微调的目标函数通常是最小化负对数似然Negative Log-Likelihood, NLLL_sft(θ) - E_(x,y)~D_demo [ log π_θ(y|x) ]其中D_demo是我们的示范数据集。这个目标等价于什么当我们有无限数据时数据分布近似于真实的专家分布 π_demo。最小化上述期望等价于最小化 π_demo 和 π_θ 之间的交叉熵Cross-Entropy。而交叉熵可以分解为H(π_demo, π_θ) H(π_demo) KL(π_demo || π_θ)其中H(π_demo)是专家分布自身的熵是一个常数。因此最小化交叉熵 H(π_demo, π_θ) 等价于最小化 KL(π_demo || π_θ)。看这就是正向 KL 散度KL(P || Q)其中Pπ_demo,Qπ_θ。这意味着 SFT 的数学本质是最小化正向 KL(π_demo || π_θ)。根据第 2 节的结论SFT 的训练行为是让模型 π_θ 去“覆盖”专家分布 π_demo 的所有模式。如果专家数据展示了多种正确回答的风格、格式或内容多模式SFT 模型会学习去生成所有这些类型行为可能趋于平均和保守。这也是为什么单纯做 SFT 的模型有时会显得“正确但平庸”因为它试图模仿所有示范而不是聚焦于最优解。5. RLHF 的本质带约束的奖励最大化与反向 KLRLHF 通常被表述为一个带约束的优化问题 最大化期望奖励同时约束新策略 π_θ 与某个参考策略 π_ref 的 KL 散度不要超过一个阈值 δ。max_π_θ E_(x~ρ, y~π_θ(·|x)) [ r(x, y) ] s.t. E_x~ρ [ KL(π_θ(·|x) || π_ref(·|x)) ] ≤ δ这里 ρ 是提示的分布π_ref 通常是 SFT 后的模型π_sft。通过拉格朗日乘子法这个约束优化问题可以转化为一个无约束问题其目标函数为L_rlhf(θ) E_(x~ρ, y~π_θ(·|x)) [ r(x, y) ] - β * E_x~ρ [ KL(π_θ(·|x) || π_ref(·|x)) ]其中 β 是控制约束强度的超参数。这个目标就是著名的“奖励最大化减去 KL 惩罚”的形式。注意 KL 项的方向KL(π_θ || π_ref)。这是反向 KL 散度。因此RLHF 的核心优化目标包含两部分奖励最大化项推动模型生成高奖励的序列。反向 KL 惩罚项防止模型为了追求高奖励而彻底偏离参考策略SFT模型的行为分布。这个约束确保了优化过程的稳定性避免模型退化到生成无意义但能“骗过”奖励模型的高分文本。5.1 从优化视角看反向 KL 的作用结合第 2 节反向 KL 的“模式寻求”特性我们来解读 RLHF 的行为π_ref即 π_sft可以看作一个经过 SFT 的、相对安全且多样的“先验”分布。奖励函数 r(x,y)定义了一个可能很尖锐的理想分布区域即高奖励对应的 y 空间。最小化KL(π_θ || π_ref)会驱使 π_θ 聚焦于 π_ref 的某个高峰模式。但同时我们又在用奖励项拉拽 π_θ希望它移向高奖励区域。最终π_θ 会在π_ref 的高概率模式和高奖励区域的交集处找到一个最优的“落脚点”。它不会像正向 KL 那样试图覆盖 π_ref 的所有模式而是会锁定其中一个能同时获得高奖励的模式。这解释了为什么 RLHF 能产生比 SFT 更精准、更优质、有时也更“大胆”的回答——它进行了模式选择与聚焦。6. 统一视角SFT 与 RLHF 作为一枚硬币的两面现在我们可以清晰地看到这枚“硬币”的两面正面SFT优化目标隐含KL(π_demo || π_θ)正向 KL。目标让模型分布 π_θ 覆盖并模仿专家数据分布 π_demo 的全部多样性。行为保守、平均、追求多样性覆盖。优势学习准确行为安全不易遗忘预训练知识。局限可能无法区分示范中的质量差异学会所有模式包括次优模式。反面RLHF优化目标显式包含KL(π_θ || π_ref)反向 KL且 π_ref 通常就是 SFT 模型。目标在参考策略 π_ref 的分布基础上寻找能最大化奖励的单一或少数峰值模式。行为聚焦、选择、优化可能放弃多样性以追求高质量。优势能依据隐式偏好奖励进行模式选择输出质量更高。局限优化不稳定可能过度优化Goodhart’s law依赖高质量的奖励模型。它们本质上是连续的、互补的分布优化过程SFT 用正向 KL 将一个宽泛的预训练模型收紧到一个高质量的、多样的示范分布上。 RLHF 再用反向 KL 从这个多样的分布中提炼出一个更契合人类偏好的、更聚焦的最终分布。没有 SFT 提供的 π_refRLHF 的反向 KL 约束就失去了一个稳定、安全的锚点容易优化失败。没有 RLHF模型可能停留在模仿所有示范的平均状态无法实现质的提升。7. 实战启示与工程影响理解这一理论对实际工作有重要指导意义7.1 数据策略的设计SFT 数据应追求质量和多样性的平衡。因为正向 KL 会覆盖所有模式如果数据中有低质量样本模型也会学会。但多样性不足会导致模型行为狭窄。RLHF 偏好数据应能清晰区分优劣。奖励模型需要学习到人类偏好的尖锐边界才能有效引导反向 KL 的优化方向。7.2 训练不稳定的诊断RLHF 训练崩溃如果奖励模型有缺陷如过度奖励某些错误模式反向 KL 优化会驱使模型疯狂聚焦于那个错误的高奖励模式同时由于 KL(π_θ||π_ref) 约束它仍会保持在 π_ref 的某个模式附近但这个合力点可能是一个“有害的角落”。检查奖励模型的校准和过拟合至关重要。SFT 后模型平庸这可能是因为正向 KL 的“平均”效应。解决方法是清洗数据确保 π_demo 本身就是一个高质量的尖峰分布或者考虑在 SFT 中引入早期停止或权重筛选避免过度平均化。7.3 算法选择的考量DPODirect Preference Optimization等新方法DPO 通过数学变换将带反向 KL 约束的 RL 问题转化为一个类似于 SFT 的监督损失。这从另一个角度印证了 SFT 和 RLHF 的深层联系——它们都可以被统一到某个概率分布匹配的框架下。何时只用 SFT对于任务单一、定义明确、示范数据几乎就是最优解的情况如代码生成、格式严格的文本转换SFT正向 KL可能就足够了因为 π_demo 本身已经是单一、高质量的峰值分布。何时需要 RLHF当“好”的标准复杂、主观、难以用有限示范完全捕捉时如对话助手的趣味性、安全性、帮助性平衡就需要用奖励函数来定义这个复杂目标并用反向 KL 从 SFT 的多样解中做聚焦和提升。8. 总结从对称性中把握训练本质回到我们最初的洞察SFT 和 RLHF 并非割裂的步骤而是统一在概率分布优化框架下的两种对称操作。一枚硬币正面是正向 KLSFT追求覆盖与模仿反面是反向 KLRLHF追求选择与聚焦。这种理解帮助我们预测模型行为明白为什么 SFT 模型更“稳”而 RLHF 模型可能更“尖”。调试训练过程当 RLHF 效果不佳时会去检查是 SFT 提供的锚点π_ref太差还是奖励函数给出的梯度方向有问题。设计训练流程有意识地构建数据和质量标准来分别满足正向 KL 和反向 KL 优化的需求。在大型语言模型训练日益工程化的今天深入理解这些基础理论能让我们在堆砌数据和算力时多一份把握和方向。希望这个从 KL 散度视角展开的分析能为你下次设计模型微调策略时提供一个清晰而有力的思维工具。