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

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

公众号新闻


©作者 | 刘杰

单位 | 香港中文大学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」

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


·
·
·



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

戳这里提交新闻线索和高质量文章给我们。
相关阅读
2024,哪个包会是LV的断货王?​ACL 2024 | 新一代艺术媒介:探索基于大语言模型的互动戏剧深入研讨语言模型中知识的生命周期,ACL 2024 Workshop征稿启动大语言模型对齐的四种方法!今日arXiv最热NLP大模型论文:清华大学:大语言模型的常见词僻意理解能力竟不如中学生有不烦车子的自动停启功能的吗?2024 BMW X5Best CD Rates Of April 2024: Up To 5.42%NAACL 2024 | 阿里提出大语言模型对齐框架Reward Learning on Policy (RLP)全面超越DPO:陈丹琦团队提出简单偏好优化SimPO,还炼出最强8B开源模型34、长篇家庭伦理小说《嫁接 下》第十二章 异国情缘(1)大语言模型何时需要检索?UCLA提出全新自监督选择性检索策略百年无痕 2.5WWW 2024 | 阿里等提出GraphTranslator,将图模型对齐大语言模型春季观鹤:2024 科州人物 | 所罗门诺夫:大语言模型的先知ACL 2024 Findings | 视频大语言模型能理解视频中的时序信息吗?从啥也不会到DPO:大模型微调(Fine-Tuning)实践经验最全总结深圳/香港/上海内推 | 商汤研究院基础语言模型团队招聘大语言模型算法研究员2024春假伦敦邮轮行之伦敦推特热帖:大语言模型自荐能够替代的20种人类工作!快来看你是否需要转行!ACL 2024论文盖棺定论:大语言模型≠世界模拟器,Yann LeCun:太对了今日arXiv最热NLP大模型论文:NAACL24实锤语言学对大模型“负优化”,抽象语义表示+思维链有损表现[COLING 2024教程] 多模态大语言模型MLLM系列教程ACL 2024 | 大语言模型的安全对齐会适得其反?无需训练便能逆转安全对齐人类偏好就是尺!SPPO对齐技术让大语言模型左右互搏、自我博弈ICML 2024 | 大语言模型如何表征不同信念?总理难做愚人节(4/1/2024)ICML 2024 | 大语言模型预训练新前沿:最佳适配打包重塑文档处理标准大语言模型的创意"魔法":召唤隐藏的联想思维雪后 背影ICML 2024 | 大语言模型预训练新前沿:「最佳适配打包」重塑文档处理标准LLM性能最高60%提升!谷歌ICLR 2024力作:让大语言模型学会「图的语言」ICLR 2024 | 量化和增强模态偏好影响下的多模态鲁棒性百川智能王小川:大模型价格战是好事;智源发布全球首个低碳万亿语言模型Tele—FLM丨AIGC日报五光十色的多模态大模型:浅探视觉-语言大模型的关键模块设计超越思维链:大型语言模型的X链范式综述今日arXiv最热NLP大模型论文:揭露大语言模型短板,北京大学提出事件推理测试基准极长序列、极快速度:面向新一代高效大语言模型的LASP序列并行今日arXiv最热大模型论文:大模型都能怎么用?中南大学最新综述:大模型时代的自然语言处理
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。