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

多模态偏好数据集生成与混合偏好优化(MPO)方法

本文主要看下MPO的多模态偏好数据生成方法及MPO优化方法核心思想,多模态输入的链式思维方法感兴趣看原文,供参考。

多模态偏好数据集生成

1、数据引擎

定义:每个数据样本包括一张图像 I I I、一条指令 x x x、一个被选中的响应 y c y_c yc 和一个被拒绝的响应 y r y_r yr。其中, y c y_c yc 被认为是比 y r y_r yr 更好的响应。

数据收集

  • 图像集 I \mathcal{I} I 和指令集 X \mathcal{X} X 来自现有的数据集。
  • 对于有明确答案的指令,模型被提示先提供推理过程,然后给出最终答案,格式为“Final Answer: ***”。
  • 匹配正确答案的响应构成正样本集 Y p \mathcal{Y}_p Yp,不匹配的构成负样本集 Y n \mathcal{Y}_n Yn

生成方法

  • 有明确答案的指令:通过选择正样本和负样本来构建偏好对。
  • 没有明确答案的指令:使用 Dropout Next-Token Prediction (DropoutNTP) 方法。具体来说,所有生成的响应被视为正样本,通过截断响应的后半部分来生成负样本。

效率比较:与 RLAIF-V 提出的更复杂的方法相比,DropoutNTP 方法在生成数据时更高效,成本更低。

2、多模态偏好数据集

数据统计:使用上述方法,构建了一个包含约 750K 个无明确答案的样本和 2.5M 个有明确答案的样本的数据集。

  • 无明确答案的样本中,每条指令平均 25.0 个token,被选中和被拒绝的响应分别平均 211.4 和 171.2 个token。
  • 有明确答案的样本中,指令平均长度为 79.5 个token,被选中和被拒绝的响应分别平均 300.0 和 350.5 个token。

数据来源

MPO(混合偏好优化)方法

这是文章的核心,基于多模态数据构建偏好数据集 MMPR,使模型学习不同模态信息下响应的优劣偏好。提出背景是在使用直接偏好优化(DPO)训练MLLMs时,模型可能会生成不合理的理由并产生重复的响应。这导致模型在生成长篇理由(Chain-of-Thought, CoT)时的表现不佳

为了解决这个问题,提出了MPO。目的是学习响应之间的相对偏好、单个响应的绝对质量以及生成偏好响应的过程。

训练目标:MPO结合了偏好损失 L p \mathcal{L}_{p} Lp、质量损失 L q \mathcal{L}_{q} Lq 和生成损失 L g \mathcal{L}_{g} Lg,公式如下:

L = w p L p + w q L q + w g L g \mathcal{L}=w_{p}\mathcal{L}_{p}+w_{q}\mathcal{L}_{q}+w_{g}\mathcal{L}_{g} L=wpLp+wqLq+wgLg

其中, w ∗ w_{*} w 表示每个损失组件的权重。

偏好损失:使用DPO作为偏好损失,使模型学习被选中和被拒绝响应之间的相对偏好。

其中:

  • L p \mathcal{L}_{p} Lp 是偏好损失。
  • σ \sigma σ 是sigmoid函数。
  • β \beta β 是KL惩罚系数,控制模型输出的分布与参考分布之间的差异。
  • π θ \pi_{\theta} πθ 是策略模型,表示当前正在训练的模型。
  • π 0 \pi_{0} π0 是初始模型或参考模型。
  • x x x 是用户查询或指令。
  • y c y_{c} yc 是被选中的响应。
  • y r y_{r} yr 是被拒绝的响应。

质量损失:使用BCO(Binary Classifier Optimization)作为质量损失,帮助模型理解单个响应的绝对质量(二分类器)。

生成损失:使用SFT损失,帮助模型学习生成偏好响应的过程。

实验

参考文献:Enhancing the Reasoning Ability of Multimodal Large Language Models via Mixed Preference Optimization,https://arxiv.org/pdf/2411.10442

http://www.dtcms.com/a/268052.html

相关文章:

  • 计算机网络1.1:什么是Internet?
  • 自定义指令
  • 一条 SQL 语句的内部执行流程详解(MySQL为例)
  • 进程控制中URL攻击与修复方法
  • ether0 大语言推理模型生成SMILES 的分子
  • java并发编程--可见性、原子性、有序性
  • 进程终止:exit()与_exit()深度解析
  • 模块化汽车基础设施的正面交锋---区域架构与域架构
  • 电信、移动、联通、广电跨运营商网速慢原因
  • QML与C++交互之QML端信号绑定C++端槽函数
  • uniapp实现的多种时间线模板
  • jmm,`as - if - serial` 与 `happens - before` 原则
  • Dubbo 3.x源码(31)—Dubbo消息的编码解码
  • 容声W60以光水离子科技实现食材“主动养鲜”
  • 创客匠人深度剖析:家庭教育赛道创始人 IP 打造与知识变现的破局之道
  • 【算法刷题记录(简单题)003】统计大写字母个数(java代码实现)
  • 0704-0706上海,又聚上了
  • 【MyBatis】实现数据库的增、删、改、查
  • 深度解析命令模式:将请求封装为对象的设计智慧
  • 儿童趣味记忆配对游戏
  • LeetCode 75. 颜色分类(荷兰国旗问题)
  • 一次佳能iX6780彩色喷墨打印机报5B00维修的记录
  • 【网络协议安全】任务13:ACL访问控制列表
  • 牛客周赛Round 99(Go语言)
  • 《kubernetes》k8s实战之部署PHP/JAVA网站
  • 中级统计师-经济学基础知识-第四章 国民收入核算
  • 单片机物联网应用中的 Pogopin、串口与外围模组通信技术解析
  • Java 大视界 -- Java 大数据在智能教育在线课程学习效果影响因素分析与优化设计(334)
  • Zotero中进行文献翻译【Windows11】
  • SpiceMix enables integrative single-cell spatial modeling of cell identity 文章解读