PLC-DPO:逐条判偏好标签该信还是该翻的方法,57 组实验平均胜率第一
给同一个问题的两份回答打分,两个专业标注员会意见一致吗?InstructGPT 论文里实测过:训练标注员之间的一致性只有 72.6% ± 1.5%,换一批 held-out 标注员是 77.3% ± 1.3%。换句话说,大约每四到五条标注里就有一条,换个人来标,结果可能截然相反 InstructGPT。而 DPO(直接偏好优化),这个当下最流行的对齐方法之一,把每一条这样的标签都当成不可挑战的事实来训练。
PLC-DPO 就是这样一篇论文:一套针对噪声与歧义偏好数据的标签校正训练方法,给每条标签逐条判决"该信、该翻、还是该拉平",再据此训练 PLC-DPO。在 57 组模型与数据集的实验矩阵里,它的平均胜率第一。要理解它为什么值得读,得先回答一个问题:DPO 凭什么这么自信?
DPO 把每条偏好标签当成真理,这个前提站得住吗?
本文要讲的 PLC-DPO,处理的正是不那么可靠的偏好标签。它的类别锚点,是给每条标签在三态里判一个身份:clean(该信)、flip(该翻)、tie(该拉平),模型在训练中逐条判决。这个判决为什么必要?因为 DPO 的前提是每条标签都可信,而真实标注远远达不到这个标准:InstructGPT 论文里实测过,训练标注员之间的一致性只有 72.6% ± 1.5%,换一批 held-out 标注员是 77.3% ± 1.3%,大约每四五条标注里就有一条,换个人来标,结果可能截然相反。而 DPO(直接偏好优化),这个当下最流行的对齐方法之一,把每一条这样的标签都当成不可挑战的事实来训练 InstructGPT。
DPO 为什么必须信任每一条标签?它的高效来自一道闭式解。传统的 RLHF 要训练一个独立的奖励模型,再用强化学习把策略推往高奖励方向,这条思路最早可以追溯到 2017 年的偏好学习工作,在 GPT-3 规模上由 InstructGPT 正式落地 RLHF。DPO 证明,在 Bradley-Terry 偏好模型下,最优策略可以解析地写成参考模型乘上隐式奖励的形式,于是"被选回答优于被拒回答"的概率直接等于一个 sigmoid:
$$ L_{\text{DPO}} = -\mathbb{E}{(x,y_w,y_l)\sim\mathcal{D}}\left[\log\sigma\left(\beta\log\frac{\pi\theta(y_w|x)}{\pi_{\text{ref}}(y_w|x)} - \beta\log\frac{\pi_\theta(y_l|x)}{\pi_{\text{ref}}(y_l|x)}\right)\right] $$
其中 $\beta\log(\pi_\theta(y)/\pi_{\text{ref}}(y))$ 就是 DPO 论文标题反复强调的"隐式奖励":策略网络自己就是自己的奖励模型,不需要单独再训练一个 DPO。奖励建模和强化学习两个环节被数学压缩掉了,训练又快又稳。代价是,模型的全部输入只剩下一对对标注好的 (chosen, rejected),它只能全盘相信这些标签。

