当前位置: 首页 > news >正文

利用比较预言机处理模糊的偏好数据

论文标题

ComPO:Preference Alignment via Comparison Oracles

论文地址

https://arxiv.org/pdf/2505.05465

模型地址

https://huggingface.co/ComparisonPO

作者背景

哥伦比亚大学,纽约大学,达摩院

动机

DPO算法直接利用标注好的数据来做偏好对齐,无需进行显式的奖励模型训练。然而偏好数据往往是带噪声的,因为很多情况下“偏好”是主观的,不同的标注者可能会对同一个case做出截然相反的判断;此外实践中也可能会使用诸如点击率、好评率等反馈信息作为衡量好坏的依据,同样造成了部分偏好数据的模糊性;

有研究表明,当偏好数据中的好坏示例模棱两可时,模型难以学习正确偏好,甚至可能发生负优化,具体表现为:

  • 冗长啰嗦:模型试图面面俱到以确保不犯错。
  • 似然分布偏移:原本受偏好的回答概率下降,而原本不被偏好的回答概率上升

于是作者希望对DPO方法进行优化,提高模糊数据的应对能力

本文方法

本文提出“比较预言机偏好优化”(Comparison Oracle Preference Optimization),专门处理标签不够可靠的模糊样本

一、比较预言机

在经典计算理论和优化算法领域,“Oracle(预言机)”一般泛指抽象的黑盒系统,通常具备以下特点:

  • 能够解答特定类型的问题,无需说明具体过程或细节。
  • 可以快速、高效地给出问题的答案,帮助算法做出决策。
  • Oracle的实际实现方式不固定,可能是人工决策、专家系统、或某个已知的有效算法

“比较预言机”简单来说就是一个用于比较两种回答好坏的黑盒系统,它接受一对模型回答作为输入,然后反馈哪个输入更好。在本文中作者通过调用GPT-4来实现预言机

二、零阶优化算法

在数学中:

  • 一阶信息指的是梯度(偏导数)。
  • 二阶信息指的是Hessian矩阵(即二阶导数)。
  • 零阶信息指的是函数值本身。

所以“零阶优化”就是只用函数值来进行优化的方法,它常用于目标函数不可导(比如黑盒目标)或计算代价过高的场景(比如强化学习)

零阶优化有多种具体实现方式,本文采用了“有限差分法”,通过添加微小扰动确定优化方向

∂ f ∂ x i ≈ f ( x + δ e i ) − f ( x ) δ \frac{\partial f}{\partial x_i} \approx \frac{f(x + \delta e_i) - f(x)}{\delta} xifδf(x+δei)f(x)

ComPO在训练时会对当前模型参数施加多次小幅随机扰动,通过预言机比较扰动前后模型对同一偏好对,判断哪些方向让模型更对齐人类偏好,然后据此更新参数。这个过程类似于黑箱函数的梯度估计:不断尝试参数变化并比较结果好坏,从而近似估计偏好目标的梯度方向。作者证明了,在一定光滑性和梯度稀疏性假设下,该迭代方案收敛到偏好目标的极值点是有保证的

三、性能优化

直接按上述方案优化一个数十亿参数的LLM并不现实,作者为此引入了一系列工程技巧来降低计算开销、提高训练稳定性:

  • 限制优化范围: 算法仅对模型输出层权重进行随机扰动和更新,而非调整全量参数
  • 梯度归一化与裁剪: 在根据多次随机试探得到偏好提升方向后,算法对估计的更新向量进行归一化处理,并只保留大于某阈值的方向信号,这样能使更新是保持稀疏性、包含主要信号,有助于稳定训练过程,避免因为噪声扰动导致模型参数无谓抖动。
  • 自适应步长与跳过策略: 算法动态调整每轮参数更新幅度:如果多次扰动中有相当比例的方向都被预言机判定为改进偏好,则使用较大学习步长更新;反之如果有效信号很少则跳过该轮更新,从而确保面对噪声的鲁棒性与收敛过程的稳定性

四、两阶段训练流程

