Bendi新闻
>
ACL 2024 | 多目标直接偏好优化MODPO:大语言模型的多目标对齐

ACL 2024 | 多目标直接偏好优化MODPO:大语言模型的多目标对齐

5月前


©作者 | 刘杰

单位 | 香港中文大学MMLab

研究方向 | 大语言模型、强化学习



论文链接:
https://arxiv.org/pdf/2310.03708.pdf

代码链接: 

https://github.com/ZHZisZZ/modp

TL;DR

我们提出 MODPO(多目标直接偏好优化),它以最小的代价改进 DPO(直接偏好优化),以完成多目标对齐。

  • 在实现上,MODPO 只需要在 DPO 的基础上修改 ~2 行代码,即在 DPO 损失函数的基础上额外增加一个 margin;

  • 在理论上,MODPO 可以被证明和 MORLHF(多目标强化学习)等价;

  • 在实验上,MODPO 在安全对齐和长篇回答任务中显示出远超 MORLHF 的性能效率


介绍

尽管单一语言模型可以通过 RLHF(基于人类反馈的强化学习)[1] 实现与群体平均偏好的对齐,但这样的语言模型无法满足多样化的个人偏好:每个人对于不同对齐维度(有用性,无害性,诚实性,等等)有着不同的偏重。

为了实现多目标对齐,一些同期工作依赖 MORLHF(多目标强化学习),通过对多个奖励函数的加权来表示不同人的偏好,但是 MORLHF 也继承了 RLHF 的所有缺点,例如训练不稳定以及流程的复杂性。 

▲ MODPO(多目标直接偏好优化)以最小的代价改进 DPO(直接偏好优化),以完成多目标对齐


在这次的工作中,我们提出 MODPO,致力于以最小的代价改进 DPO(直接偏好优化)[2] 以实现多目标对齐。这种方法将目标的加权组合以及语言模型的训练,折叠进奖励函数的训练过程中,用最简单的监督学习来实现语言模型的多目标对齐

在实现上,MODPO 仅仅只是在 DPO 的基础上修改了 ~2 行代码,即在 DPO 的损失函数的基础上额外增加一个 margin;在理论上,MODPO 可以被证明和 MORLHF 等价;在实验上,MODPO 在安全对齐和长篇回答中显示出远超 MORLHF 的性能和效率。


背景:从单目标对齐到多目标对齐

统的单目标对齐通过最大化偏好奖励函数 来得到一个符合大众价值观的语言模型 。具体而言,偏好奖励函数 通常蕴含在给定的偏好数据集中

其中 代表人类的提问, 代表被偏好的回答, 代表不被偏好的回答。在这个偏好奖励函数下的最优的语言模型通常满足以下目标函数:

其中 代表对齐前的模型,通常是个监督微调后的基础模型。


虽然这个最优的语言模型,完美符合大众价值观,但未必能符合多样的个人偏好;为了满足定制化需求,一个常见的做法是在训练的时候引入多个目标,例如在偏好奖励 之外,再额外引入一个奖励函数 去鼓励一些定制化的需求(例如惩罚回复中的冗余信息);在多个奖励函数的线性组合之下,语言模型的优化目标变成了如下的形式:

其中 代表一个偏好向量;不同的偏好向量会训练出不同的语言模型 ,从而实现对齐目标的定制化。


为了优化公式(3),最常见的做法使用多目标强化学习(MORLH)[3,4],但是它继承了强化学习的不稳定性以及流程的复杂性;与此同时 DPO 虽然解决了强化学习的缺点,但是 DPO 通常只能完成单目标的偏好奖励的最大化,如何将 DPO 拓展到多目标优化中并不显然;而 MODPO 的目的则是在 DPO 的基础上,做最小的改动来实现多目标的优化


MODPO(多目标直接偏好优化)

我们提出的 MODPO 的想法其实非常简单,根据 DPO 中语言模型和奖励函数的二象性,公式(3)下的最优语言模型 其实有个 closed-form 表达式:

经过一些基本的变换,我们可以把上述公式改写成:

只要我们将公式(5)代入公式(1)所代表的损失函数,并用参数化的形式来表示语言模型 ()和提前训练好的定制化奖励函数(),那么就可以得到一个针对语言模型的损失函数