图注:左右两种路径的对比。左侧 RLHF 走完"采样回答、人工标注、拟合奖励模型、强化学习优化"的完整回路;右侧 DPO 用同一个分类目标直接优化策略,跳过了奖励建模与 RL 两步,唯一输入就是成对偏好标签。DPO
现实中的标注,按两种方式背叛这种信任。第一种是噪声,标签标反了。标注员走神、自动裁判被"回答更长显得更认真"这类表面线索带偏,都算这一种。第二种是歧义,两条回答真的没有高下。比如问"怎么煮溏心蛋",一个回答"水开后煮六分钟",另一个"水开后煮五分钟再焖一下",写法不同但都八九不离十。标注员随手点了一个,DPO 却把这条样本当成"被选的那条明显更好",用力往一个并不存在的方向推。前者是标签错了,后者是标签在结构上就不该分胜负。
歧义还有一个更隐蔽的变体:两条回答本身有高低,但当前这个模型在这个 prompt 上还分不出来,它此时算出的 margin 和噪声没有区别。DPO 用同一个 sigmoid 硬推,等于在模型还没建立起分辨能力的时候,就替它把"谁更好"定了案。更麻烦的是早期错误会自我积累:模型被喂了错误的方向,下一轮它自己算出的 margin 也跟着偏,后来的判断依据就建立在越来越不可信的证据上。
这不是理论洁癖,而是规模上的必然。InstructGPT 当年为了产出偏好数据,雇了约 40 名承包商,让每个人在 4 到 9 个模型回答之间排序 InstructGPT。今天的偏好数据集更大、来源更杂,混入的噪声与歧义样本只多不少;模型服务的用户越多,"全盘信任"的代价就越高。
于是张力出现了:DPO 的高效,建立在"标签全可信"这个前提上,而真实数据同时从噪声和歧义两个方向击穿这个前提。要保住 DPO 的效率,就必须先逐条回答:这条标签,该信,还是该翻?在 PLC-DPO 之前,人们不是没意识到这个问题,但四条主要的鲁棒化路线,都绕开了它。
四条鲁棒化路线,为什么都绕开了"这条标签本身对不对"?
2024 到 2025 年,DPO 鲁棒化研究分成至少四条主线,每条都在"怎么训练更稳"上做文章,却没有一条在单样本粒度上回答"这条标签本身对不对"。
| 路线 | 代表方法 | 怎么做 | 绕开了什么 |
|---|---|---|---|
| 损失级去偏 | rDPO、cDPO | 按全局翻转率先验 ε 对损失去偏或做标签平滑 | 要先知道 ε,而真实噪声逐样本不同 |
| 奖励重构 | SimPO、γ-PO | 换奖励公式,长度归一、动态目标间隔 | 只改"怎么量差距",不判断标签真假 |
| 数据选择 | BeeS | 用 margin 聚合挑出高分样本,低分直接丢弃 | 丢弃即浪费,且依赖外部奖励源 |
| EM 软标签 | RE-PO | 在数据集层面按标注员可靠性对标签软加权 | 只降权不翻转,粒度到不了单样本 |
损失级路线的代表是 rDPO,它假设数据里有一个已知的全局翻转率 ε,构造一个去偏损失,使其期望恰好等于干净数据的 DPO 损失 rDPO。问题在于 ε 必须事先知道,而真实标注的错误率逐条不同,不是一个常数。奖励重构路线的 SimPO 与 γ-PO 把奖励公式改成更稳的形式,但无论怎么度量差距,它们从不质疑标签指向的方向 SimPO γ-PO。数据选择路线的 BeeS 用 margin 把高分样本挑出来训练,低分样本永久扔掉,等于把一条可能还有用的信号浪费掉 BeeS。
四者里离"判断标签"最近的是 RE-PO:它把"这条标签是不是对的"当成一个隐藏变量,用 EM 在数据集层面按标注员可靠性估计置信度、再软加权更新策略 RE-PO。注意这两个关键词:数据集层面、软加权。它给每条标签一个 0 到 1 的权重,重的多学、轻的少学,但从不给出"这条标反了,反过来学"的判决。这个空缺,正是 PLC-DPO 要补的位置。
把四条线放在一起看,共同盲点就清楚了。判断的粒度要么停在损失函数层面,要么停在数据集层面,没有一条走到"单条样本"层面;动作空间要么改权重、调奖励公式、扔样本,没有一条包含"把标签方向翻过来"这个动作。γ-PO 是最接近的一条:它按每条样本自己的 reward margin 动态调整目标间隔,数学上等价于逐样本的标签平滑,margin 小的样本自动获得更模糊的标签 γ-PO。但它调整的只是"推的力度",方向依然照单全收。噪声和歧义这两类失败,在它们眼里都只是"这一条该轻一点推",而不是"这一条压根信错了"。
关键反转:标签的"身份",是模型该推断的隐藏状态
PLC-DPO 的第一步是一个视角转换。它不再问"这条标签怎么用",而是问"这条标签的真实身份是什么"。每一对偏好样本背后,都有一个看不见的状态,论文把它形式化为 latent state(隐藏状态):可能是 clean,标签方向是对的,值得强化;可能是 flip,标签被标反了,需要反转方向;也可能是 tie,两条回答分不出高下,不该诱导任何方向的梯度。模型在训练中一边学、一边推断这个身份 PLC-DPO。
tie 之所以必须登台,是因为 DPO 依赖的 Bradley-Terry 模型在结构上就不给平局留位置。看下面这张图,蓝色曲线代表的 Bradley-Terry 模型,平局概率恒为 0,无论两条回答多接近,它都强制吹出一个胜者。传统实践只能把"歧义样本"直接丢掉,这等于连同其中的信息一起扔掉。PLC-DPO 选择给 tie 一个合法的出口。

