外观
SFT 与 RFT 对比
SFT vs RFT
在深入探讨之前,我们有必要先理解一下:我们通常是如何用有监督微调(SFT, Supervised Fine-Tuning)来微调 LLM 的。
SFT 流程:

- 从一份静态的、带标注的「提示词—补全」数据对数据集开始。
- 调整模型权重,使其输出与这些补全结果相匹配。
- 然后把表现最好的模型(LoRA 检查点)部署上线,用于推理。
RFT 流程:

- 强化微调(RFT, Reinforcement Fine-Tuning)采用的是在线「奖励」方式——不需要静态标签。
- 模型会探索不同的输出,再由一个奖励函数(Reward Function)为其正确性打分。
- 随着训练推进,模型会借助 GRPO,逐渐学会生成能获得更高奖励的答案。
SFT 使用的是静态数据,往往容易变成「死记硬背」答案;而 RFT 是在线的,它从奖励中学习,并不断探索新的策略。

下面这张流程图,能帮你根据数据情况和任务性质,快速判断该选用哪种微调方法。
首先检查你是否拥有带标注(ground-truth)的数据。
如果没有,接下来要问的问题是:这个任务是否「可验证」。
- 如果不可验证,就使用 RLHF,因为这时需要由人类来提供偏好信号。
- 如果可验证,RFT 就适用,因为正确性可以自动检查。
如果你确实拥有带标注的数据,那该选哪种方法就取决于数据量的多少:
数据量大 → 使用 SFT。
数据量很小 → 判断推理(比如 CoT,思维链)是否有帮助。■ 如果有帮助 → RFT ■ 如果没有 → SFT
总的来说,这张决策树能帮助你为自己的具体场景,快速找到最高效、最可靠的微调策略。
既然我们已经理解了什么时候该用 SFT、什么时候该用 RFT,接下来就让我们在实践中应用一下 RFT。对于数学、逻辑这类高度依赖推理的任务,GRPO(Group Relative Policy Optimization)是目前最有效的 RFT 方法之一。
让我们来看看如何用 Unsloth 配合 GRPO 来微调一个模型。