超越聊天机器人的直接偏好优化
18 天前 10 阅读来源:HuggingFace Blog
AI 中文改写
原文为英文,由 AI 改写为中文报道,内容完整。如需参考原文请点击下方链接
当模型陷入死循环:DharmaOCR 用 DPO 把“失败”变成“训练信号”
今年 4 月,Dharma-AI 团队发布了 DharmaOCR,一个专门用于结构化文档识别的 OCR 模型,并同步公开了技术论文和评测基准。在针对巴西葡萄牙语文本的结构化提取任务中,团队发现了一个令人头疼的问题:文本退化(text degeneration),即模型在转录过程中陷入重复循环,而不是正常输出内容。在测试的多款开源视觉语言模型中,退化率从不到 1% 到超过 33% 不等。即便经过监督微调(SFT),大部分模型的退化率依然无法降到生产可接受的水平。这暴露了一个结构性局限:SFT 优化的是“正确输出”,但它并没有显式惩罚“退化”这种失败模式。
问题的根源在于 SFT 的训练粒度。SFT 按 token 逐个训练,每个预测被孤立评估,一个重复循环在完成级(completion-level)上永远不会被标记为失败。而 DharmaOCR 团队采用的解决方案,是直接偏好优化(DPO)。与大多数 DPO 应用场景不同——它们通常用于对话对齐,依赖人类对“有用性”或“无害性”的主观判断——OCR 任务完全是客观的:正确的转录就是“被选中的”,退化的循环就是“被拒绝的”。团队利用这个二元信号构建了 DPO 训练集,不是用来对齐模型行为,而是直接针对特定失败模式进行修正。
59.4% 的退化率下降:模型自己的失败成了最好的老师
DPO 的训练信号来自模型自身——具体来说,来自它失败时产生的输出。团队在 SFT 之后,对同一批文档、使用同一个模型,进行了 DPO 训练。结果令人振奋:所有被测试的模型家族,退化率无一例外地下降,平均降幅达到 59.4%,最佳案例甚至降低了 87.6%。例如,Nanonets-OCR2–3B 模型的退化率从 1.61% 骤降至 0.20%。这个结果说明,DPO 不是单纯地“对齐”模型,而是从根本上改变了模型对失败模式的认知。
为什么 DPO 能如此有效?关键在于训练信号的粒度。SFT 按 token 优化,退化循环只是“一系列局部概率较高的 token”,不会被整体惩罚。而 DPO 的训练信号是整个输出——被选中的或被拒绝的——这意味着一个退化的完成结果可以被明确标记为“错误答案”,而不仅仅是一串局部概率高的 token。当训练目标最大化观察序列的似然时,模型会概率质量集中在这些序列所在的分布空间区域。一旦模型在推理时进入这些高概率的“吸引子”区域,它就会在下一步给同一个 token 分配更高的概率,从而自我强化,直到达到最大 token 限制。DPO 打破了这种几何结构,让模型学会避开这些“死循环”区域。
对于中国跨境电商卖家和 AI 从业者来说,这个案例的意义在于:DPO 的应用远不止于聊天机器人。在文档识别、数据提取等客观任务中,模型自身的失败输出可以成为最宝贵的训练数据。与其依赖人工标注或外部数据,不如让模型从自己的错误中学习——这不仅能显著降低退化率,还能大幅提升生产环境的稳定性和成本效率。
这篇文章对你有帮助吗?
觉得有用?分享给更多人
留言 · 0 条
暂无留言,来说两句吧