图注:横轴是奖励差距。左图是"存在明确偏好"的概率,右图是"平局"的概率。蓝色 Bradley-Terry 曲线的平局概率恒为 0,紫色 Rao-Kupper 与橙色 Davidson 在差距接近零处隆起,给平局留出概率质量。DPO-RK
判定身份的证据从哪来?不需要外部裁判。DPO 训练里本来就在算的那个量,策略与参考模型的 margin,就是现成的可信度证据:margin 大而正,说明模型自己都认为 chosen 明显更好,这条标签有理由被相信;margin 大而负,说明模型认为 chosen 反而更差,标签多半被标反了;margin 趋近于零,说明模型分不出高下,这条标签缺乏被相信的证据。同一个量,在 DPO 里是训练信号,在这里是审判证据。
这套复用并非凭空发明。DPO 的梯度里本来就藏着一个自我怀疑的机制:当模型自己都觉得 rejected 比 chosen 更好时,梯度权重会自动变大,更新反而更用力,仿佛模型在对"别扭"的样本加倍警惕 DPO。PLC-DPO 把这种隐式的自我怀疑升级成显式的三态判决,是从"被动加权"到"主动改判"的一步。
论文把这些路由权重称为"后验",但这里必须澄清:这是工程化的叫法,不是严格意义上的贝叶斯后验。它不是在推一条真正的后验分布,只是用模型自身的一手信号估出软判断。这个澄清很重要,因为它决定了下一章的整套机制,为什么需要那么多"防作弊"的装置。
同时要说明白的还有 tie 的语义。tie 不是"标签错了",而是"这题不该现在判":两条回答质量接近,模型此时的 margin 提供不了稳定的方向信号,强行二分只会往噪声方向推。tie 损失的作用,是抑制这对回答的相对 margin、不给当前标签施加强方向更新,等于告诉模型:这一条先记下,别急着下结论。
一条标签的"三态审判":从 margin 证据到三种损失的流水线
有了证据和三个候选身份,接下来是一条完整流水线:证据、判决、执行、看护。先看判决依据。原始 margin 在不同训练阶段、不同批次之间量纲不稳定,直接拿来比会误判。论文先做两件事:对 margin 施加 stop-gradient,不让它参与梯度反传;再用指数滑动平均维护均值和方差的在线估计,把每个样本的 margin 标准化成跨阶段可比的分数。标准化的目的,是让"训练中段算出的 0.5"和"训练初期算出的 0.5"说的是同一件事。
然后进入判决环节。三个状态各打一个能量分,可以理解成给三个候选身份各写一个嫌疑值:标准化 margin 越正,clean 的嫌疑越高;越负,flip 的嫌疑越高;离零越近,tie 的嫌疑越高。三个能量分一起进 softmax,比出谁更可信,得到路由权重。判决结果再次被 stop-gradient 冻结,才进入执行阶段。
执行阶段是三种损失的加权混合:
$$ \mathcal{L}{\text{plc}} = \bar{q}{\text{clean}},\mathcal{L}{\text{clean}} + \bar{q}{\text{flip}},\mathcal{L}{\text{flip}} + \bar{q}{\text{tie}},\mathcal{L}_{\text{tie}} $$
其中 $\mathcal{L}{\text{clean}} = -\log\sigma(m)$ 就是标准 DPO 损失,强化观察到的方向;$\mathcal{L}{\text{flip}} = -\log\sigma(-m)$ 是它的镜像,把方向反过来学;$\mathcal{L}_{\text{tie}} = \mathrm{softplus}(|m|)$ 在 margin 越大时惩罚越重,把这对回答往"拉平"的方向推,也就是将该偏好对的相对 margin 推向零、避免继续强化任一方向。混合系数是冻结后的路由权重:哪个身份的概率越高,对应损失占的份量就越重。
这还不是最终目标。论文把 PLC 损失与标准 DPO 损失按置信度插值:
$$ \mathcal{L} = (1-\gamma_t,C(\bar{q})),\mathcal{L}{\text{DPO}} + \gamma_t,C(\bar{q}),\mathcal{L}{\text{plc}} $$
$C(\bar{q})$ 是置信度门控:路由分布越接近均匀,它越接近 0,这条样本直接退回标准 DPO 路径。$\gamma_t$ 在 warm-up 之后从 0 平滑爬到上限,保证判决器刚上岗时只在旁边观摩。两条保险收敛到同一个原则:判决不可信时,什么都不做,比做错更好。

