垂直领域大模型为何必须跨越 SFT,拥抱 GRPO?
·
摘要:GRPO 训练的模型在 OOD 泛化和训练稳定性上表现惊艳,尤其在 OCR、文档理解等任务中远超传统 SFT。本文深度剖析:我们是否过度依赖了 SFT?强化学习是锦上添花,还是范式革命?
一、核心结论(TL;DR)
| 维度 | SFT | GRPO/RL |
|---|---|---|
| 本质 | 行为克隆(模仿) | 策略优化(探索) |
| 学到的 | “怎么说话”(格式/语气) | “怎么思考”(逻辑/鲁棒性) |
| OOD表现 | 差,依赖记忆匹配 | 强,具备推理泛化能力 |
| 定位 | 冷启动,教格式 | 核心引擎,提升上限 |
一句话总结:SFT 决定下限(不出错),RL 决定上限(能解决没见过的问题)。
二、困境:SFT 的"模仿者"陷阱
2.1 本质问题:概率拟合 ≠ 逻辑推理
SFT 的目标函数:
L_SFT = -log P(正确token | 输入)
它学到了什么? 数据分布的统计规律(Correlation)
它缺了什么? 生成答案背后的因果逻辑(Causality)
2.2 三大致命缺陷
| 缺陷 | 表现 |
|---|---|
| 无负反馈 | 错误推理步骤只要最终token接近目标就能通过,模型不知道"为什么错" |
| OOD 灾难 | 训练集没见过的样本 → 幻觉或胡言乱语 |
| 边际效应递减 | 高质量数据耗尽后,堆砌低质数据反而导致"对齐税" |
2.3 一个直观比喻
SFT:老师教一步,学生学一步(背答案)
RL:老师给题目,学生自己试错,做对了给糖吃(学方法)
三、破局:GRPO 的核心机制
3.1 关键创新:去掉 Critic,组内相对竞争
传统 PPO 需要 Critic 模型估计状态价值 → 不稳定、显存开销大
GRPO 的做法:
- 同一 Prompt 采样 G 个输出:{o1,o2,...,oG}\{o_1, o_2, ..., o_G\}{o1,o2,...,oG}
- 计算各自奖励:{r1,r2,...,rG}\{r_1, r_2, ..., r_G\}{r1,r2,...,rG}
- 组内归一化计算优势:
Ai=ri−mean(r)std(r)+ϵA_i = \frac{r_i - \text{mean}(\mathbf{r})}{\text{std}(\mathbf{r}) + \epsilon}Ai=std(r)+ϵri−mean(r)
妙处:不需要知道"满分是多少",只需要知道"谁比谁好"。
3.2 为什么泛化能力更强?
| 机制 | 效果 |
|---|---|
| 探索多路径 | 模型尝试训练数据中不存在的解法,只要能拿到 Reward 就被强化 |
| 组内归一化 | 自动适应不同 Prompt 难度,消除梯度震荡,训练曲线极其稳定 |
| 长链条推理 | 鼓励模型在输出前进行更多"思考",学会自我修正 |
四、实战案例:OCR 场景的"降维打击"
OCR 是检验 GRPO 的最佳试验场:答案可验证、有逻辑约束、OOD 场景多。
4.1 场景:模糊药单识别
药单上写着 “Aspirin 100mg”,但 “Aspirin” 被污渍遮挡一半。
| 模型 | 处理方式 | 结果 |
|---|---|---|
| SFT | 根据像素特征硬匹配 → 误读为 “Asprxx” 或瞎猜药名 | ❌ |
| GRPO | 视觉特征 + 上下文推理 → “100mg + 每日一次 → 大概率是 Aspirin” | ✅ |
4.2 GRPO 模型的推理过程
1. 视觉特征提取:"Asp..." + 模糊后缀
2. 逻辑推断:后文 "100mg"、"每日一次"
3. 自我修正:"Asparag(芦笋)剂量单位不对;Aspirin 符合语境"
4. 最终输出:"Aspirin"
本质差异:SFT 在匹配像素,GRPO 在做推理。
4.3 OCR 的 Reward 设计示例
def compute_reward(prediction, context):
reward = 0
# 词汇约束:是否存在于字典
if prediction in medical_dictionary:
reward += 1.0
# 几何约束:识别框是否合理
if no_overlap(prediction.bbox):
reward += 0.5
# 语义约束:是否符合上下文
if context_coherent(prediction, context):
reward += 1.5
return reward
五、新范式:从 Data Engineering 到 Reward Engineering
5.1 SFT 与 RL 的新分工
| 阶段 | 旧范式 | 新范式 |
|---|---|---|
| SFT | 主力军,灌入所有知识,需要海量数据 | 冷启动:少量高质量数据,教会格式和指令遵循 |
| RL | 可选项,仅用于安全对齐 | 核心引擎:通过 GRPO 大规模探索提升推理能力 |
| 工程重心 | 清洗海量数据(Data Engineering) | 设计精妙的奖励函数(Reward Engineering) |
5.2 实践建议
- 场景有明确对错标准(OCR、代码、数学)→ 优先投入 RL
- 高质量数据难获取 → 与其堆低质 SFT 数据,不如设计好 Reward
- 模型"见过的会,没见过的不会" → 典型 SFT 过拟合,需要 RL 介入
六、总结
| 问题 | 答案 |
|---|---|
| 基模好,能否跳过 SFT 直接 RL? | 需要最小化 SFT(几千条),不能零 SFT |
| SFT 和 RL 的本质区别? | SFT 教"像专家说话",RL 教"像专家思考" |
| 垂直领域的核心竞争力? | 不是拥有多少数据,而是能否定义出"什么是好结果" |
从 SFT 到 GRPO,本质是让大模型从"文科生"(博闻强记)进化为"理科生"(举一反三)。
参考资料:
- DeepSeek-R1 技术报告
- GRPO 原始论文
如果这篇文章对你有帮助,欢迎点赞收藏~有问题欢迎评论区讨论!
更多推荐



所有评论(0)