与常见的 DPO 损失函数相比,MODPO 损失函数相当于在 DPO 的基础上增加了一个 margin;通过这个 margin,MODPO 将目标的加权组合和语言模型的训练同时折叠进偏好奖励函数的训练管线中,使得语言模型被人类偏好驱动的同时,也能被其他定制化目标所驱动

MODPO 管线总览:


  1. 提前训练得到定制化奖励函函数 ,其包括的范围很广,包括但不限于,
  • hugginface上已有的奖励函数模型;
  • 人类标的回答的得分(likert score);


  • 类似 DPO 中使用两个语言模型得到的奖励函数 

2. 遍历所需要的所有偏好向,对于每一个 ,优化此 下的损失函数(公式(6))来得到一系列满足不同偏好的语言模型。

MODPO 的更通用形式:


管我们在目前的叙述中,将多目标对齐问题简化成两个目标,但在多个(>2)个目标的情况下,MODPO的损失函数有个更通用的表达方式
其中 s.t. 。公式(7)将公式(6)拓展到更多目标的对齐场景中,具体细节欢迎查阅论文。


只需要改动两行代码便可以实现从DPO到MODPO拓展

从代码上来看 dpo 和 modpo 的区别可能更加清晰。


dpo loss:

https://github.com/ZHZisZZ/modpo/blob/main/src/trainer/dpo_trainer.py#L415


def dpo_loss(
    self,
    policy_chosen_logps,
    policy_rejected_logps,
    reference_chosen_logps,
    reference_rejected_logps,
)
:
    chosen_rewards   = self.beta * (policy_chosen_logps   - reference_chosen_logps)
    rejected_rewards = self.beta * (policy_rejected_logps - reference_rejected_logps)

    logits = chosen_rewards - rejected_rewards
    losses = -F.logsigmoid(logits)
    return losses, chosen_rewards.detach(), rejected_rewards.detach()


modpo loss:

https://github.com/ZHZisZZ/modpo/blob/main/src/trainer/modpo_trainer.py#L132


def modpo_loss(
    self,
    policy_chosen_logps,
    policy_rejected_logps,
    reference_chosen_logps,
    reference_rejected_logps,
    chosen_margin_reward,
    rejected_margin_reward,
)
:
    chosen_rewards   = (1/self.w[0])*(self.beta * (policy_chosen_logps   - reference_chosen_logps)   - chosen_margin_reward   @ self.w[1:])
    rejected_rewards = (1/self.w[0])*(self.beta * (policy_rejected_logps - reference_rejected_logps) - rejected_margin_reward @ self.w[1:])

    logits = chosen_rewards - rejected_rewards
    losses = -F.logsigmoid(logits)
    return losses, chosen_rewards.detach(), rejected_rewards.detach()

相比 dpo,modpo 只引入了一个 margin_reward,所以如果你对 dpo 熟悉,那么 modpo 将很容易上手。


上面代码中变量解释如下:

policy_chosen_logps: Log probabilities of the policy model for the chosen responses. Shape: (batch_size,)
policy_rejected_logps: Log probabilities of the policy model for the rejected responses. Shape: (batch_size,)
reference_chosen_logps: Log probabilities of the reference model for the chosen responses. Shape: (batch_size,)
reference_rejected_logps: Log probabilities of the reference model for the rejected responses. Shape: (batch_size,)
beta: Temperature parameter for the DPO loss, typically something in the range of 0.1 to 0.5. We ignore the reference model as beta -> 0.


实验

我们采用了安全对齐和长篇回答任务来检验 MODPO 的有效性。在安全对齐任务中,模型的目标是在模型的有用性和无害性之间取得平衡;在长篇回答任务中,给定一篇长文章和针对该文章的问题,语言模型需要阅读文章后给出答案。在这个任务中,语言模型需要在尽可能符合特定要求的同时,给出更被人类偏好的回答。对于 3 个目标的对齐实验,欢迎查阅论文附录。

对于安全对齐任务,如图 1 所示,MODPO 和 MORLHF 性能相当(但 MODPO 更高效);对于长篇回答任务,如图 2 所示,MODPO 远好于MORLHF且更高效。如表 1 所示,相比 MORLHF, MODPO 节省了 ~3 倍的 GPU 时间。

▲ 图1:不同方法在安全对齐(左)和长篇回答(右)任务上的帕累托曲线

▲ 表1:MODPO 和 MORLHF 的 GPU hours 对比


