摘要: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 的做法

  1. 同一 Prompt 采样 G 个输出:{o1,o2,...,oG}\{o_1, o_2, ..., o_G\}{o1,o2,...,oG}
  2. 计算各自奖励:{r1,r2,...,rG}\{r_1, r_2, ..., r_G\}{r1,r2,...,rG}
  3. 组内归一化计算优势:

Ai=ri−mean(r)std(r)+ϵA_i = \frac{r_i - \text{mean}(\mathbf{r})}{\text{std}(\mathbf{r}) + \epsilon}Ai=std(r)+ϵrimean(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 实践建议

  1. 场景有明确对错标准(OCR、代码、数学)→ 优先投入 RL
  2. 高质量数据难获取 → 与其堆低质 SFT 数据,不如设计好 Reward
  3. 模型"见过的会,没见过的不会" → 典型 SFT 过拟合,需要 RL 介入

六、总结

问题 答案
基模好,能否跳过 SFT 直接 RL? 需要最小化 SFT(几千条),不能零 SFT
SFT 和 RL 的本质区别? SFT 教"像专家说话",RL 教"像专家思考"
垂直领域的核心竞争力? 不是拥有多少数据,而是能否定义出"什么是好结果"

从 SFT 到 GRPO,本质是让大模型从"文科生"(博闻强记)进化为"理科生"(举一反三)。


参考资料

  • DeepSeek-R1 技术报告
  • GRPO 原始论文

如果这篇文章对你有帮助,欢迎点赞收藏~有问题欢迎评论区讨论!

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