# DPO走出聊天机器人:用模型自身失败样本抑制OCR退化

5 min read
Table of Contents

背景

直接偏好优化(DPO)自2023年提出以来,几乎被默认用于聊天机器人的对齐训练——让模型学会选择更有用、更无害的回答。但6月3日,Dharma-AI团队在HuggingFace上发表文章,展示了DPO在结构化OCR任务上的惊人效果:他们将DPO应用于巴西葡萄牙语文档识别,直接针对模型最顽固的故障模式——文本退化(text degeneration)进行优化,结果各模型族的退化率平均降低59.4%。

核心内容分析

退化:SFT也治不了的顽疾

OCR模型在转录长文本时,经常会陷入重复循环(如“123456…123456…”),这一现象称为文本退化。团队测试了多种开源视觉语言模型,发现未经调优的退化率从低于1%到超过33%不等。即使经过监督微调(SFT),退化率虽有所下降,但大部分仍无法达到生产级标准。

原因在于SFT的训练粒度是token级别的:每个预测独立计算损失,模型无法感知整个输出是否陷入循环。而退化是序列级别的错误,SFT对此缺乏直接惩罚。

DPO的序列级偏好信号

DPO的训练单元是整个完成序列(completion)。团队将正确转录作为“被选输出”,将退化循环作为“被拒输出”,构建了二元偏好对。关键在于,这些失败样本来自模型自己的输出——当模型生成退化时,该序列被自动标记为负例。

这种自我生成失败样本的方法让训练信号与模型的实际故障模式高度匹配。实验结果非常一致:在所有测试模型族中,DPO均降低了退化率,平均降低59.4%,最佳案例达到87.6%(Nanonets-OCR2–3B从1.61%降至0.20%)。

超越聊天对齐的意义

这篇文章最重要的启示是:DPO的价值远不止于聊天对齐。任何存在明确的“好/坏”序列级判定的任务都可以受益,比如代码生成(正确编译 vs 语法错误)、摘要(信息完整 vs 遗漏要点)、翻译(信达雅 vs 字对字)。DPO将优化目标从token级别提升到序列级别,填补了SFT的结构性盲区。

行业影响与专业点评

该工作为偏好优化算法开辟了新领域:

  • 自举训练信号:无需人工标注,利用模型天然的错误行为即可生成偏好对。
  • 适用于客观任务:摆脱了对“有用性/安全性”等主观判断的依赖。

未来,DPO可能成为微调流程中的标准第二阶段,尤其适用于高可靠性要求的场景(如文档识别、医疗报告生成)。不过,文章未讨论DPO是否会降低模型在其他维度的性能,以及退化防治的长期效果。总体而言,这项研究让DPO从“对齐工具”进化为“通用序列纠错工具”,具有重要的工程价值。


来源

My avatar

文章看完了,不打算去别的篇章转转吗?👀 感谢你的耐心阅读!如果你有问题想探讨,或者发现了文中的 Bug,请务必通过页脚的链接联系我


More Posts

Comments