图注:PLC-DPO 整体框架。左栏是三类偏好对的语义(clean / flip / tie),中间是路由模块,含标准化 margin、EMA 校准与能量打分,右侧是 forward / reverse / tie 三分量损失加权混合,底部是冻结参考模型、warm-up、置信度门控等稳定组件。PLC-DPO
最微妙的地方在这里:法官和被告是同一个人。路由判决由策略自己产生,判决又要指导策略的更新。如果两者在同一步里互相影响,模型会学会自我确认(self-confirmation):先认定一批标签是干净的,按这个认定把自己往那个方向推,推完再认定一遍,错误被自己的判决越养越壮。
想想一场考试里,同一个学生既负责出标准答案,又负责给自己的卷子打分。只要两件事在同一个瞬间发生,他必然给每道题都判满分。PLC-DPO 的"五件套"就是切开这条回路的装置:参考模型冻结,等于标准答案不许在考到一半时被改;EMA 校准让证据的尺度随时间在线修正;stop-gradient 把"打分"和"作答"拆成两步;warm-up 让法官先实习,训练前期只按标准 DPO 的规矩来,路由权重从零平滑爬升,早期不可信的判决根本不让上场;confidence gate 负责拦住没把握的判决,当路由分布接近均匀、谁都不敢判时,混合系数趋近于零,方法自动退回标准 DPO。五件套单独看都是小工程手段,合起来才把"自己审判自己"的回路彻底切开 PLC-DPO。
为什么必须五件联合,而不是挑一两件?只做 stop-gradient 而不冻结参考模型,判决依据本身会在训练中漂移,等于用一把会变形的尺子量长度;只冻结参考而不做 warm-up,训练初期的随机判决会直接污染前期的学习信号,模型还没学会说话就被自己的胡话带偏;做了 warm-up 却没有置信度门控,训练中后期依然可能放进低置信判决。五件套互为前提,缺一件,"自己审判自己"的回路就有一处漏风。
机制讲完了,剩下一个必须被质疑的问题:路由权重由模型自己产生,你凭什么相信它真的在判断标签,而不是碰巧更稳?
它真的在判断标签,还是只是碰巧更稳?
论文用 57 组实验和四组"拆台"诊断来回答这个质疑。先看主结果。57 组 = 基础模型(Qwen2.5-1.5B、Qwen2.5-7B、Phi-2-2.7B)乘多套评测集乘干净与噪声数据的组合,全部以标准 DPO 为基准报告胜率,评测默认用 Skywork-Reward-V2 做裁判并抽查 Claude Sonnet 4.6 复核。

