项目地址:GitHub - om-ai-lab/VLM-R1: Solve Visual Understanding with Reinforced VLMs
最近做毕设,看到VLM-R1项目,一个有趣的现象:在Grounding任务中,GRPO训练的模型不仅展现出更稳定的训练曲线,其域外泛化能力更是远超传统SFT方法。这种差异在OCR等视觉-语言交叉任务中尤为显著。在追求大模型垂直领域落地的道路上,我们是否过度依赖了监督式微调?强化学习的引入究竟带来了什么改变?
我自己也试过用QwenVL2.5去做类似于文档Grounding的尝试,不得不说在训练的那些数据集/验证集上表现不错。换一个场景的文档立马露馅。如果文档识别和还原做不到泛化,那么我认为没什么意义。就像最近的olmOCR,说是效果很好,推理很快,在250000张图片SFT已经是可以的数字了。我尝试下来,中文泛化效果堪忧,至少我手里的数据效果很差(但你就说快不快吧)。
监督微调(SFT)学得有些过头。以OCR任务为例,当我们在特定数据集(如规范扫描文档)上进行微调时,模型会迅速掌握该场景下的文字、Box确切分布。但这种学习方式存在两个致命弱点:
数据分布的隐形镣铐:模型过于关注学习标注数据中的确定性映射,遇到其他目标或其他背景时,如同突然切换语言的翻译官,陷入迷茫。在目标定位任务这里尤其严重。
误差传递的恶性循环:在自回归生成过程中,单个字符识别错误会像多米诺骨牌般影响后续预测,这种现象在域外数据中呈倍放大。在我SFT的例子看来,歪一个坐标框,后面的多半跟着歪。
实验中SFT模型在域外测试集上的性能随训练步数增加而下降,或许反映这一点。
将强化学习框架引入多模态对齐过程。不同于SFT的确定性路径,更像是一位持保守主义的Explorer:
1. 生成即探索(Generation as Exploration):
-
这个过程实际上模拟了人类面对不确定性的试错机制
2. 保守策略更新(Conservative Policy Update):
-
引入剪裁参数,本质上是对策略更新的信任区间控制
3. 非确定奖励塑造(Reward Shaping under Uncertainty):
-
在视觉定位任务中,IoU(交并比),而非严格的下一个token作为奖励或者说损失
-
相比SFT的0-1损失(在分类任务上交叉熵本质是用硬标签的KL散度),这种细粒度反馈更利于模型理解前进方向
因此,在训练模型进行下游任务时,我们可以对任务先分类一下,不是所有任务SFT都是最优方案。
有三点启示:
从「确定性拟合」到「概率性覆盖」:模型的垂直领域适配不应止步于数据标注的精度,更要考虑如何引导。这里的引导就是指,你是想在token级别拟合,还是通过奖励给迭代方向。虽然奖励函数其实不好设计,需要试。
保守主义的进化论:在策略更新中保持适度的「守旧」,反而能获得更好的进化稳定性。当然,如果你的模型就是要硬拟合下游任务,并且不考虑过多泛化。那就当我没说。
向好的方向前进:将生成过程中的错误从需要消灭的敌人,转化为指引方向的向导,这是GRPO相较SFT不同。