参考文献

[1] Ouyang L, Wu J, Jiang X, et al. Training language models to follow instructions with human feedback[J]. Advances in neural information processing systems, 2022, 35: 27730-27744.
[2] Rafailov R, Sharma A, Mitchell E, et al. Direct preference optimization: Your language model is secretly a reward model[J]. Advances in Neural Information Processing Systems, 2024, 36.
[3] Wu Z, Hu Y, Shi W, et al. Fine-grained human feedback gives better rewards for language model training[J]. Advances in Neural Information Processing Systems, 2024, 36.

[4] Rame A, Couairon G, Dancette C, et al. Rewarded soups: towards pareto-optimal alignment by interpolating weights fine-tuned on diverse rewards[J]. Advances in Neural Information Processing Systems, 2024, 36.



更多阅读



#投 稿 通 道#

 让你的文字被更多人看到 



如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。


总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。 


PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读,也可以是学术热点剖析科研心得竞赛经验讲解等。我们的目的只有一个,让知识真正流动起来。


📝 稿件基本要求:

• 文章确系个人原创作品,未曾在公开渠道发表,如为其他平台已发表或待发表的文章,请明确标注 

• 稿件建议以 markdown 格式撰写,文中配图以附件形式发送,要求图片清晰,无版权问题

• PaperWeekly 尊重原作者署名权,并将为每篇被采纳的原创首发稿件,提供业内具有竞争力稿酬,具体依据文章阅读量和文章质量阶梯制结算


📬 投稿通道:

• 投稿邮箱:[email protected] 

• 来稿请备注即时联系方式(微信),以便我们在稿件选用的第一时间联系作者

• 您也可以直接添加小编微信(pwbot02)快速投稿,备注:姓名-投稿


△长按添加PaperWeekly小编



🔍


现在,在「知乎」也能找到我们了

进入知乎首页搜索「PaperWeekly」

点击「关注」订阅我们的专栏吧


·
·
·



微信扫码关注该文公众号作者

来源:PaperWeekly

相关新闻

ACL 2024 | 大语言模型的安全对齐会适得其反?无需训练便能逆转安全对齐医学顶刊MedIA 2024 | 残差对齐网络(RAN):多器官的非连续性形变配准ACL 2024 | 多模态大模型能揭示图像背后的深意吗?深挖RLHF潜力,复旦语言和视觉团队创新奖励模型优化,让大模型更对齐CVPR 2024 | 通过细粒度人类反馈对齐数据,提高多模态大模型可信度ACL 2024论文盖棺定论:大语言模型≠世界模拟器,Yann LeCun:太对了​ACL 2024 | 新一代艺术媒介:探索基于大语言模型的互动戏剧字节豆包、武大提出 CAL:通过视觉相关的 token 增强多模态对齐效果大语言模型对齐的四种方法!今日arXiv最热大模型论文:大模型对齐告别微调,直接编辑表征空间即可解决NAACL 2024 | 阿里提出大语言模型对齐框架Reward Learning on Policy (RLP)ACL 2024最佳论文开奖,多模态大模型爆火出圈!WWW 2024 | 阿里等提出GraphTranslator,将图模型对齐大语言模型人类偏好就是尺!SPPO对齐技术让大语言模型左右互搏、自我博弈MICCAI 2024 | 港科大提出ViP:利用LLM的通用知识对齐医学图像分析任务ICML 2024 Spotlight | 在解码中重新对齐,让语言模型更少幻觉、更符合人类偏好复旦发布层次性奖励学习框架,增强大模型人类偏好对齐ACL 2024 Findings | 视频大语言模型能理解视频中的时序信息吗?ACL 2024 Oral|我们离真正的多模态思维链推理还有多远?今日arXiv最热NLP大模型论文:清华大学提出IFT对齐算法,打破SFT与RLHF局限性深入研讨语言模型中知识的生命周期,ACL 2024 Workshop征稿启动这个团队做了OpenAI没Open的技术,开源OpenRLHF让对齐大模型超简单彻底摒弃人工标注,AutoAlign方法基于大模型让知识图谱对齐全自动化ACL 2024 Oral | 大模型也会被忽悠?揭秘AI的信念之旅
logo
联系我们隐私协议©2024 bendi.news
Bendi新闻
Bendi.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Bendi.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。