图注:每个面板是一个基础模型,每条雷达轴是一个评测集,轴值是相对 DPO 的胜率,各轴独立缩放到最外环,每条多边形对应一个方法或 PLC-DPO 的一种配置。PLC-DPO
汇总下来:PLC-DPO 的平均胜率 60.5%,第二名 rDPO 是 55.5%,领先 5 个百分点。更能说明问题的是最坏情况:PLC-DPO 的 worst-cell 是 41.2,在所有方法里排第二高,仅次于 γ-PO 的 42.5。高平均加有竞争力的最坏情况,说明它不是靠对某一种特定噪声模式过拟合赢的。连干净数据上也不掉队:21 组 UltraFeedback 实验中 PLC-DPO 拿到 60.7,最接近的 ROPO 是 59.6,其余方法都不超过 50.2。
这两个数字放在一起读才有意义。平均胜率说明它在大多数组合上赢;worst-cell 说明就算在最不利的组合里,失血也可控:41.2 意味着那一格里它只赢了 41.2% 的对局,确实低于五成,但横向一比,所有方法的最坏情况里只有 γ-PO 的 42.5 比它更好,其余方法的 worst-cell 都更差。对实践者来说,worst-cell 就是风险预算:你往往不确定自己的数据是干净还是脏,但至少知道最坏能差到哪。这正是"主动校正"相对"赌一把"的底气。
但"平均更强"还不足以证明"它在判断标签",于是有四组诊断。第一组是注入噪声压测:把标签按 5%、10%、20%、30% 的比例故意翻反,PLC-DPO 在每一档都是最强,连最难的 30% 都保持领先。第二组看向路由本身的方向性。Qwen2.5-7B 上,随着注入翻转比例从 5% 升到 30%,被路由判为 clean 的累计权重从 0.676 降到 0.495,判为 flip 的从 0.265 升到 0.470,p_tie 保持在低位。如果路由是瞎猜的,注入再多翻转,它的判断也不会跟着变;它跟着输入走了,说明它在响应真实的标签分布变化。p_tie 在压测全程保持低位,同样值得注意:硬翻转压测触发的是方向反转而不是低差距歧义,路由正确地没有把"被标反的"错判成"平局的"。两类失败在路由内部是分开的,这正对应论文开篇"噪声与歧义并存"的设定。

