超越聊天机器人的直接偏好优化
本文介绍了Dharma-AI团队在结构化OCR任务中应用直接偏好优化(DPO)的方法,通过将模型自身的退化输出作为拒绝示例,有效降低了文本退化率,平均降低59.4%,最高达87.6%。该方法不依赖人工偏好标注,适用于客观结构化任务。
近日,Dharma-AI团队发布了一项关于直接偏好优化(DPO)在非聊天任务中应用的研究,展示了如何利用模型自身的失败输出作为训练信号,显著降低结构化OCR任务中的文本退化率。该方法已在DharmaOCR模型中得到验证,相关论文和基准测试表明,DPO能够将退化率平均降低59.4%,最高达87.6%。
文本退化是自回归语言模型在生成长序列时常见的问题,表现为重复循环,导致输出无意义。传统的监督微调(SFT)虽然能提升模型在特定任务上的表现,但对退化率的改善存在天花板,因为SFT以逐token的方式优化,无法从整体序列层面惩罚退化。而DPO则直接比较完整输出的优劣,通过偏好对(优选和拒绝)来引导模型远离退化模式。
DharmaOCR的独特之处在于,其DPO训练数据中的拒绝样本并非来自人工标注,而是来源于模型自身在推理时产生的退化输出。团队发现,这些失败输出恰恰是最有价值的负信号,能够精准指向模型需要避免的故障模式。具体而言,他们使用经过SFT的模型对同一文档生成多个候选输出,并由自动评分器标记出退化序列作为拒绝示例,而正确的转录则作为优选示例。这种方法无需额外的人工标注成本,仅需模型自身具备产生合格输出和可识别失败的能力。
实验覆盖了五个不同的视觉语言模型系列,包括Qwen2.5-VL、Nanonets-OCR等,结果一致显示DPO进一步降低了退化率。特别值得注意的是,Qwen2.5-VL-3B模型在SFT后退化率反而从0.60%上升至3.23%,这恰恰证实了SFT可能将模型引入退化吸引子区域,而DPO成功将其校正至1.41%。这一现象揭示了SFT与DPO在机制上的互补性:SFT提升任务能力,DPO则专门处理能力提升过程中暴露出的退化问题。
DPO的训练信号来源于模型自身的失败输出,这一设计决策将通常被过滤的噪声转化为最有信息量的负信号。DharmaOCR团队使用23,726个训练文档,每个文档由SFT模型生成多个候选输出,并由LLM自动评分器标记退化输出为拒绝样本。与传统方法不同,他们刻意保留了这些退化输出作为拒绝示例,因为它们恰好代表了DPO阶段旨在抑制的故障模式。
该方法为结构化生成任务提供了一种有效的训练范式,尤其是那些缺乏人类偏好标签的客观任务。通过利用模型自身的错误作为学习信号,DPO能够在无需额外数据的情况下大幅提升输出质量,为未来在更多非聊天场景中应用偏好优化铺平了道路。这项研究不仅验证了DPO在非对话任务中的有效性,也为解决文本退化这一普遍问题提供了新的思路。