跳到主要内容

SFT、RLHF 与 DPO:垂直领域应用中的模型对齐方法决策矩阵

· 阅读需 12 分钟
Tian Pan
Software Engineer

大多数决定微调模型的团队在写下第一行训练代码之前,都会花上几周时间争论该使用哪种方法。这种争论很少触及核心问题。真正的问题不是 “SFT 还是 DPO?”,而是 “我试图缩小什么样的差距?”

有监督微调(SFT)、人类反馈强化学习(RLHF)和直接偏好优化(DPO)并不是解决同一个问题的竞争性方案。每种方法针对的是不同的失败模式。在 SFT 足以解决问题时选择 RLHF 会浪费数月时间。而当问题实际上是偏好不匹配时选择 SFT,则会产生一个表达流利但在生产环境中暴露问题之前很难察觉到错误模型。

这篇文章提供了一个决策框架。它将每种方法映射到其解决的具体问题上,解释了哪些信号预示着哪种方法将占主导地位,并提供了一套诊断方法论,帮助你在开始训练之前识别出实际存在的差距。

每种方法实际解决的问题

要理解这些区别,必须清楚每种方法优化的是什么。

SFT 教会模型进行模仿。你提供输入-输出对,梯度下降会调整模型,使其在给定输入时重现这些输出。它通过示例灌输行为。当任务有明确的正确答案、你拥有覆盖生产环境输入分布的标记数据,且失败模式是 “模型不知道如何执行此任务” 而不是 “模型执行了任务但方式不被用户喜欢” 时,SFT 的效果异常出色。

RLHF 教会模型优化源自人类偏好的奖励信号。经典的流程是:收集模型输出之间的偏好比较,在这些比较上训练奖励模型,然后运行 PPO(Proximal Policy Optimization)来更新语言模型,以最大化奖励模型的分数,同时保持与原始策略接近。RLHF 适用于 “正确” 无法清晰定义的情况——即质量本质上是主观的、模型需要平衡竞争标准的,或者你需要模型以标注示例难以捕捉的方式进行改进的情况。

DPO 解决了与 RLHF 相同的对齐问题,但完全跳过了奖励模型。它使用相同的偏好对(相比 “拒绝” 的响应更倾向于 “选择” 的响应),并使用修改后的损失函数直接优化语言模型。其核心洞察力在于,给定奖励函数的最佳策略可以通过偏好对本身进行解析表达——不需要显式的奖励模型作为中间步骤。结果是:通过带有自定义损失函数的监督式训练,实现了相同的对齐目标。

算力与数据的现实情况

这些方法在操作成本上存在巨大差异,而这本身就驱动了许多现实世界的决策。

RLHF 的 PPO 流程需要内存中同时存在四个模型副本:正在训练的策略模型、冻结的参考策略、奖励模型和价值函数。这是基础模型 GPU 占用的四倍,这使得大多数没有专用基础设施的团队无法企及。训练也以不稳定著称——超参数敏感性很高,团队通常要花数周时间才能让 PPO 收敛,且不发生策略崩溃或奖励被黑(reward hacking)。人工标注成本也非常高:按市场价格计算,生成 600 个高质量的 RLHF 偏好标签可能需要 60,000 美元。这仅仅是标注费用,不包括算力。

DPO 消除了奖励模型,将训练复杂度降低到基本上是带有自定义损失函数的监督学习,并且可以在单个带有 LoRA 的 GPU 上运行。在单个 A10G 或 RTX 4090 上,使用 10,000 个偏好对的数据集,可以在 2 到 8 小时内完成 7B 模型的 DPO 训练。算力成本相对于 RLHF 降低了 40–75%。开源生态系统反映了这一趋势:到 2025 年,Hugging Face 上的 DPO 使用量同比增长了 210%,大多数高性能开源模型(Mistral、Zephyr、WizardLM)都使用 DPO 进行训练后对齐。

SFT 是这三种方法中最便宜的。使用 LoRA,在云端 GPU 上针对特定领域示例微调 7B 模型的成本仅为几美元。数据收集更简单——你需要标记的输入-输出对,而不是排序比较。研究表明,质量比数量更重要:几千个高质量、分布内(in-distribution)的示例通常优于数万个噪声示例。对于数学和代码任务,SFT 随数据量扩展良好;对于通用对话能力,收益在大约 1,000 到 10,000 个示例时会进入瓶颈期。

预示哪种方法占优的任务类型信号

正确的方法取决于任务的性质和数据。

在以下情况下,首选 SFT:

  • 任务具有确定性的正确答案(提取、分类、结构化摘要、具有已知输出的代码生成)。
  • 你可以编写一个即使是非专家也能一致应用的评分标准来判断输出。
  • 你的失败模式是模型根本不了解该领域——这是一个能力差距,而不是风格或偏好差距。
  • 你可以以可接受的努力收集标记示例。即使是 1,000 个高质量的配对,通常也能在窄任务上产生显著的改进。

在以下情况下,选择 DPO:

  • 你已经做了 SFT,但模型的输出在一些难以表达为标记示例的方面仍然让人感觉不对劲。
  • 你的任务涉及主观质量判断:语气、安全性、风格、平衡竞争因素。
  • 你希望防止模型生成它在技术上 “知道如何” 生成但不应该生成的内容——拒绝行为、格式合规性、避免特定领域的幻觉。
  • 你可以获得偏好对,或者可以使用更强大的模型作为裁判来合成偏好对。
  • 你在顶级实验室(frontier lab)基础设施之外运行。DPO 是触手可及的。
加载中…
References:Let's stay in touch and Follow me for more thoughts and updates