图注:横轴是注入翻转率。随注入率上升,被路由判为 clean 的累计权重下降、判为 flip 的上升,tie 保持低位,说明该压测触发的是方向翻转而非低差距歧义;附带的 marker AUROC 随注入率上升,它是软路由诊断指标,不是标签校正准确率。PLC-DPO
第三组诊断关于 tie 与人类的一致性。向训练数据注入平局样本,比例从 0% 提到 30%,PLC-DPO 相对基准的优势从 +8.3 点扩大到 +18.5 点;在 30% 平局的极端条件下它拿到 68.5,而概念上最接近的 RE-PO 只有 51.6。在 MultiPref 这个带真实多标注员分歧的数据集上,标注员意见一致时路由给出的 tie 权重均值是 0.0811,存在分歧时是 0.0904,多数标注员认为分不出高下时是 0.0997,单调上升。模型对"平局"的判断,和人类的真实分歧方向一致。
第四组诊断专门对付"自我确认"的指控:如果路由只是在自说自话,它的翻转判决应该和外部裁判对不上。20% 人为翻转的数据上,路由对"这条被翻过"的识别 AUROC 达到 0.731;在干净配对下,路由判 flip 的方向与独立奖励模型判定"两个回答方向不一致"的方向,一致性 AUROC 达到 0.779;换用 30% warm-up 起步时 AUROC 为 0.734,说明结果对启动配置不敏感。这里必须强调论文自己的定性:marker AUROC 是软路由诊断指标,不是标签校正的准确率,0.731 不能读成"找回了 73% 的错标" PLC-DPO。但它足以说明,路由的判断与外部裁判是吻合的,不是自己跟自己下棋。
四组诊断合起来指向同一个结论:路由在做方向性判断,而不是在猜。注入测试说明它跟着真实的翻转率走,AUROC 互校说明它的判断与外部裁判一致,tie 测试说明它对"分不出高下"的把握和人类同向,57 组矩阵的均值与最坏情况则说明这一切不是靠某组特定数据凑出来的。要让"它在判断标签"这个说法破产,需要同时推翻这四类证据,这比推翻任何一个单独的数字都难得多。
从被动过滤到主动校正:范式意义,以及到哪为止
把视角拉高,四条旧路线有一个共同姿态:被动防御。损失级方法假设噪声率已知,把损失函数改得对噪声不敏感;数据选择把可疑样本扔掉;EM 软标签把低置信样本降权。它们都没有触碰标签本身,只是让训练别被坏标签伤到。PLC-DPO 的姿态是主动校正:不假设噪声率、不扔数据、不请外部裁判,直接用策略自身的 margin 当证据,逐条给出"强化、翻转、拉平"的判决再训练。
对实践者来说,这意味着一个成本很低的升级路径:不用事先估计噪声率,不用花钱请外部裁判模型,不用丢掉任何标注,把训练循环里的损失换成带路由的版本即可。而且路由改造的只是损失混合方式,不绑定具体的奖励公式,从设计上为与 SimPO 的长度归一奖励、γ-PO 的动态间隔这样的组件组合留下了可能。
与概念最近的 RE-PO 摆在一起对照,PLC-DPO 的取舍一目了然:
两者都把"标签对不对"当成隐藏变量,但 RE-PO 在数据集层面为每个标注员维护可靠性参数、给软权重,PLC-DPO 在单条样本层面做三态路由,不建模标注员,把一切都压进 margin 这一个信号里,还多出一条显式的 tie 通路。而 DPO-RK 与 DPO-D 那一路把 tie 处理写进偏好模型本身,Rao-Kupper 与 Davidson 分布直接给平局留概率质量,PLC-DPO 则在损失层处理 tie,构成"模型级 vs 损失级"两套范式 DPO-RK。
两条后验校正路径各有适用场景。RE-PO 需要知道每条标签出自哪个标注员(或用一个虚拟标注员代表整批数据),适合标注员固定、噪声模式稳定的众包流水线;PLC-DPO 不需要任何标注元数据,只要有一堆成对偏好就能开工,适合直接拿公开偏好数据集训练的场景。前者胜在可解释的可靠性建模,后者胜在即插即用。
放在研究脉络里看,这条路的演进方向也很清楚:rDPO 用全局常量 ε 处理标签噪声,γ-PO 把 ε 换成逐样本的动态间隔,PLC-DPO 再把"调整力度"升级为"改判方向"。粒度从全局一路下沉到单条样本,动作空间从加权一路扩大到三态判决。PLC-DPO 把"后验标签校正"从软加权推进到三态路由,是这条 instance-level 演进线上的最新一站 PLC-DPO。
边界也在这里。路由的证据全部来自策略与参考模型的 margin,如果两者共享系统性的偏差,比如共同偏爱"更长的回答",margin 依然会失真,那时校正的就是一个错误的方向。路由误差、EMA 适应性、置信门控行为的理论保证,论文自承尚未给出 PLC-DPO。实验也全部集中在英文 chat 评测上。跨语言、代码生成、数学推理、安全对齐这些领域,标注噪声的结构完全不同,margin 作为证据的价值会不会打折扣,论文没有回答,这是留给后续工作的开放问题。这些都是诚实的边界标注,不是缺陷的掩盖。
回到开头那个问题:DPO 把每条偏好标签当成真理,这个前提站得住吗?PLC-DPO 的回答是站不住,但它给出了比"不要相信"更高一层的答案:把判断"该信还是该翻"的权力交给模型自己,再用五件套看住它。知道权力交给了谁,才知道它的价值与风险在哪里。而当判断权从标注者转移到策略自身,这条线索指向所有数据驱动对齐方法共同的下一问:模型开始校对自己的训练数据时,谁来校对模型?
想深入可以读原文:PLC-DPO: Posterior Label Correction in Noisy and Ambiguous Preference Optimization — arXiv:2608.30597
参考文献
- PLC-DPO: Posterior Label Correction in Noisy and Ambiguous Preference Optimization(Findings of EMNLP 2026)— https://arxiv.org/abs/2608.30597
- Direct Preference Optimization: Your Language Model is Secretly a Reward Model(NeurIPS 2023)— https://arxiv.org/abs/2305.18290
- Deep Reinforcement Learning from Human Preferences(NeurIPS 2017)— https://arxiv.org/abs/1706.03741
- Provably Robust DPO: Aligning Language Models with Noisy Feedback(ICML 2024)— https://arxiv.org/abs/2403.00409
- SimPO: Simple Preference Optimization with a Reference-Free Reward(NeurIPS 2024)— https://arxiv.org/abs/2405.14734
- Training Language Models to Follow Instructions with Human Feedback(InstructGPT, NeurIPS 2022)— https://arxiv.org/abs/2203.02155
- Robust Preference Optimization via Dynamic Target Margins (γ-PO)(ACL 2025 Findings)— https://arxiv.org/abs/2506.03690
- Less is More: Improving LLM Alignment via Preference Data Selection(BeeS, NeurIPS 2025)— https://arxiv.org/abs/2502.14560
- RE-PO: Robust Enhanced Policy Optimization as a General Framework for LLM Alignment — https://arxiv.org/abs/2509.24159
- On Extending Direct Preference Optimization to Accommodate Ties(NeurIPS 2025)— https://arxiv.org/abs/2409.17431