超越聊天机器人的直接偏好优化
摘要
直接偏好优化(DPO)被应用于聊天机器人之外的OCR任务,显示出在多个模型家族中文本退化的显著减少,平均减少了59.4%。
查看缓存全文
缓存时间: 2026/06/03 15:37
直接偏好优化超越聊天机器人
来源:https://huggingface.co/blog/Dharma-AI/direct-preference-optimization-beyond-chatbots 返回文章 (https://huggingface.co/blog)
Erick Lachmann 的头像 (https://huggingface.co/ErickvL)
Pimenta de Freitas Cardoso 的头像 (https://huggingface.co/GabrielPimenta99)
- 使用来自模型自身失败的对拒样本 (https://huggingface.co/blog/Dharma-AI/direct-preference-optimization-beyond-chatbots#using-rejection-pairs-from-your-models-own-failures)- 循环在微调中存活 (https://huggingface.co/blog/Dharma-AI/direct-preference-optimization-beyond-chatbots#the-loop-survives-fine-tuning) - 设计决策:将退化输出作为对拒样本 (https://huggingface.co/blog/Dharma-AI/direct-preference-optimization-beyond-chatbots#the-design-decision-degenerate-outputs-as-rejection-pairs) - 在五个模型家族中一致 (https://huggingface.co/blog/Dharma-AI/direct-preference-optimization-beyond-chatbots#consistent-across-five-model-families) - OCR之外的模式 (https://huggingface.co/blog/Dharma-AI/direct-preference-optimization-beyond-chatbots#the-pattern-beyond-ocr) - 来源 (https://huggingface.co/blog/Dharma-AI/direct-preference-optimization-beyond-chatbots#sources)
https://huggingface.co/blog/Dharma-AI/direct-preference-optimization-beyond-chatbots#using-rejection-pairs-from-your-models-own-failures 使用来自模型自身失败的对拒样本
四月,我们发布了 DharmaOCR,一款专门的结构化 OCR 模型(可在 Hugging Face 上获取 (https://huggingface.co/Dharma-AI/Dharma-OCR-LITE)),并附带一篇论文 (https://arxiv.org/abs/2604.14314) 详细介绍了其背后的方法以及一项证明其卓越质量和成本效率的基准测试。该基准测试对领先的视觉语言模型家族——包括开源和商业模型——进行了结构化文档提取任务的评估:对巴西葡萄牙语文本进行 OCR。报告中的指标之一是文本退化率:模型产生重复循环而非转录的频率。
在测试的开源模型家族中,原始退化率范围从低于 1% 到超过 33%。监督微调降低了大多数模型的退化率——但很少达到生产可接受的水平。这种模式指向一个结构性限制:SFT 优化的是正确输出,但并未明确惩罚退化。仅靠任务聚焦的微调在减少这种失败模式方面似乎存在上限(文本退化文章 (https://huggingface.co/blog/Dharma-AI/text-degeneration-a-production-failure-mode))。
第二个训练阶段——在监督微调(SFT)之后应用,使用相同的文档,相同的模型——降低了每个测试家族的文本退化率。无一例外。平均降低:59.4%。最佳情况:87.6%。
image (https://cdn-uploads.huggingface.co/production/uploads/69d815b52c6db28cfdfdd422/o-TBg6d-3_PbbSouY5tGM.png)图1:在所有测试的模型家族中,DPO 相比 SFT 降低了退化率——平均降低 59.4%,峰值 87.6%(Nanonets-OCR2–3B:从 1.61% 降至 0.20%)。方向不变,只有幅度变化。
这个第二阶段就是直接偏好优化(DPO)。几乎所有已发表的 DPO 应用都针对聊天对齐——模型基于人类对有用性或无害性的判断进行训练(例如:Rafailov 等人,2023)。OCR 没有这种主观性:任务是客观的,也没有对话上下文。然而,存在一个明确的偏好信号。正确的转录被选中,退化循环被拒绝。DharmaOCR 利用这种二元性构建了 DPO 训练集,将这项技术用于直接缓解特定失败模式,而非对齐。
训练信号来自模型本身——具体来说,来自它失败时产生的输出。失败模式如何成为训练信号,这是一个关于失败本身的结构性问题,而非关于模型。
https://huggingface.co/blog/Dharma-AI/direct-preference-optimization-beyond-chatbots#the-loop-survives-fine-tuning 循环在微调中存活
为什么 SFT 在退化方面存在上限仍然是一个开放性问题——但主要的猜想指向损失粒度。SFT 逐 token 训练:每个预测被孤立地评估,重复循环从未作为完成级别的失败被惩罚。DPO 反转了这一逻辑。训练信号是整个输出——被选中或被拒绝——这意味着一个退化的完成可以被明确标记为错误结果,而不仅仅是一系列局部概率高的 token。
当训练目标最大化观测序列的似然时,它会将概率质量集中到这些序列所占据的分布空间区域中。在推理过程中进入这些高概率吸引子区域的模型,会在下一步为同一个 token 分配更高的概率——这进一步增加了概率,从而维持循环直到序列达到最大 token 限制。文本退化就是这种几何结构的结果:自回归模型无法在无外部干预的情况下退出的自我强化重复循环(Holtzman 等人,2020)。这并非纯粹的解码伪影。吸引子涉及训练目标、学习到的分布以及推理过程中概率质量的集中方式——这是一个系统级别的失败,而非局限于任何单一组件。
这种失败的几何结构在 token 级别可见。
image (https://cdn-uploads.huggingface.co/production/uploads/69d815b52c6db28cfdfdd422/kJIgJGSsa8HJqLNkm4Ho8.png)图2:当一个 token 支配其自身的条件分布时,每个采样步骤都会加深吸引子。解码器从这种几何结构中采样,而不是决定它。
推理层的干预——重复惩罚、温度调整、提前中止逻辑——作用于采样步骤。它们控制症状,但不触及产生症状的分布。吸引子仍然存在。
监督微调将分布移近任务领域。对于结构化生成流水线,这意味着在特定领域的文档、目标语言和所需输出格式上进行训练。模型获得更长的序列、受限的句法、领域词汇的流畅性。SFT 并未直接攻击退化。它的目标——最大化观测序列的似然——没有惩罚重复循环的项。失败模式完全超出了训练信号优化的范围。
DharmaOCR 基准测试中的一个模型家族显示了一个不寻常的模式:原始退化率为 0.60%,SFT 后上升至 3.23%,随后 DPO 阶段将其降至 1.41%。这是一个单一数据点——例外而非规则——将其视为机制的证明可能会过度解读证据。但它确实说明 SFT 并不能可靠地降低退化率。能力和退化抵抗可以独立变化。
这种区别在结构上很重要。SFT 和 DPO 并非以不同强度执行相同操作的可互换训练阶段。SFT 缩小了模型先验分布与任务领域之间的距离。它没有将退化作为目标——它对失败模式的影响是附带的,而基准测试结果显示它并不一致。产生退化的吸引子并非模型与任务接近程度的问题——而是模型现在所占据的分布空间形状的问题。
解决这个几何结构需要一个专门构建的训练信号,以引导模型远离自身的失败模式。对于一个结构化、非对话式的任务,没有人类偏好标签,也没有传统的“有帮助 vs 有害”区别,构建这个信号是一个设计决策。
https://huggingface.co/blog/Dharma-AI/direct-preference-optimization-beyond-chatbots#the-design-decision-degenerate-outputs-as-rejection-pairs 设计决策:将退化输出作为对拒样本
DharmaOCR 流水线对 DPO 方法的贡献是具体的:它使用了 SFT 模型自身的退化输出作为被拒绝的示例——不是作为需要移除的噪声,而是作为优化所需的负面训练信号。
DPO 需要偏好对:对于同一输入,有一个被选中的输出和一个被拒绝的输出,并且质量差异足够明显,以便优化从中学习。在聊天对齐中,人类标注者产生这些判断——将回答评为更有帮助、准确或安全。结构化生成任务没有等效的标注来源。OCR 流水线要么产生正确的转录,要么没有。质量差异存在,但它们不是由人类偏好排名产生的——而是由任务自身的正确性标准产生的。
DharmaOCR 流水线识别了结构化生成任务已经产生的一种偏好信号:SFT 模型在推理中生成的各种输出。一个能够执行结构化任务的模型也能够在典型方式上失败。这些失败——进入退化吸引子的输出——不是需要过滤的噪声。它们是可以得到的最具信息性的负面信号。
论文在 23,726 个训练文档上实现了这一点,使用 SFT 模型为每个文档生成多个候选回答,并使用自动 LLM 评判器进行评分。流水线如下所示。
image (https://cdn-uploads.huggingface.co/production/uploads/69d815b52c6db28cfdfdd422/o6z7skgMtLq22aFGkeYvw.png)图3:关键的设计决策不在于流水线的结构——而在于流水线保留了什么:显示文本退化的输出被故意标记为被拒绝的示例,而不是作为低质量噪声被过滤掉。
当训练数据中出现退化输出时,常规反应是将其移除。它们是低质量信号;过滤会产生更干净的数据集。DharmaOCR 方法反转了这一逻辑。退化输出被故意保留作为每个(选中,拒绝)对中的被拒绝示例,因为它们恰好代表 DPO 阶段旨在抑制的失败模式。移除它们将丢弃可用的最清晰目标。
论文将其描述为“偏好引导的隐式非似然” —— 模型不仅被训练朝向更好的输出,还被训练远离特定类别的失败。SFT 最大化高质量输出的似然,而 DPO 阶段同时惩罚显示退化吸引子几何结构的输出。优化的方向是明确的,这是 SFT 单独无法实现的。
退化输出尤其适合作为拒绝示例,因为它们代表一致的失败模式,而非各种低质量输出。一个漏词的转录是低质量的,但它的失败是案例特定的。相比之下,重复循环即使在 SFT 之后仍然在文档和模型家族中持续出现——这与基于似然的优化无法可靠纠正的失败模式一致。DPO 以不同的方式应用其损失:在完成级别,使用明确的拒绝信号。事后分析无法确立因果关系,但证据表明,SFT 的目标未能解决的问题,DPO 的目标可能解决。
这种方法不需要专门的标注基础设施——只需要一个能够产生可接受输出和可识别失败输出的模型,以及一个标记偏好对的评分模型。基于规则的机制可以机械地检测重复循环——但它无法识别哪些输出代表值得保留为选中示例的高质量转录。
评分模型两者兼顾:它将退化标记为被拒绝的输出,并将干净的提取验证为选中的输出,从而保持模型的提取能力完整,同时 DPO 信号惩罚失败模式。由此产生的训练信号是否成功地将分布朝预期方向移动——以及是否在不同架构中一致地做到——是证据问题。
https://huggingface.co/blog/Dharma-AI/direct-preference-optimization-beyond-chatbots#consistent-across-five-model-families 在五个模型家族中一致
DPO 阶段在每个测试的模型家族中降低了文本退化率——降低幅度从 37% 到 88% 不等,与仅 SFT 相比平均降低 59.4%。结果在架构、参数规模和起始退化率(相差超过一个数量级)之间保持一致。数据集中的一个案例在 SFT 阶段后退化率上升,然后 DPO 将其纠正。这个案例并不使一致性复杂化。它比其他任何案例都更直接地确认了机制。
图1 显示了每个测试的五个模型家族的三阶段退化率:原始、SFT 和 SFT+DPO。在五个家族中,有四个的退化率在每个阶段下降。第五个家族的柱状图移动不同——这种差异是研究中分析上最重要的数据点。
仔细阅读 Qwen2.5-VL-3B 的结果,它并非复杂化。而是确认。该模型的原始退化率为 0.60%——不是因为稳定,而是因为它太泛化以至于根本无法产生长结构输出。模型没有进入退化吸引子,因为它没有认真尝试任务来找到它。
SFT 改变了这一点。经过领域自适应后,Qwen2.5-VL-3B 变得能够执行任务——产生更长、更结构化的输出,包含流水线所需的领域词汇和格式。这种能力使它首次接近退化吸引子。其退化率上升至 3.23%。
这就是机制在经验上变得可见的地方:SFT 同时将模型移向任务和任务的失败几何结构。这些不一定是相同的操作。一个增加任务能力的训练阶段可能作为副作用增加失败模式的暴露——特别是当失败模式位于能力前沿的边缘时。如果视为相同的操作,Qwen2.5-VL-3B 的结果看起来像一个错误。如果视为不同的操作——这正是 SFT + DPO 流水线正式所做的——结果与假设一致,即 SFT 和 DPO 处理不同的失败维度。
然后 DPO 阶段将退化率降至 1.41%。它没有恢复原始基线,因为它并非为此设计:SFT 后的模型比以前更有能力,恢复到 0.60% 需要撤消那种能力。DPO 阶段所做的是解决 SFT 阶段引入的失败几何结构。
其余四个模型家族为同一结论增加了定量权重。图1 显示了所有五个家族的 SFT 到 SFT+DPO 比较。
image (https://cdn-uploads.huggingface.co/production/uploads/69d815b52c6db28cfdfdd422/zhNY8YL4WieHlJ1JV0Rd-.png)图1:在所有测试的模型家族中,DPO 相比 SFT 降低了退化率——平均降低 59.4%,峰值 87.6%(Nanonets-OCR2–3B:从 1.61% 降至 0.20%)。方向不变,只有幅度变化。
没有模型家族在 DPO 后退化率增加。没有家族对其影响免疫。一致性扩展到 gemma-3-4b-it,它进入基准测试时原始退化率比其他模型高一个数量级——33.96%,而次高的为 2.62%——并且在经过 t 处理后仍达到 75% 的降低。
相似文章
面向聊天机器人微调的直接偏好优化:一项实证研究
本文对直接偏好优化(DPO)在大型语言模型微调中的应用进行了实证研究,表明DPO简化了训练流程,在实现竞争性性能的同时,也解决了训练不稳定性问题。
GroupDPO:内存高效的分组直接偏好优化
GroupDPO 引入了一种内存高效的分组直接偏好优化算法,该算法利用每个提示的多个候选响应,通过解耦反向传播来减少峰值内存使用。该方法在离线和在线对齐设置中均展现出相比标准 DPO 的持续改进。
xi-DPO:通过比率奖励边际的直接偏好优化
本文介绍了 xi-DPO,这是一种新颖的偏好优化方法,通过将目标重构为最小化与最优比率奖励边际的距离,解决了 SimPO 中的超参数调整难题。实验结果表明,xi-DPO 在开放基准测试中优于现有方法。
面向中英文混合语音识别的音频大语言模型直接偏好优化
本文应用直接偏好优化(DPO)来对齐音频大语言模型,以转录中英文混合语音,在分布内实现了高达89.6%的MER降低,在分布外实现了20%的降低。它识别出三种失败模式——语言遗漏、翻译替代转录以及幻觉——并表明基于偏好的对齐能有效激发多语言音频大语言模型的正确混合转写行为。
基于区域感知的双模态直接偏好优化的组合式文本到图像生成
本文介绍了BiDPO,这是一个通过基于偏好的微调和区域级引导来增强文本到图像模型处理复杂组合提示的框架,在组合保真度基准上达到了最先进的性能。