考虑到并非所有偏好数据都难以学习,作者将ComPO与现有DPO方法结合,对不同难度的数据分阶段训练。具体步骤如下:

  1. 偏好数据拆分: 首先用一个参考模型对偏好数据进行评估,将数据划分为“清洁”和“有噪”两部分。划分标准是看参考模型对于每个偏好对的判断是否信心足够:如果模型对偏好对中优胜回答的预测概率明显高于劣回答(对数概率差超过阈值),则认为该偏好对是清晰明确的;反之则记为有噪的

  2. 清洁样本对齐: 对划分出的清洁偏好对,采用DPO进行训练,得到一个初步对齐的模型(记为DPO_clean)

  3. 噪声样本微调: 在第2步基础上,应用ComPO专门微调有噪声的偏好对

实验效果

测试基准:AlpacaEval 2、MT-Bench、Arena-Hard

评测方法:GPT-4 as judge,比较被测模型与参考答案哪一个更优

评测指标:胜率(WR)、长度控制胜率(LC,对输出长度归一化后再衡量模型质量,以避免模型通过啰嗦取胜)

在这里插入图片描述

实验结论:

  • 整体性能提升: 在多个模型和评测基准上,加入ComPO的模型明显优于仅用原有直接对齐方法的模型
  • 缓解冗长倾向: 应用ComPO后模型输出的Length-Controlled胜率显著提高,这表明模型不再为讨好评分而啰嗦作答
  • 减轻似然偏移问题: 通过对比训练前后的模型输出概率分布,作者发现ComPO能够显著降低不被偏好回答的生成概率,同时提升被偏好回答的概率。这与之前直接优化方法中报告的反常情况形成鲜明对比,表明ComPO在很大程度上消除了有噪声样本导致的概率质量错位现象。
  • 效率与开销: 得益于输出层微调和梯度截断等设计,ComPO方法在实际算力下是可行的。作者报告他们在30张NVIDIA A40 GPU上对9B规模模型运行ComPO算法,每轮采用约1600~1800次随机扰动采样即可取得收敛效果。此外作者还发现,如果仅使用100条噪声偏好数据运行ComPO也能观察到模型性能的提升,这表明哪怕很少量的棘手偏好反馈,经过精细对齐也足以带来显著收益

相关文章:

  • Java Spring MVC -01
  • [Java实战]Spring Boot 3 整合 Apache Shiro(二十一)
  • 多模态融合【十九】——MRFS: Mutually Reinforcing Image Fusion and Segmentation
  • GOOSE 协议中MAC配置
  • CVE-2025-31258 macOS远程视图服务沙箱逃逸漏洞PoC已公开
  • JAVA研发+前后端分离,ZKmall开源商城B2C商城如何保障系统性能?
  • 使用scp命令拷贝hadoop100中文件到其他虚拟机中
  • 深度学习之优化器【从梯度下降到自适应学习率算法】(pytorch版)
  • C语言| extern的用法作用
  • TB67S109AFTG, TB67S109AFNG是一款采用PWM斩波器的两相双极步进电机驱动器内置有时钟输入解码器。采用BiCD工艺制造
  • java刷题基础知识
  • 如何通过 Windows 图形界面找到 WSL 主目录
  • 玩转ChatGPT:DeepSeek实战(统一所在地格式)
  • EMQX v5.0通过连接器和规则同步数据
  • STM32 内存
  • 网页常见水印实现方式
  • 牛客周赛96补题 D F
  • 机器学习第八讲:向量/矩阵 → 数据表格的数学表达,如Excel表格转数字阵列
  • 数据集-目标检测系列- 杨桃 数据集 Starfruit>> DataBall
  • 深入学习Zookeeper的知识体系
  • 加拿大总理宣布新内阁名单
  • 美国明尼苏达州发生山火,过火面积超80平方公里
  • 北京今日白天超30℃晚间下冰雹,市民称“没见过这么大颗的”
  • 多家外资看好中国市场!野村建议“战术超配”,花旗上调恒指目标价
  • 中国恒大:清盘人向香港高等法院申请撤回股份转让
  • 影子调查丨三名“淘金客”殒命雪峰山:千余废弃金矿洞的监管难题