直接偏好优化技术在模型对齐中的新应用方向,对想微调自建模型的开发者有参考价值。
四月,我们发布了 DharmaOCR,这是我们专门设计的结构化 OCR 模型(可在 Hugging Face 上获得),同时发布了详细说明其方法论的论文和展示其卓越质量和成本效率的基准。该论文在结构化文档提取任务上对领先的视觉语言模型系列进行了基准测试——包括开源和商业模型。该任务是对巴西葡萄牙语文本的 OCR 识别。报告的指标中包括文本退化率:模型产生重复循环而不是转录的频率。
在所有测试的开源模型系列中,原始退化率的范围从低于 1% 到超过 33%。监督微调为大多数模型降低了这些速率——但很少能达到生产可接受的水平。这一模式指出了一个结构性限制:SFT 优化正确输出,但没有明确惩罚退化。单靠任务聚焦的微调似乎有一个上限,对降低这种失败模式的幅度有所限制。
第二个训练阶段——在监督微调(SFT)之后应用,在相同的文档上,使用相同的模型——降低了所有测试模型系列中的文本退化。没有例外。平均减少:59.4%。最佳情况:87.6%。
图 1: DPO 相对于 SFT 在所有测试的模型系列中都减少了退化——平均减少 59.4%,峰值为 87.6%(Nanonets-OCR2–3B:从 1.61% 到 0.20%)。方向是不变的;只有幅度变化。
第二阶段是直接偏好优化(DPO)。几乎所有发布的 DPO 应用都针对聊天对齐——在人工判断有帮助性或无害性的基础上训练的模型(例如:Rafailov et al., 2023)。OCR 没有任何这样的主观性:任务是客观的,没有对话上下文。不过,有一个明确的偏好信号。选择正确的转录;拒绝退化循环。DharmaOCR 使用这个二进制来构造一个 DPO 训练集,测试该技术不是为了对齐,而是作为针对特定失败模式的直接缓解工具。
训练信号来自模型本身——特别是来自它失败时产生的输出。失败模式如何成为训练信号是关于失败的结构性问题,而不是关于模型的问题。
为什么 SFT 在退化上有一个上限仍然是一个未决问题——但主要的推测指向损失粒度。SFT 按令牌逐个训练:每个预测都被单独评估,重复循环从不被视为完成级别的失败而受到惩罚。DPO 颠倒了这个逻辑。训练信号是完整的输出——被选择或被拒绝——这意味着退化的完成可以被显式标记为错误的结果,而不仅仅是局部概率令牌的序列。
当训练目标最大化观察序列的似然性时,它会在这些序列占据的分布空间区域中集中概率质量。在推理过程中进入高概率吸引子区域的模型会在下一步为相同令牌分配更高概率——这进一步提高了概率,从而维持循环直到达到最大令牌限制。文本退化是这种几何的输出:自强化的重复循环,自回归模型无法在没有外部干预的情况下退出(Holtzman et al., 2020)。这不仅仅是解码工件。吸引子涉及训练目标、学到的分布以及推理期间概率质量如何集中——这是系统级的失败,而不是局限于任何单个组件的失败。
这种失败的几何在令牌级别是可见的。
图 2: 当一个令牌在其自身的条件分布中占主导地位时,每个采样步骤都加深吸引子。解码器从这种几何中采样;它不决定它。
推理层干预——包括重复惩罚、温度调整、提前中止逻辑——作用于采样步骤。它们遏制症状,但不改变产生症状的分布。吸引子持续存在。
监督微调将分布移动到更接近任务域的位置。对于结构化生成管道,这意味着在特定域的文档上进行训练,使用目标语言和所需的输出格式。模型获得了与更长序列、受约束的语法、特定域词汇的流畅性。SFT 不会做的是直接攻击退化。它的目标——最大化观察序列的似然性——没有惩罚重复循环的项。失败模式只是在训练信号优化范围之外。
DharmaOCR 基准中的一个模型系列显示了一个意外的模式:原始退化率为 0.60%,经过 SFT 后上升到 3.23%,然后随后的 DPO 阶段将其降至 1.41%。这是一个单一的数据点——一个例外而不是规则——将其视为机制证明会过度解释证据。它确实说明了 SFT 不会可靠地减少退化。能力和退化抗性可以独立移动。
这种区分在结构上很重要。SFT 和 DPO 不是可互换的训练阶段,以不同的强度执行相同的操作。SFT 缩小了模型的先验分布和任务域之间的距离。它不做的是将退化作为目标——它对失败模式的影响是附带的,基准结果表明这不是一致的。产生退化的吸引子不是模型接近任务的问题——它是模型现在占据的分布空间形状的问题。
解决这种几何需要一个特别构建的训练信号,以指导模型远离其自身的失败模式。对于没有人工偏好标签和没有传统"有帮助 vs 有害"区分的结构化、非对话任务,构造该信号是一个设计决策。
DharmaOCR 管道对 DPO 方法论的贡献是具体的:它使用 SFT 模型自己的退化输出作为拒绝的例子——不是作为要去除的噪声,而是作为优化所需的负训练信号。
DPO 需要偏好对:对于相同输入的选择输出和拒绝输出,质量差异清晰到足以让优化学习。在聊天对齐中,人工注释者产生这些判断——将响应评为或多或少有帮助、准确或安全。结构化生成任务没有等效的注释来源。OCR 管道要么产生正确的转录,要么没有。质量差异存在,但它们不是由人工偏好排名产生的——它们是由任务自身的正确性标准产生的。
DharmaOCR 管道识别了结构化生成任务已经产生的偏好信号:SFT 模型在推理中生成的输出范围。能够执行结构化任务的模型也能够以特征方式在其中失败。那些失败——进入退化吸引子的输出——不是要过滤的噪声。它们是可用的最具有信息性的负信号。
该论文在 23,726 个训练文档上实现了这一点,用 SFT 模型为每个文档生成多个候选响应,并用自动化的 LLM 判官对每个进行评分。管道如下所示。
图 3: 关键的设计决策不在管道的结构中——它在管道保留的内容中:显示文本退化的输出被故意标记为拒绝的示例,而不是被过滤掉作为低质量噪声。
当退化输出出现在训练数据中时,传统的反应是删除它们。它们是低质量信号;过滤会产生更干净的数据集。DharmaOCR 方法颠倒了这个逻辑。退化输出被故意保留为每个(选择、拒绝)对中的拒绝示例,因为它们代表 DPO 阶段被设计来抑制的确切失败模式。删除它们会丢弃最清晰的可用目标。
该论文将其描述为"偏好引导的隐式非似然"——模型不仅被训练到更好的输出,而且远离特定类别的失败。SFT 最大化高质量输出的似然性,而 DPO 阶段同时惩罚显示退化吸引子几何的输出。优化的方向以 SFT 单独无法实现的方式是明确的。
退化输出尤其适合作为拒绝样本,因为它们代表的是一种一致的失败模式,而不是各不相同的低质量输出。遗漏单词的转录结果质量很差,但这种失败取决于具体样本。相比之下,即使经过 SFT,重复循环仍持续出现在不同文档和模型家族中——这种模式符合似然优化无法可靠纠正的失败模式。DPO 采用了不同的损失应用方式:在完整输出层面进行优化,并提供明确的拒绝信号。事后分析无法确立因果关系,但证据表明,SFT 目标未能解决的问题,DPO 的目标可能可以解决。
这种方法不需要专门的标注基础设施——只需要一个既能生成可接受输出、又能生成可识别失败输出的模型,以及一个为偏好对添加标签的评分模型。基于规则的机制可以机械地检测重复循环,但它无法判断哪些输出是值得作为选中样本保留的高质量转录结果。
评分模型可以同时完成这两项工作:它将退化输出标记为拒绝输出,并验证干净的提取结果,将其作为选中输出;这样既能保持模型的提取能力,又能通过 DPO 信号惩罚这种失败模式。由此产生的训练信号能否成功地将分布推向预期方向,以及它能否在不同架构中始终如一地做到这一点,正是需要证据回答的问题。
DPO 阶段降低了所有受测模型家族的文本退化率——相较于仅使用 SFT,降幅介于 37% 到 88% 之间,平均降幅为 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 的对比。
图 1:在所有受测模型家族中,相较于 SFT,DPO 均降低了退化率——平均降幅为 59.4%,最高降幅为 87.6%(Nanonets-OCR2–3B:从 1.61% 降至 0.20%)。变化方向始终不变,只有幅度有所差异。
没有任何模型家族在 DPO 后出现退化率上升,也没有任何家族不受其影响。这种一致性同样体现在 gemma-3–4b-it 上:它进入基准测试时的原始退化率比其他模型高出一个数量级,达到 33.96%,而第二高的模型仅为 2.62%;即便如此,它在 DPO 阶段之后仍实现了 75% 的降幅。37.3% 到 87.6% 的降幅区间反映了初始配置和架构方面的差异,而不是干预方向上的不一致。
这并不能证明其具有普遍适用性。DPO 未必能够迁移到每一个领域、失败模式或模型家族。DharmaOCR 基准提供的是横跨五种 OCR 架构的证据,表明其核心假设成立:针对完整偏好对进行优化,而不是最大化词元级似然,可以处理 SFT 在结构上无法直接针对的失败模式。在每个受测模型家族中,结果的变化方向都保持一致。在该基准的范围内,证据所支持的正是这种一致性。
DharmaOCR 方法之所以可行,是因为这条流水线满足了一组结构性条件,使 DPO 训练阶段能够按设计发挥作用;而这些条件是否存在,决定了同一种方法能否应用到其他场景(Dharma OCR Paper on ArXiv)。它的可行性并不是因为 OCR 是一个独特的领域。
第一个条件是,失败模式必须能够被识别为一种独立的输出类别,而不仅仅是质量连续谱上的某个点。文本退化符合这一条件,因为重复循环与遗漏单词或误识别字符的转录结果存在类别上的差异。这种输出不只是未达到最优,而是以一种具体且在行为上可识别的方式发生了故障。正是这种类别上的独特性,让流水线能够构造偏好对,使拒绝样本代表一种连贯的失败几何结构,而不是噪声。如果一项任务的失败模式与其可接受变化范围混杂在一起,它就不具备这一属性。
第二个条件是,评分机制能够可靠地区分可接受输出和失败模式输出,而不需要人工标注。在 DharmaOCR 流水线中,一个自动化的 LLM 评审模型根据四项任务特定标准对候选响应进行评分。评分不需要做到完美——它只需要足够一致,使生成的偏好对在选中输出与拒绝输出之间具有显著的质量差距。质量差异模糊的样本对只会为 DPO 训练带来噪声,而不是信号。评审模型的一致性是一项设计要求,而不是偶然特性。
第三个条件是具备足够的数据量——即拥有足够多的推理输出,以生成质量差异具有显著方差的偏好数据集。以微调的标准来看,这并不是一项异常苛刻的要求,但它确实是一项实际要求。
当这三个条件全部满足时,这种方法论上的转变在结构上就是可行的。DharmaOCR 流水线的核心设计决策——将模型自身的失败输出用作拒绝样本,而不是将其过滤掉——适用于所有模型失败具有明确类别、能够评分且数量足够多的场景。
对于构建结构化生成流水线的机器学习工程师而言,其实践意义非常直接。SFT 是必要的——它缩短了通用模型与具备任务能力的模型之间的距离。但 SFT 并不足以保证结构化输出的可靠性,因为任务能力与抵抗退化是分布的两种不同属性。在 SFT 之后增加 DPO 阶段是一项一次性的训练投入。在 DharmaOCR 的结果中,退化率的降低并未以牺牲提取质量为代价——论文中的基准结果表明,两者实现了同步改善(Specialization Beats Scale article)。
决定一种失败模式能否被用作训练信号的并不是领域,而是这些失败是否足够一致、足够容易识别,并且数量足够多,从而构成清晰可读的信号。在 DharmaOCR 流水线中,它们满足了这些条件。其他场景是否同样如此,取决于任务失败模式的结构,而不是模型家族或所属领域。
DharmaOCR 的结果并不依赖于其领域的特殊性,而是依赖于这些失败是否有用。
文本退化之所以有用,是因为它在范畴上不同于可接受的输出、在推理运行中持续产生,并且无需人类注释即可可靠地评分。这三个特性 —— 不是 OCR 上下文、不是模型系列、不是语言 —— 决定了偏好数据集是否易于处理。满足这些特性的失败模式不是要移除的噪声。它是最直接的证据,表明分布应该避免的方向。
DPO 阶段利用了这个证据。在测试的每个模型系列中,退化现象都有所下降 —— 在进入基准时原始速率低于 1% 的模型以及速率高于 33% 的模型中都是如此。这个方向是一致的。管道没有丢弃它的失败。它在这些失败上进行了训练。
Cardoso, Gabriel Pimenta de Freitas, et al. "DharmaOCR: Specialized Small Language Models for Structured OCR that outperform Open-Source and Commercial Baselines." arXiv preprint arXiv:2604.14314 (2026).
Dharma AI. "Text Degeneration: The Production Failure Mode That LLM Benchmarks Ignore." Medium (2026).
Dharma AI. "Specialization Beats Scale: A Strategic Variable Most AI Procurement Decisions Overlook." Medium (2026).
Holtzman, Ari, et al. "The Curious Case of Neural Text Degeneration." arXiv preprint arXiv:1904.09751 (2020).
Rafailov, Rafael, et al. "Direct Preference Optimization: Your Language Model is Secretly a Reward Model." arXiv preprint arXiv:2305.18290 (2023).
本文提及的模型 1
更多来自此作者的文章
GPU 管理:为什么闲置 GPU 成为新的"停飞飞机"
新模型,相同优势
· 登录或注册评论
本文提及的模型 1